zoukankan      html  css  js  c++  java
  • Servlet 的原理----无脑笔记

                                                                  Servlet 的原理

      最近在啃<<独门架构:Java Web开发应用详解>>.好记性不如烂笔头,更何况自己脑子也不怎么好使.做下笔记,加深印象.

    正文:

    1.所有的Servlet类必须实现Servlet接口(接口在servlet-api.jar中可以找到)

     

    2.Servlet程序的层次结构:

       Servlet1,Servlet2.....------>继承HttpServlet------>继承GenericServlet-------->实现Servlet

     

    3.让Servlet支持所有的HTTP方法:

        a.将处理HTTP协议方法的代码写在一个方法中,或是写在其中一个doXXX()方法中,然后再其他的doXXX()方法中调用(就是覆盖每一个doXXX()方法)

        b.直接覆盖HttpServlet类中的servlet方法(如果在Servlet中要支持所有的HTTP方法,建议用这种方法处理)

     

    4.init()方法在建立Servlet对象时调用,用于为Servlet做一些初始化工作,其中config参数可以读取Servlet的配置信息(web.xml)

     

    5.destroy()当一个Web应用程序被卸载或重新启动之前,destroy被调用.

     

    6.运行Servlet的三要素:Servlet类,web.xml,Servlet引擎.

     

    7.Servlet引擎流程

       (1)在接收到客户端的某个HTTP请求后,Servlet引擎获得了一个URL,并对其进行分析

       (2)在<<Tomcat安装目录>>confservlet.xml查找path为/xxx的<Context>标签(也可以在webapps目录中去找),获得doBase所指的web应用程序的目录或war包

       (3)根据上一步找到的web应用程序的具体位置,找到web.xml并读取其中内容,在获取信息后,将从URL中的信息跟web.xml中的信息进行比较,相匹配就可以获取相应的Servlet类

       (4)获取相应的类后,Servlet引擎就会动态装载这个Servlet类

       (5)在创建Servlet对象后,开始执行相应的方法.先调用init(),然后开始调用servlet()方法.在调用servlet方法时,Servlet引擎会创建两个对象,他们分别实现了HttpServletRequest(处理客户端请求)和HttpServletResponse(向客户端发送响应信息)接口

       (6)在Web应用程序被卸载或重新启动之前,Servlet引擎将卸载其中的Servlet,这是引擎将调用destroy()方法.

     

    以上就是今天的笔记,好囧!看来还要多加练习,多记笔记才行了!

  • 相关阅读:
    angularjs学习笔记—事件指令
    JS编写点击页面弹出被点击的标签名
    对数据进行排序
    springBoot集成seata
    maven打包时根据不同的环境生成不同的jar包名称
    单列模式-双重锁校验解析
    hashmap原理简述
    Linux搭建disconf(二)
    Linux搭建dubbo-admin 分布式服务监控中心
    Linux安装zookeeper
  • 原文地址:https://www.cnblogs.com/LIFE-bug/p/4103813.html
Copyright © 2011-2022 走看看