• Servlet中的请求转发RequestDispatcher接口的forword与Include的区别


    RequestDispatcher接口中具有两个方法: forward() 与 include() 均 可完成请求 的转发。区别如下:

    forword():

    使用该方法,则当前 的 Servlet 中只能进行业务处理,而不能向浏览器发送要显示的数据。因为请求还未完成,需要继续向前( forward ),当请求完成后 服务器才会开启标准 响应 输出流,向输出流中写入数据。

    该方法的响应对象,使用的是第二个资源的响应对象。即第二个资源向浏览器回送的响应数据。

    两个 Servlet 中所使用的 Response 对象为同一个 ResponseFacade 对象。

                                             

    include():

    使用该方法,在将请求向后转发时,服务器会将标准响应输出流开启。当前Servlet可以向输出流中写入数据,并且服务器还会将要转向的资源的输出流中数据合并到当前的输出流中。

    该方法的响应对象,使用的是第一个资源的响应对象,即当前Servlet 向浏览器回送的响应数据。

    ApplicationHttpResponse 是HttpServletResponse 接口的实现类 ResponseFacade 的装饰者类,其增强了ResponseFacade 类的功能。ApplicationHttpResponse底层完成的一个工作是,将当前的 OtherServlet 中的输出流中的数据合并到了 SomeServlet 的标准输出流中。

  • 相关阅读:
    flutter-常见的基础组件(一)
    flutter-dart语言初识
    从零开始配置安装Flutter开发环境
    vue路由vue-router
    css秘密花园一
    mvvm实现一个简单的vue
    js常见的设计模式一
    es6 generator函数的异步编程
    es6 async和await
    模块--random
  • 原文地址:https://www.cnblogs.com/lijie0609/p/11836413.html
Copyright © 2020-2023  润新知