7 Servlet——请求转发

引入

在上一个案例中,我们模拟了用户登录,那现在多了这样的需求:在用户登录失败后,重新跳转到登录页面,要怎么做呢?

这个时候我们就需要用到请求转发了

注意:请求转发即将用户的请求(请求对象和响应对象)从一个Servlet转发到另一个Servlet,请求和响应对象均没有改变。

注意:请求转发后,地址栏的所有信息不变,如下:

使用

  • req.getRequestDispatcher("servlet别名").forward(req, resp);//servlet别名指的是web.xml中的servlet-name的内容
  • 或者不写servlet别名,而写一个页面的相对路径
  • 写完这句代码后使用通常return结束。
req.getRequestDispatcher("Page").forward(req, resp);
return;

  

缺点

无法解决下面的问题:

  1. 如果本次请求并不能解决问题,要不带着信息跳转其它页面怎么办?
  2. 用户刷新浏览器造成重复提交数据怎么办?

解决方法:使用重定向

posted @ 2020-02-22 16:21  Scorpicat  阅读(168)  评论(0编辑  收藏  举报