Servlet 的生命周期
- 当servlet首次被访问时,调用构造方法,只调用一次(意味着只有一个servlet对象被创建)
- 紧接着调用初始化init方法,也只是初始化一次
- 根据请求方式,调用service,或者doGet或者doPost方法(请求几次就会被调用几次)
- 当应用程序停止前,调用destory方法,只调用一次
- 这些方法都是由tomcat容器来调用,这种方法称之为控制反转
- Servlet默认是在第一次访问时被加载,也可以配置服务器启动时被加载 loadOnStartup=数字 (数字代表优先级,数字小的表示优先级高)
- 也可以设置初始化参数
Servlet2.5之前的版本
webapp/WEB-INF/web.xml (部署描述符)
在这里也可以配置servlet中的所有功能,例如:
<servlet>
<!-- servlet 名字 -->
<servlet-name>old</servlet-name>
<!-- servlet 对应的 java 类-->
<servlet-class>web.OldServlet</servlet-class>
<!-- 初始化参数 -->
<init-param>
<param-name>name</param-name>
<param-value>李四</param-value>
</init-param>
<!-- 让 servlet 在启动时加载,优先级是 3 -->
<load-on-startup>3</load-on-startup>
</servlet>
<servlet-mapping>
<!-- servlet 名字, 与上面对应 -->
<servlet-name>old</servlet-name>
<!-- servlet 访问路径 -->
<url-pattern>/old</url-pattern>
</servlet-mapping>