zoukankan      html  css  js  c++  java
  • Tomcat学习笔记(二)—— 一个简单的Servlet容器

    1、简介:Servlet编程是通过javax.Servlet和javax.servlet.http这两个包的类和接口实现的,其中javax.servlet.Servlet接口至关重要,所有的Servlet必须实现该接口或者继承实现了该接口的类。
     
    2、Servlet接口有5个方法:
    public void init(ServletConfig config) throws ServletException;
    public void service(ServletRequest request, ServletResponse response) throes ServletException, IOException;
    public void destroy();
    public ServletConfig getServletConfig();
    public String getServletInfo();
     
    3、Servlet声明周期方法:init、service、destroy
    (1)init:在Servlet类已经初始化之后,init方法会被servlet容器调用。init方法只被调用一次,表示servlet已经被加载进服务中了。init方法必须在servlet可以成功接收任何请求之前成功运行完毕。servlet程序员可以通过覆盖这个方法来写仅仅需要运行一次的初始化代码,例如架子啊数据库驱动,值初始化等。在其他情况下,该方法是空的。
    (2)Servlet,servlet容器给servlet容器调用service方法,该方法接收一个ServletRequest参数和一个ServletResponse参数,Servlet Request对象用于向servlet中传递客户端的请求参数,ServletResponse对象则负责封装Servlet响应。在servlet生命周期中,service()方法会被调用多次。
    (3)Destroy,用于从服务器中移除一个servlet实例,通常使用在servlet容器正在关闭或者servlet容器需要一些空闲内存时,仅仅在所有servlet容器的service方法已经退出或者超时淘汰的时候,这个方法才被调用。在servlet容器已经调用完destroy方法之后,在同一个servlet里将不会再调用service方法,destroy方法提供了一个机会来清理任何已经被占用的资源,例如内存,文件句柄和线程,并确保任何持久化状态和servlet的内存当前状态是同步的。
     
    4、Servlet容器针对每个servlet的HTTP请求的工作过程
    (1)第一次调用servlet的时候,加载该servlet类并调用servlet的init方法(仅仅一次)
    (2)对每次请求,构造一个javax.servlet.ServletRequest实例和一个javax.servletServletResponse实例。
    (3)调用servlet的service方法,同时传递ServletRequest和ServletResponse对象。
    (4)当servlet类被关闭时,调用servlet的destroy方法并卸载srvlet类。
  • 相关阅读:
    MyEclipse:详细使用教程
    JDK安装与配置详细图文教程
    windows下python3.6版本安装pygame
    windows下如何下载并安装Python
    python的 del 函数是删对象还是删引用
    python strip()函数的用法
    python的垃圾回收机制
    python中的sort方法
    python中del函数的垃圾回收
    两个数交换
  • 原文地址:https://www.cnblogs.com/bjh1117/p/7150538.html
Copyright © 2011-2022 走看看