• [javaEE] Servlet的调用过程和生命周期


    http协议的请求头中获取到要访问的资源,查找web.xml文件找到对应的servelet

    Sevlet的生命周期

     

    Servlet在第一次被访问的时候,服务器创建出Servlet对象,创建出对象以后会直接调用init方法做初始化操作,创建出的对象会一直驻留在内存中为对这个Servlet的访问服务,每次对这个Servlet的访问都会导致service方法执行,当web应用被移除出容器时或者服务器被关闭时,随着web应用的销毁Servlet会被销毁,在销毁之前,服务器会调用Servletdestroy方法做一些善后的工作

     

    每次调用service()方法的时候,会传递进来两个参数:Request对象,Response对象

    Request对象里面包含 http请求头和实体内容

    Response对象是空的

    调用Response对象的getWriter().write()方法,往Response对象中写入内容

    服务器把Response对象中的内容组织成Http协议返回给浏览器

     

     

    Servlet的继承结构

     

    Servlet——接口定义了Servlet应该具有的基本方法

    |——GenericServlet 通用基本Servlet实现,把service方法设计为抽象方法,需要子类去实现

    |——HttpServlet实现了父类中的service方法,判断当前的请求方式,调用对应的doXXX方法,需要子类去继承并覆盖对应的doGet()或者doPost()方法

     

    Servlet的细节

     

    一个<servlet>可以对应多个<servlet-mapping>

    <url-partten>中可以使用*匹配符,由于*的引入,有可能一个路径被多个url-partten匹配,优先级:哪个最像找哪个,*.后缀 的优先级最低

    <servlet>下面可以配置<load-on-start-up>可以用来指定启动顺序

     

  • 相关阅读:
    AutoCAD DxfCode组码值说明
    AutoCAD DxfCode组码值类型
    C#类、静态类、静态变量,初始化执行顺序
    AutoCAD.NET二次开发:扩展数据之XData
    AutoCAD.NET二次开发:创建自定义菜单的两种方法比较
    AutoCAD.NET二次开发:创建自定义菜单(COM)
    AutoCAD.NET二次开发:创建自定义菜单(AcCui)
    发布ASP.NET网站时的设置
    Centos7安装Docker
    Ant Design Pro实现导出Excel
  • 原文地址:https://www.cnblogs.com/taoshihan/p/5401446.html
Copyright © 2020-2023  润新知