使用的方法 url地址
转发(服务器行为) getRequestDispatcher() 不变
重定向(客户端行为) sendRedirect() 改变
转发浏览器只做一次访问请求----重定向两次以上
转发两次不会有信息丢失----重定向两次信息会丢失(request)
转发会共享一个request和response----重定向2次请求分别生成2个不同的request和response对象
重定向实测
代码部分
浏览器地址
实际效果:直接跳转到我的login.html界面了,而且地址栏地址也变了,test先请求,得到一个302的码,然后test去找login.html
二.转发
代码部分
@WebServlet("/test")
public class No3Servlet extends HttpServlet {
@Override
protected void service
(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
//设置响应类型
resp.setContentType("text/html;charset=utf-8");
//转发
req.getRequestDispatcher("login.html").forward(req,resp);
}
}
浏览器地址
效果