当前位置: 首页 > news >正文

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正在初始化...
http://www.lryc.cn/news/216553.html

相关文章:

  • 一个使用uniapp+vue3+ts+pinia+uview-plus开发小程序的基础模板
  • Kali安装docker
  • Maven第七章:Maven工程最佳实践
  • 【深度学习】【pytorch】对卷积层置零卷积核进行真实剪枝
  • 机器人仿真-gazebo学习笔记(3)URDF和机器人模型
  • lua-resty-request库写入爬虫ip实现数据抓取
  • gitlab Activating and deactivating users
  • linux入门到精通-第五章-动态库和静态库
  • markdown 如何更改字体以及颜色等功能
  • 一次cs上线服务器的练习
  • STM32-高级定时器
  • 三季度业绩狂飙后,贝泰妮将开启集团化运营的“中场战事”?
  • 快速了解:什么是优化问题
  • Unity在Project右键点击物体之后获取到点击物体的名称
  • 【带头学C++】----- 三、指针章 ---- 3.7 数组指针
  • Ubuntu20.04安装CUDA、cuDNN、tensorflow2可行流程(症状:tensorflow2在RTX3090上运行卡住)
  • untiy打开关闭浏览器
  • 独立站优缺点解析,如何用黑科技进行缺点优化
  • 道本科技||紧跟数字化转型趋势,企业如何提高合同管理能效?
  • 框架安全-CVE 复现Apache ShiroApache Solr漏洞复现
  • 【OpenCV实现图像梯度,Canny边缘检测】
  • Spring Boot 解决跨域问题的 5种方案
  • linux 3.13版本nvme驱动阅读记录一
  • 掌握RESTful API:规范与设计详解
  • 「更新」Topaz Video AI v4.0.3中文版
  • OpenAI最新官方GPT最佳实践指南,一文讲清ChatGPT的Prompt玩法
  • 树结构及其算法-用链表来实现二叉树
  • openwrt(三):在hostapd获取已关联的STA的MAC地址
  • 为何袁世凯要把“元宵节”改为“上元节”?
  • python将图片序列保存成gif