您的位置:首页 > Web前端 > JavaScript

关于jsp和servlet中实现页面跳转的几种方式总结

2015-03-27 21:39 906 查看
转自:http://blog.csdn.net/5iasp/article/details/7318586

关于jsp和servlet中实现页面跳转的几种方式:

假设要求从test1.jsp 跳转到test2.jsp

一. jsp中跳转:

1. 使用RequestDispatcher.forward方法转发

<%

RequestDispatcher rd = getServletContext().getRequestDispatcher("/test/test2.jsp");

rd.forward(request, response);

%>

2. response.sendRedirect 重定向

<%

response.sendRedirect("test2.jsp");

%>

3. 使用forward标签

<jsp:forward page="test2.jsp"/>

4. html标记中的meta标记

<meta http-equiv="refresh" content="0; url=test2.jsp">

5. 使用response.setHeader

<%

int stayTime=0;

String URL="test2.jsp";

String content=stayTime+";URL="+URL;

response.setHeader("REFRESH",content);

%>

6. 使用response.setHeader和response.setStatus 发送重定向请求

<%

response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);

String newLocation = "test2.jsp";

response.setHeader("Location",newLocation);

%>

7. 使用javascript脚本

<script type="text/javascript">

window.location.href="test2.jsp";

</script>

二. servlet中跳转:

假设 从 servlet中跳转到test2.jsp

1. forward

ServletContext sc = getServletContext();

RequestDispatcher rd = sc.getRequestDispatcher("/test/test2.jsp"); //定向的页面

rd.forward(request, response);

public class ForwardServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

String id = request.getParameter("id");

response.setContentType("text/html; charset=gb2312");

ServletContext sc = getServletContext();

RequestDispatcher rd = sc.getRequestDispatcher("/test/test2.jsp"); //定向的页面

rd.forward(request, response);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

doGet(request, response);

}

}

2. sendRedirect

package com.yanek.test;

import java.io.IOException;

import javax.servlet.RequestDispatcher;

import javax.servlet.ServletContext;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class RedirectServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

String id = request.getParameter("id");

response.setContentType("text/html; charset=gb2312");

response.sendRedirect("test/test2.jsp");

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

doGet(request, response);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: