个人博客网站制作论文武汉百度百科
Servlet的生命周期:构造器-->init方法--> 循环[ service方法 ]-->destory方法(正常关闭Tomcat)
这种方式只有在访问的时候servlet才创建,那么如何在启动web的时候,就自动初始化,运行init方法,创建servlet对象呢??
方式一:web.xml中添加 <load-on-startup>1</load-on-startup> ( 注意:中间的数据,最小启动越早 )
方式二:如果是使用@WebServlet注解,则直接在注解中加上loadOnStartup=1 【注意:@WebServlet注解配置Servlet需修改web.xml文件 metadata-complete="false" 】
ex:@WebServlet(value={"/default"},loadOnStartup=1)
ex方式1:web.xml中添加 <load-on-startup>1</load-on-startup>
<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"version="3.0" metadata-complete="true"><servlet><servlet-name>HelloServlet</servlet-name><servlet-class>com.zhengqing._01Helloservlet.HelloServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>HelloServlet</servlet-name><url-pattern>/HelloServlet</url-pattern></servlet-mapping> </web-app>
public class HelloServlet extends HttpServlet {@Overridepublic void init() throws ServletException {System.out.println("===初始化===");}@Overrideprotected void service(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {System.out.println("===Servlet程序===");}
}
ex方式2:如果是使用@WebServlet注解,则直接在注解中加上loadOnStartup=1
<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"version="3.0" metadata-complete="false"></web-app>
@WebServlet(value={"/HelloServlet"},loadOnStartup=1)
public class HelloServlet extends HttpServlet {@Overridepublic void init() throws ServletException {System.out.println("===初始化===");}@Overrideprotected void service(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {System.out.println("===Servlet程序===");}
}