美文网首页
Servlet专题1-servlet生命周期及运行机制

Servlet专题1-servlet生命周期及运行机制

作者: Ray1983 | 来源:发表于2019-08-21 10:27 被阅读0次

前言:无论是struts1、2还是spring mvc,我们都不能绕开Servlet,我准备用一个专题来深入了解servlet和剖析servlet的运行机制。

首先我们要讲到的是servlet的生命周期,servlet生命周期是在面试中被经常问到的一个内容。所以我们经常会遇到类似的问题,现在在这里做一个标准答案。

1.被创建:执行init方法,只执行一次

  1.1Servlet什么时候被创建?

  --第一次调用的时候就会被创建;

  --可以通过配置改变被创建的时间;

2.提供服务:执行service方法,执行多次

3.被销毁:当Servlet服务器正常关闭时,执行destroy方法,只执行一次

上面遗留了一个问题,那就是Servlet的创建时间可以通过配置,网络上有很多关于创建时间的配置时关于  load-on-startup的,配置如下

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">

  <display-name>webXml</display-name>

  <welcome-file-list>

    <welcome-file>index.html</welcome-file>

  </welcome-file-list>

  <servlet>

  <servlet-name>S1</servlet-name>

  <servlet-class>com.web.servlet.S1</servlet-class>

  <load-on-startup>1</load-on-startup>

  </servlet>

<servlet-mapping>

  <servlet-name>S1</servlet-name>

  <url-pattern>/s1</url-pattern>

  </servlet-mapping>

其中的  <load-on-startup>1</load-on-startup>节点,代表的就是加载的顺序。配置了这个节点会导致项目在启动的时候就会初始化servlet。

其次还有另外一个配置也会导致项目加载的时候就会初始化servlet,那就是  <url-pattern>/s1</url-pattern>,将其改成  <url-pattern>/*</url-pattern>会导致servlet被提前加载(tomcat启动的时候)

如果有两个Servlet,一个配置了  <load-on-startup>1</load-on-startup>,另外一个配置了拦截路径规则<url-pattern>/*</url-pattern>时,先创建配置了<load-on-startup>1</load-on-startup>的节点。

相关文章

  • Servlet专题1-servlet生命周期及运行机制

    前言:无论是struts1、2还是spring mvc,我们都不能绕开Servlet,我准备用一个专题来深入了解s...

  • Servlet入门(二)

    Servlet生命周期 Servlet运行在Servlet容器中,其生命周期由容器来管理。Servlet的生命周期...

  • servlet生命周期及实现原理

    Servlet 生命周期:Servlet 加载--->实例化--->服务--->销毁。 Servlet生命周期分为...

  • Servlet 工作原理

    Servlet 生命周期 Servlet 生命周期:Servlet加载--->实例化--->服务--->销毁。 i...

  • java面试和笔试(四)

    61、servlet的生命周期 web容器加载servlet,生命周期开始。通过调用servlet的init()方...

  • 框架知识

    框架知识→ Servlet生命周期Servlet_生命周期:首先加载servlet的class,实例化servle...

  • Servlet生命周期

    Servlet 生命周期 Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循...

  • Servlet生命周期

    Servlet生命周期 Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循的...

  • J2EE--Servlet

    什么是Servlet? 如何使用Servler? Servlet生命周期 Servlet方法体系 Servlet3...

  • Servlet的生命周期

    Servlet 生命周期:Servlet 加载—->实例化—->服务—->销毁。 init():在Servlet的...

网友评论

      本文标题:Servlet专题1-servlet生命周期及运行机制

      本文链接:https://www.haomeiwen.com/subject/kxipsctx.html