简单了解Servlet中的请求转发

一.请求转发的原理

    转发即为请求处理器(ServletA)将请求交给另一个处理器处理(ServletB),再讲结果返回的过程。

二.请求转发的过程

    客户首先发送一个请求到服务器端,服务器端发现匹配的servlet,并指定它去执行,当这个servlet执行完之后,它要调用getRequestDispacther()方法,把请求转发给指定的student_list.jsp,整个流程都是在服务器端完成的,而且是在同一个请求里面完成的,因此servlet和jsp共享的是同一个request,在servlet里面放的所有东西,在student_list中都能取出来,因此,student_list能把结果getAttribute()出来,getAttribute()出来后执行完把结果返回给客户端。整个过程是一个请求,一个响应。
三.请求转发的特点

(1)浏览器地址栏没有发生变化。
(2)多个servlet程序是同一个请求
(3)多个servlet程序共享一个request对象
(4)可以转发到WEB-INF目录下

四.请求转发的方式

1、  forward:是指转发,将当前request和response对象保存,交给指定的url
处理。并没有表示页面的跳转,所以地址栏的地址不会发生改变。
2、  redirect:是指重定向,包含两次浏览器请求,浏览器根据url请求一个新的
页面,所有的业务处理都转到下一个页面,地址栏的地址会变发生改变。
3、  include:意为包含,即包含url中的内容,进一步理解为,将url中的内容
包含进当前的servlet当中来,并用当前servlet的request和respose来执行url中
的内容处理业务.所以不会发生页面的跳转,地址栏地址不会发生改变。

五.实现请求转发的方法

    请求转发通过方法forward(request,response)实现,他能将request对象转发到其他的servlet程序内,它能够共享request对象里面的资源。
具体实现方式如下:
req.getRequestDispatcher("/002").forward(request,response);
通过方法setAttribute(),可以将一个servlet程序内的资源转发到另一个servlet程序内,实现资源共享。
 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值