本文主要是介绍Servlet 设置启动时机(web.xml方式和@WebServlet方式),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、通过web.xml方式
5)Servlet的启动时机 - 默认情况下,servlet是不会随着容器的启动而被实例化的,只有当第一次给我发请求时才会被实例化那么,这种情况对于第一次请求是不公平的因此,为了提高用户体验度,提高服务器的响应速度。我们会设置Servlet的启动时机,让他随着容器的启动而被实例化 - 设置启动时机:web.xml:<load-on-startup>从0开始的正整数</load-on-startup>
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><servlet><servlet-name>Hello06</servlet-name><servlet-class>com.csdn.servlet.StartOccasionServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>Hello06</servlet-name><url-pattern>/h06</url-pattern></servlet-mapping> </web-app>
package com.csdn.servlet; import jakarta.servlet.GenericServlet; import jakarta.servlet.ServletException; import jakarta.servlet.ServletRequest; import jakarta.servlet.ServletResponse; import java.io.IOException; public class StartOccasionServlet extends GenericServlet {public StartOccasionServlet() {System.out.println("H06正在实例化...");}@Overridepublic void init() throws ServletException {System.out.println("H06正在初始化...");}@Overridepublic void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {System.out.println("H06正在服务...");}@Overridepublic void destroy() {System.out.println("H06正在销毁...");} } H06正在实例化... H06正在初始化...
2、通过@WebServlet注解的方式
5)Servlet的启动时机 - 默认情况下,servlet是不会随着容器的启动而被实例化的,只有当第一次给我发请求时才会被实例化那么,这种情况对于第一次请求是不公平的因此,为了提高用户体验度,提高服务器的响应速度。我们会设置Servlet的启动时机,让他随着容器的启动而被实例化 - 设置启动时机:web.xml:<load-on-startup>从0开始的正整数</load-on-startup>注解:@WebServlet(urlPatterns = "/h06", loadOnStartup = 1)
package com.csdn.servlet; import jakarta.servlet.GenericServlet; import jakarta.servlet.ServletException; import jakarta.servlet.ServletRequest; import jakarta.servlet.ServletResponse; import jakarta.servlet.annotation.WebServlet; import java.io.IOException; @WebServlet(urlPatterns = "/h06", loadOnStartup = 1) public class StartOccasionServlet extends GenericServlet {public StartOccasionServlet() {System.out.println("H06正在实例化...");}@Overridepublic void init() throws ServletException {System.out.println("H06正在初始化...");}@Overridepublic void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {System.out.println("H06正在服务...");}@Overridepublic void destroy() {System.out.println("H06正在销毁...");} } H06正在实例化... H06正在初始化...
这篇关于Servlet 设置启动时机(web.xml方式和@WebServlet方式)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!