Servlet 网页重定向
本文最后更新于:2024年3月18日 凌晨
Servlet 网页重定向
当文档移动到新的位置,我们需要向客户端发送这个新位置时,我们需要用到网页重定向,当然,也可能是为了负载均衡,或者只是为了简单的随机,这些情况都有可能用到网页重定向。
setStatus()和setHeader()
该方法把响应连同状态码和新的网页位置发送回浏览器,您也可以通过把 setStatus()和 setHeader()方法一起使用来达到同样的效果:
1 |
|
sendRedirect ()
1 |
|
说明:
- 服务器根据逻辑,发送一个状态码302,告诉浏览器重新去请求指定的地址,一般来说,你会把需要的参数放在转发的地址里面。
- 注意:使用request.setAttribute的内容,不能读取了,你可以用session代替,或者用include,forward代替。
RequestDispatcher
include()
- servlet
1 |
|
- jsp
1 |
|
说明
- 页面会同时包含页面1和页面2的内容,地址栏不变。
- 使用
request.setAttribute
的内容,可以正常使用。
forward()
- servlet
1 |
|
- jsp
1 |
|
说明
- 页面会是页面2的内容,地址栏不变。
- 使用
request.setAttribute
的内容,可以正常使用。
注意
-
利用
include()
方法将请求转发给其他的Servlet,被调用的Servlet对该请求作出的响应将并入原先的响应对象中,原先的Servlet还可以继续输出响应信息;而利用forward()
方法将请求转发给其他的Servlet,将由被调用的Servlet负责队请求做出响应,而原先Servlet的执行则终止。 -
include
和sendRediect
之后,后面的语句会继续执行,而return;forward
的不会。会。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!