zoukankan      html  css  js  c++  java
  • Sevlet reouestDisaatcher:的forward()kinclude的区别

    forward()与include()的区别,主要表现在标准输出流的开启时间不同

    forward()

    forward这个单词表示的意思是“向前”,说明当前的请求还未结束,需要继续“向前”,所以服务器就不会在这里打开标准输出流。所以此时写入到out中的数据是不会写入到客户端浏览器中的。
    使用forward()方法的Servlet,其标准输出流还未开启。
    对客户端的响应可定不是forward()方法的Servlet给出的

    include()

    这个单词表示的意思是“包含”,说明当前的请求已经结束,可以对客户端进行响应了。其不仅将自己的数据写入到了标准输出流,还要将其他数据包含到自己的输出流中。
    使用include()方法的Servlet,其标准输出流已经打开。
    对客户端的响应是由使用include()方法的Servlet给出的。

    结论

    在使用forward()进行请求转发时,使用forward()的Servlet不应向Response中写入数据,
    若要写入数据,则应使用include()进行转发。

  • 相关阅读:
    【概念】指针
    【c++】随机数
    组装一台计算机
    模拟打印机
    实现手机的某些功能
    作业
    static 静态内部类
    java中编译报错 ClassCastException 是什么原因,如何处理
    作业1 2
    作业2
  • 原文地址:https://www.cnblogs.com/lyhLive/p/13697143.html
Copyright © 2011-2022 走看看