zoukankan      html  css  js  c++  java
  • servlet篇 之 生命周期

    二:Servlet的生命周期

    背景知识

    servlet是单例,web项目运行期间,一个servlet只会创建一个对象[tomcat帮我们实例 ]【尽量不要在servlet中定义成员变量】。因为web项目本身就需要在多线程的环境 中运行,在这种环境下,由于servlet是单例,所以在servlet中声明的成员变量,就会有线程 安全的问题。

    1,servlet加载和实例化(创建)

    Servlet容器负责加载和实例化Servlet。当Servlet容器启动时,或者在容器检测到 需要这个Servlet来响应第一个请求时,创建Servlet实例

    2,servlet初始化

    Servlet实例化之后,容器将调用Servletinit()方法初始化这个对象。初始化的 目的是为了让Servlet对象在处理客户端请求前完成一些初始化的工作,如建 数据库的连 接,获取配置信息等

    3,servlet请求处理服务

    servlet容器调用Servletservice()方法对请求进行处理。要注意的是,在service() 方法调用之前,init()方法必须成功执行。

    4,servlet销毁

    servlet对象被销毁的时候,tomcat服务器会调用servlet里面的destory方法

     

     

    Servlet接口中的方法(共有五个方法)
        //初始化servlet对象的时候被调用
        void     init(ServletConfig config)

        //销毁servlet对象的时候被调用
        void     destroy()

        //访问servlet对象的时候被调用
        void     service(ServletRequest req, ServletResponse res)
        
        //返回servlet相关信息,比如作者、版本、版权等
        //父类中(GenericServlet)默认返回一个空字符串 ""
        //如果需要的话,【程序员可以自己重写】这个方法
        String     getServletInfo()

        //返回ServletConfig对象
        ServletConfig     getServletConfig()

  • 相关阅读:
    flash 的计数器
    如何使用ActionScript来检测用户的语言及屏幕分辨率
    自己整理的MVC框架
    nginx系列(转发代理)
    nginx系列(nginx启动、关闭控制 windows)
    用户体验收录(将样式表放于页面的底部好不好)
    用户体验收录(从下拉菜单设计细节看Amazon对用户体验的把握)(转)
    .NET 4.5 异步IO
    visual studio 2012 update 2中的新功能
    ASP.NET Web API教程(四) 分页查询
  • 原文地址:https://www.cnblogs.com/wskb/p/10704982.html
Copyright © 2011-2022 走看看