首页 > 代码库 > Servlet转发和重定向的区别

Servlet转发和重定向的区别

附上视频教学的一张图:

区别:

1.转发产生一次请求,一次响应; 重定向产生2次请求 两次响应

2.转发客户端不可见的; 重定向客户端是可以察觉的。

3.转发时候url不变; 重定向URL会改变

 

案例:A与B两个Servlet的转发与重定向

转发:getRequestDispatcher();

ServletContext context= getServletContext();

RequestDispatcher dis = context.getRequestDispathcer("/b");// /代表当前工程

dis.forward(request, response);

 

重定向:

response.setStatus(302);

response.setHeader("Location", "/testServlet/b");//必须要添加/testServlet,因为是客户端访问的,所以属于服务器外部,必须含有工程路径

 

注:我是初学者,发表博客只是学习笔记,欢迎探讨指教,希望可以结实良师益友。