servlet体系和生命周期

1、servlet的体系结构:
    Servlet:接口
        |
    GenericServlet:抽象类
        |
    HttpServlet:抽象类
        |
    自定义servlet
     
    servlet常用方法:
        void init(ServletConfig config):初始化,在每一次创建对象的时候回运行一次
        void service(ServletRequest request,ServletResponse response):服务 处理业务逻辑,底层是根据请求方式调用doGet或者doPost方法
        void destroy():销毁,在服务器正常退出或者该对象被移除时运行
 
        ServletConfig getServletConfig() :获取当前servlet的配置对象
 
    GenericServlet常用方法:   
        除了service方法没有显示,其他都实现了
        空参的Init() 若我们自己想对servlet进行初始化操作,重写这个init()方法即可
 
    HttpServlet常用方法:
        service做了实现,把参数强转,调用了重载的service方法
            重载的service方法获取请求的方式,根据请求方式的不同调用相应doXxx()方法
        doGet和doPost方法
2、servlet生命周期 ★★★
    void init(ServletConfig config):初始化
     * 初始化方法
     * 执行者:服务器
     * 执行次数:一次
     * 执行时机:默认第一次访问的时候
 
1 @Override//通过初始化方法添加全局参数
2      public void init() throws ServletException {
3           ServletContext sContext = getServletContext();
4           sContext.setAttribute("count", 0);
5      }

 

    void service(ServletRequest request,ServletResponse response):服务 处理业务逻辑
     * 服务
     * 执行者:服务器
     * 执行次数:请求一次执行一次
     * 执行时机:请求来的时候
    void destroy():销毁
     * 销毁
     * 执行者:服务器
     * 执行次数:只执行一次
     * 执行时机:当servlet被移除的时候或者服务器正常关闭的时候
 
     serlvet是单实例多线程
     默认第一次访问的时候,服务器创建servlet,并调用init实现初始化操作.并调用一次service方法
     每当请求来的时候,服务器创建一个线程,调用service方法执行自己的业务逻辑
     当serlvet被移除的时候服务器正常关闭的时候,服务器调用servlet的destroy方法实现销毁操作.
posted @ 2017-09-06 21:56  赵安之  阅读(152)  评论(0编辑  收藏  举报