zoukankan      html  css  js  c++  java
  • tomcat源码阅读_代码篇12

    valve的invoke方法:

    void invoke(Request request,
                Response response)
                throws java.io.IOException,
                       javax.servlet.ServletException

    阀门通过该方法来处理请求,可以有如下顺序执行:

  • 检查或者修改特定的Request和Response的属性
  • 检查Request的属性,并产生相应的Response,并返回其控制权给调用者。
  • 检查Request和Response的属性,将其包装到相应对象中,并传递他们。
  • 如果没有产生抑制的Response对象,调用管道中的下一个阀门,getNext().invoke()
  • 检查但是不修改Response的属性。
  • 阀门不能做如下事情:

  • Change request properties that have already been used to direct the flow of processing control for this request (for instance, trying to change the virtual host to which a Request should be sent from a pipeline attached to a Host or Context in the standard implementation).
  • Create a completed Response AND pass this Request and Response on to the next Valve in the pipeline.
  • Consume bytes from the input stream associated with the Request, unless it is completely generating the response, or wrapping the request before passing it on.
  • Modify the HTTP headers included with the Response after the getNext().invoke() method has returned.
  • Perform any actions on the output stream associated with the specified Response after the getNext().invoke() method has returned
查看全文
  • 相关阅读:
    Activiti 开发案例之动态指派任务
    SpringBoot开发案例之打造十万博文Web篇
    「玩转Python」打造十万博文爬虫篇
    SpringBoot开发案例Nacos配置管理中心
    「玩转Python」突破封锁继续爬取百万妹子图
    SpringBoot开发案例之分布式集群共享Session
    「玩转树莓派」树莓派 3B+ 配置无线WiFi
    「玩转树莓派」搭建智能家居远程监控系统
    「玩转树莓派」搭建属于自己的云盘服务
    「玩转树莓派」为女朋友打造一款智能语音闹钟
  • 原文地址:https://www.cnblogs.com/macula7/p/1960469.html
  • Copyright © 2011-2022 走看看