Servlet生命周期和ServletConfig

来源:互联网 发布:金蝶k3数据引出无反应 编辑:程序博客网 时间:2024/06/07 13:45


一.servlet运行生命周期:

@1:servlet 程序是由web服务器调用 web服务器收到客户端的servlet访问请求后
web服务器首先检查是否已经装载并创建了servlet的实例的对象如果是直接执行@3

@2:否则装载并创建servlet的一个实例对象调用servlet的实例对象的init方法

@4:创建一个封装Http请求消息的HttpservletRequest对象和一个代表Http响应的HttpServletresPonse对象
然后调用servlet的service的方法并将请求和响应作为参数传递进去

@5:web应用程序被停止或重新启动之前servlet引擎将卸载servlet并在卸载之前调用servlet的的destory方法

以下会调用servlet的的story方法
tomcat重新启动
reload该webapp 重新启动电脑

二:servlet的配置信息

 <servlet>
    <servlet-name>df</servlet-name>
    <servlet-class>df</servlet-class>
    <!-- 局部的只管当前的servlet的信息 -->
    <init-param>
    <param-name>s</param-name>
    <param-value>d</param-value>
    </init-param>
    <init-param>
    <param-name>s</param-name>
    <param-value>sd</param-value>
    </init-param>
 <!-- 服务器启动的时候创建servlet而不是访问的时候创建-->
    <load-on-startup>0</load-on-startup>
  </servlet>
 
  <servlet-mapping>
    <servlet-name>df</servlet-name>
    <url-pattern>/servlet/df</url-pattern>
  </servlet-mapping>

<!--这个和init相同但是管理的是全部-->
 <context-param>
  <param-name>w</param-name>
  <param-value>d</param-value>
  </context-param>

三:读取<init-parm></inti-parm>下的配置信息
 Enumeration<String> names = this.getServletContext().getInitParameterNames();
  while(names.hasMoreElements())
  {
   String name = names.nextElement();
   System.out.println(name);
   System.out.println(this.getServletConfig().getInitParameter(name));
  }
servletConfig对象的介绍当servlet配置了初始化参数后web容器创建实例对象时会自动将这些初始化参数封装到servletConfig对象中。
并在调用servlet的init方法的时候将servletConfig对象传递给servlet进而程序通过servletConfig对象就可以得到servlet的初始化参数信息