Servlet——RequestDispatcher笔记

RequestDispatcher 代表的是请求的派发者。

有2个动作:forward 和 include 。客户端对于任何一个请求,可以根据业务逻辑,选择不同的处理办法:
1、请求的是谁,谁就自己处理并响应,当请求的是一个html页面,则web浏览器显示HTML的内容。
2、使用RequestDispatcher可以让其它的资源参与进来,协同完成的响应,这是RequestDispatcher的主要作用。

RequestDispatcher 的特点,就是浏览器上显示的URL是最先请求的目标资源的URL,不会因为使用forward、include方法改变。因此forward和include的调用对于用户来说是透明的

RequestDispatcher 实质是一个接口

有两个方法,也就是两个动作

public interface RequestDispatcher
{
    public void forward(ServletRequest request, ServletResponse response)
            throws ServletException, IOException;

    public void include(ServletRequest request, ServletResponse response)
            throws ServletException, IOException;
}

一,RequestDispatcher.forward(request, response)这个方法将请求从一个 Servlet 或者 JSP目标资源上转发到服务器上的另一个资源(servlet,JSP文件或 HTML文件,资源必须是当前Web上下文中的),并让其它的资源去生成响应数据。
例如当用户请求的是目标资源A,A接受到请求后,转发到B,真正产生响应数据是被转发的资源B,而A只是起个引导转发作用。浏览器的地址栏不会变,依然是A的URL。
二,RequestDispatcher.include(request, response)调用者指定一个被包含的资源,将这个包含的资源(JSP,Servlet,HTML)的响应数据包含到自己的响应体中。被包含的数据是在服务器上经过运行产生的,因此是动态包含,而不同于JSP中的include指令,它是JSP转译期的静态包含

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值