• servlet容器开发要点


    1. v1 是一个http服务器.
    2. v2 是一个servlet容器, 可以提供servlet的服务.   =>  动态load servlet字节码,并运行它( 按生命周期).  
    3. servlet容器它来控制servlet的生命周期. 
    4. Servlet类必须要实现一个接口  Servlet , 提供所有的Servlet都要有的方法( 生命周期)
    5. 对于要处理的资源有两种: 静态资源/动态资源.    定义一个接口,写两个实现.                                     

            动态资源:     http://localhost:8888/servlet/hello

            GET  /servlet/hello HTTP/1.1

            静态资源:     http://localhost:8888/index.html

                 GET /index.html HTTP/1.1

    =>   将这种处理定义成一个接口  Processor  (  process() )  ->   StaticProcessor

                                             ->   DynamicProcessor

    Servlet运行;

     第一次访问: 构造方法 ->  init()  ->  service()  ->   doGet()/doPost()

     第二次访问:                    ->  service()  ->   doGet()/doPost()

    get

    http://localhost:8080/servlet/Hi?name=zy&age=20

    GET /servlet/Hi?name=zy&age=20

    功能:

    1. 等待http请求, 接收请求,做一些解析  ->   uri  ( 静态资源/动态资源)

    2. 解析http请求, 构造成一个  HttpServletRequest对象, HttpServletResponse对象.

    3. 判断请求的资源的类型静态的资源/动态的资源  , 静态的资源  ->   StaticProcessor类

                                                   动态资源    ->   DynamicProcessor类,    必须要有  Request和Response对象

    4. 动态加载Servlet的字节码,并调用service()  ->  判断请求的方法, 调用对应的  Servlet中的doGet()/doPost()

    由以下的类和接口组成:

    HttpServer  

    ServerService

    ServletRequest接口  ->   HttpServletRequest类

    ServletResponse接口  ->   HttpServletResponse类

    Processor接口 ( process( Request, Response) ) ->    静态资源   :   StaticProcessor类

                        动态资源   :   DynamicProcessor类

    Servlet接口:  定义生命周期方法

    TomcatConstants类: 

     

  • 相关阅读:
    python基础之列表解析
    初学者学习python2还是python3?
    给曾经是phper的程序员推荐个学习网站
    详解python2 和 python3的区别
    Python如何进行中文注释
    import方法引入模块详解
    详解python 局部变量与全局变量
    131-19. 删除链表的倒数第N个节点
    65.django中关于跨域访问设置
    130-283. 移动零
  • 原文地址:https://www.cnblogs.com/yaobolove/p/4979476.html
Copyright © 2020-2023  润新知