Servlet 设置启动时机(web.xml方式和@WebServlet方式)

1、通过web.xml方式

java 复制代码
5)Servlet的启动时机
- 默认情况下,servlet是不会随着容器的启动而被实例化的,只有当第一次给我发请求时才会被实例化
  那么,这种情况对于第一次请求是不公平的
  因此,为了提高用户体验度,提高服务器的响应速度。我们会设置Servlet的启动时机,让他随着容器的启动而被实例化
- 设置启动时机:
  web.xml:<load-on-startup>从0开始的正整数</load-on-startup>
XML 复制代码
<?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>
java 复制代码
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正在实例化...");
    }
    @Override
    public void init() throws ServletException {
        System.out.println("H06正在初始化...");
    }
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("H06正在服务...");
    }
    @Override
    public void destroy() {
        System.out.println("H06正在销毁...");
    }
}
H06正在实例化...
H06正在初始化...

2、通过@WebServlet注解的方式

java 复制代码
5)Servlet的启动时机
- 默认情况下,servlet是不会随着容器的启动而被实例化的,只有当第一次给我发请求时才会被实例化
  那么,这种情况对于第一次请求是不公平的
  因此,为了提高用户体验度,提高服务器的响应速度。我们会设置Servlet的启动时机,让他随着容器的启动而被实例化
- 设置启动时机:
  web.xml:<load-on-startup>从0开始的正整数</load-on-startup>
  注解:@WebServlet(urlPatterns = "/h06", loadOnStartup = 1)
java 复制代码
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正在实例化...");
    }
    @Override
    public void init() throws ServletException {
        System.out.println("H06正在初始化...");
    }
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("H06正在服务...");
    }
    @Override
    public void destroy() {
        System.out.println("H06正在销毁...");
    }
}
H06正在实例化...
H06正在初始化...
相关推荐
寻爱的希斯克利夫2 小时前
tomcat 配置jenkins_home 目录
servlet·tomcat·jenkins
wxin_VXbishe2 天前
springboot瑜伽课约课小程序-计算机毕业设计源码87936
java·c++·spring boot·python·spring·servlet·php
嘤嘤奶嘴酱2 天前
dedecms(四种webshell姿势)aspcms webshell漏洞复现
数据库·servlet
weixin_443290693 天前
10- 【JavaWeb】Tomcat、Servlet基础
java·servlet·tomcat
不修×蝙蝠3 天前
后端入门 (JQuery基础) 01
笔记·后端·servlet·html·jquery
VaporGas3 天前
Servlet入门学习笔记-Servlet技术
笔记·学习·servlet
Flying_Fish_roe4 天前
测试-Gatling 与性能测试
servlet
Amagi.5 天前
对比介绍Java Servlet API (javax.servlet)和Apache HttpClient这两个库
java·servlet·apache
测试界吖吖5 天前
使用Jenkins扩展钉钉消息通知
自动化测试·软件测试·功能测试·程序人生·servlet·jenkins·钉钉
烟雨国度5 天前
HTTP 请求处理的完整流程到Servlet流程图
http·servlet·流程图