JSP response页面跳转总结

1、通过response.sendRedirect方法跳转

<%response.sendRedirect("login.jsp"); %>  

1. sendRedirect是重定向操作,在客户机浏览器上将会得到跳转的地址,并重新发送请求链接。进行重定向后,request中的属性全部失效,并开始一个新的request对象。

2. 在JSP页面中使用该方法时,不要再用JSP脚本代码包括return语句,因为重定向之后的代码已经没有意义。

3. 用户在地址栏上面看到是跳转之后的页面地址

2.  通过RequestDispatcher.forward方法跳转

RequestDispatcher rd = request.getRequestDispatcher("login.jsp");
rd.forward(request,response);

1. RequestDispatcher 属于内部跳转,在执行当前文件的过程中转向执行目标文件,两个文件(当前文件和目标文件)属于同一次请求,最本质的特点就是两次请求共享了reques对象和response对象。

2. 用户在浏览器上面看到的是当前文件的地址,不是跳转后的那个文件的地址。

3. JSP网页定时跳转

<% response.setHeader("refresh", "5;URL=login.jsp");%>  

5秒后自动跳转到login.jsp页面

4. JSP页面刷新

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

1. 它的底层部分是由RequestDispatcher来实现的,它不能改变浏览器地址,刷新的话会导致重复提交。
2. 如果在之前有很多输出,前面的输出已使缓冲区满,将自动输出到客户端,那么该语句将不起作用,这一点应该特别注意。 

5. JSP页面重定向

<% 
 response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY); 
 String newLocn = "login.jsp"; 
 response.setHeader("Location",newLocn); 
%>

通过设置直接修改地址栏来实现页面的重定向跳转。

版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。