servlet请求转发

请求转发:
问题:
服务器在接收到浏览器的请求后,仅仅使用一个 Servlet进行请求处理,会造成不同的Servlet逻辑代码 冗余,Servlet的职责不明确。 解决:
使用请求转发。
特点:
一次请求
地址栏信息不改变。

Request 对象作用域
问题:使用请求转发后,不同的 Servlet 之间怎么进行数据的共享
呢?或者说数据怎么从一个 servlet 流转给另外一个 Servlet 呢?
解决:使用 request 对象的作用域
使用:
request.setAttribute(objectname,Objectvalue);
request.getAttribute(Objectobj)

servlet调用的情况有两种: 

1、直接通过浏览器访问请求地址调用。

2、通过web容器内部数据流转来进行调用。

其中用setAttribute方法,只在内部流转才会出现,在直接访问时,不会获取到相应的数据。


作用:解决了一次请求内的不同 Servlet 的数据(请求数据+其他数
据)共享问题。

请求转发什么时候可以用?

当程序内的表单数据可以重复提交和处理。若数据不可多次重复进行处理,则不可使用请求转发。

原文地址:https://www.cnblogs.com/fjwjw/p/10115073.html