一:response
1.response重定向:
指的是客户端跳转,即一次请求一次跳转,其特点为客户端地址栏发生改变

跳转方式:
1)
2)//1 设置状态码302重定向
response.setStatus(302);
//2 设置响应头Location
response.setHeader("Location", "/WEB14/servlet2");
//次方式由方法1封装而成
//response.sendRedirect("/项目名/指定的Servlet");
3)
//定时刷新:3秒后跳转到指定页面
response.setHeader("refresh", "3;url=/WEB14/servlet2");
二:Request
1.request服务器内部转发:转发发生在request域的生命周期内,

转发格式:
获得请求转发器----
path是转发的地址RequestDispatcher
getRequestDispatcher(Stringpath)通过转发器对象转发
requestDispathcer.forward
(ServletRequestrequest,ServletResponseresponse)
范例:
request.getRequestDispatcher("/login.jsp").forward(request, response);
三:二者区别
1)重定向两次请求,转发一次请求
2)重定向地址栏的地址变化,转发地址不变
3)重新定向可以访问外部网站 转发只能访问内部资源
4)转发的性能要优于重定向
本文详细探讨了HTTP响应的重定向机制,包括设置状态码为302和利用Location响应头的方法,以及定时刷新实现的跳转。同时,解释了请求的服务器内部转发,它发生在request域生命周期内,通过RequestDispatcher进行。两者主要区别在于重定向导致客户端地址栏改变,而转发则保持原始请求地址不变。

2494

被折叠的 条评论
为什么被折叠?



