servlet请求转发的区别

【转】

JavaWeb 重定向与请求转发的区别和执行流程(图解分析)

https://blog.csdn.net/u010452388/article/details/80398929?spm=1001.2014.3001.5501 

JavaWeb——请求转发与请求重定向

https://blog.csdn.net/weixin_43490440/article/details/100920817

 

请求转发概念:

       浏览器的请求发送给组件1,组件1经过一些处理之后,将request和response对象“传递”给组件2,由组件2继续处理,然后输出响应(当然,也可以继续向其他组件“传递”),这个传递的过程称之为“转发”。

   

 

请求转发实际意义:

     一个servlet负责一个功能,比如一个servlet只是负责登陆界面的展示 ,另一个负责登陆状态的判断,则登陆状态判断为 否,则就要回到登陆界面,即需要转发会负责登陆界面展示的servlet  。

        req.getRequestDispatcher("servlet别名").forward(req.resp);

 

     作用: 实现了多个servlet联动操作的处理请求 避免了代码冗余  让servlet职责更明确。

     比如:去公安局盖章 ,业务员拿走,分别让干事、领导盖章,  干事 领导就分别为一个servlet, 这样每个人权责明确  ,每个人可 以请求转发 

 

         特点:一个请求  浏览器的地址栏信息不变 就是在浏览器看来 处理他的还是第一个servlet

         注意:请求转发后 如果下边还写了代码 还会执行 但是没有意义 一般直接return即可

        基本使用方法:

  1、servlet请求转发到另一个servlet,并传递数据 ,一般需要以下3个步骤

(1)、通过request.setAttribute("key",value)给request加信息。

(2)、通过request.getRequestDispather(目标servlet).forward(request,response) 转发到另一个servlet.

(3)、在另一个servlet中通过request.getAttribute("key")来获取附加信息的值。

 

请求转发实例

 

①:A对B说,帮忙拿下快递
②:第二步,B没有空,直接找让C帮A拿下快递
③:C拿到了快递并返回给A

请求转发-流程图、代码、结果

1.流程图

2.1代码BoyServlet

 

 

2.2代码GirlServlet

 

 

2.3web.xml文件

 

posted @ 2021-09-03 15:34  coulee  阅读(104)  评论(0编辑  收藏  举报