zoukankan      html  css  js  c++  java
  • Servlet工作流程

    1.加载Servlet类

    类加载器负责加载servlet类。 当Web容器接收到servlet的第一个请求时,将加载servlet类。

    2.创建Servlet实例

    Web容器在加载servlet类之后创建一个servlet的实例。servlet实例在servlet生命周期中只创建一次。

    3.调用init方法

    Web容器在创建servlet实例后调用init方法一次。 init方法用于初始化servlet。 它是javax.servlet.Servlet接口的生命周期方法。

    4.调用service方法

    每当接收到servlet的请求时,Web容器都会调用service方法。如果servlet未初始化,则遵循上述前三个步骤,然后调用service方法。 如果servlet被初始化,它调用service方法。 请注意,servlet仅初始化一次。

    5.调用destroy方法

    从服务中删除servlet实例之前,Web容器调用destroy方法。它使servlet有机会清理所有资源,例如内存,线程等。

    服务器检查servlet是否为第一次被请求?
    
    如果是第一次被请求,则 - 
    •加载servlet类。
    •实例化servlet类。
    •调用init方法传递ServletConfig对象
    
    如果不是第一次被请求,则 - 
    •调用service方法传递请求和响应对象
    
    Web容器在需要删除servlet时调用destroy方法,例如:在停止服务器或取消部署项目时。
    
    Web容器如何处理servlet请求?
    
    Web容器负责处理请求。下面来看看看它如何处理请求。
    •将请求与web.xml文件中的servlet进行映射。
    •为请求创建请求和响应对象
    •调用线程上的service方法
    •公共service方法内部调用受保护的service方法
    •受保护的service方法根据请求的类型调用doGet方法。
    •doGet方法生成响应,并将其传递给客户端。
    •发送响应后,Web容器将删除请求和响应对象。线程包含在线程池中或删除取决于服务器实现

    公共service方法将ServletRequest对象转换为HttpServletRequest类型和ServletResponse对象转为HttpServletResponse类型。然后调用传递这些对象的service方法。

    受保护的service方法检查请求的类型,如果请求类型为get,则调用doGet方法,如果请求类型为post,则调用doPost方法
    protected void service(HttpServletRequest req, HttpServletResponse resp)  
            throws ServletException, IOException  
    {  
        String method = req.getMethod();  
        if(method.equals("GET"))  
        {  
            long lastModified = getLastModified(req);  
            if(lastModified == -1L)  
            {  
                doGet(req, resp);  
            }   
            ....  
            //rest of the code  
        }  
    }

    打war包

    jar -cvf projectname.war *
    

      

    这里,-c用于创建文件-v生成详细输出,-f用于指定war文件名。

    *(星号)符号表示此目录的所有文件(包括子目录)。

  • 相关阅读:
    VC++技术内幕(三)
    DataTable的Select方法
    <转载>电话号码正则表达式
    <转载>运行命令(CMD)大全
    各种CSS bug与技巧
    网页设计标准尺寸
    CSS实用技巧及常见问题
    超级实用且不花哨的js代码
    广告JS代码效果大全
    js小技巧收集
  • 原文地址:https://www.cnblogs.com/tanlei-sxs/p/10019937.html
Copyright © 2011-2022 走看看