Servlet中重定向和转发的区别

1、重定向

由浏览器进行页面跳转

响应方法:

resp.sendRedirect("跳转地址");
在这里插入图片描述
若重定向中的请求域request1里面携带有值,即通过setAttribute()方法添加键值,在通过重定向时,浏览器得到服务器响应后会重新向服务器进行request2请求,这时request1携带的键值并没有跟着request2来,就导致键值丢失。

2、请求转发

由服务器进行页面跳转

响应方法:

RequestDispatcher requestDispatcher = getServletContext().getRequestDispatcher("跳转地址");
requestDispatcher.forward(req,resp);
在这里插入图片描述
在请求转发时,request只有一个,因此如果使用setAttribute()添加键值,请求会讲这个键值响应给新的页面,键值不会丢失。

借鉴博客 localhost-9527

posted @ 2022-03-24 18:21  littleZhao  阅读(57)  评论(0)    收藏  举报