JSP中页面跳转 sendRedirect VS forward
2010-11-04 11:20
411 查看
response:
有关于对客户端请求之响应,可以利用它来设定一些要响应的讯息,例如标题信息、响应状态码等.
request:
有关于客户端请求的信息,都可以由它来取得,例如请求标头、请求方法、请求参数、使用者IP等等信息。
response:
属于重定向请求;
其地址栏的URL会改变;
会向服务器发送两次请求;
sendRedirect用法:
response.sendRedirect("跳转页面路径或需要执行的操作路径");
不保持request中设置属性,也就是说会产生一个新的request。跳转到得页面刷新仍然是当前页面。
sendRedirect用法:
response.sendRedirect("hello.jsp") 是在响应后转向
request:
属于请求转发;
其地址栏的URL不会改变;
向服务器发送一次请求;
forward用法:
RequestDispatcher view = request.getRequestDispatcher("跳转页面路径或需要执行的操作路径");
view.forward(request, response);
也可以写成:
request.getRequestDispatcher("跳转页面路径或需要执行的操作路径").forward(request, response);
保持request中设置的属性,跳转页面后刷新会重新执行操作。
例如:
index.html ->(submit 数据) -> http://......../submit.do
submit.do 对应的 Servlet 为 submit.java. 其中包含下列片段的两种情况:
1. response.sendRedirect("hello.html") . 浏览器会指向hello.html,并且地址栏是http://...../hello.html
2. RequestDispatcher view = request.getRequestDispatcher("hello.html");
view.forward(request, response);
浏览器会指向hello.html, 但是地址栏仍然是http://...../submit.do
forward用法:
RequestDispatcher rd = request.getRequestDispatcher(URL);
request.setAttribute("str",str);
rd.forward(request,response);
是响应前转向,可以把参数带过去,你也可以在这里设置request.setAttribute("str",str);
相关文章推荐
- 【学习摘记】马士兵Servlet&JSP_课时24_forward_sendredirect——原页面跳转 vs 新页面跳转
- JSP中三种页面跳转方式(jsp:forward、response.sendRedirect、response.setHeader)
- jsp中页面之间的跳转forward与sendRedirect的区别
- JSP页面跳转之sendRedirect()与forward()辨析
- jsp中页面之间的跳转forward与sendRedirect的区别
- jsp中页面之间的跳转forward与sendRedirect的区别
- jsp中页面之间的跳转forward与sendRedirect的区别
- 关于Servlet里用sendRedirect 或 forward 来跳转到其它页面
- forward、sendRedirect及Jsp和Servlet之间的跳转
- jsp中页面跳转request.sendRedirect和request.getRequestDispatcher
- jsp中<jsp:forward page=""/>和response.sendRedirect("")两种跳转的区别
- 用sendredirect还是forward?页面跳转
- jsp中<jsp:forward page=""/>和response.sendRedirect("")两种跳转的区别
- Servlet JSP 之间的跳转 response.sendRedirect()和RequestDispatcher().forward的比较
- JSP两种页面转换forward()和sendRedirect()
- <jsp:forward>和response.sendRedirect()两种跳转的区别
- forward、sendRedirect及Jsp和Servlet之间的跳转
- <jsp:forward page="hello.htm" />与response.sendRedirect("hello.htm")跳转
- forward、sendRedirect及Jsp和Servlet之间的跳转
- JSP中页面跳转response.sendRedirect()和request.getRequestDispatcher()的区别