TomcatServlet -2024/10/15

news/2024/10/15 22:44:55

idea中Maven部署Web项目

基本架构

pom.xml配置文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.stdu</groupId><artifactId>web-demo</artifactId><version>1.0-SNAPSHOT</version>
<!--    默认打包为war包--><packaging>war</packaging><dependencies><dependency>
<!--            导入Servlet API--><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency></dependencies><properties><maven.compiler.source>22</maven.compiler.source><maven.compiler.target>22</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><build><plugins>
<!--            tomcat 插件--><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version><configuration><port>80</port><path>/</path></configuration></plugin></plugins></build></project>

Servlet生命周期

  • 生命周期: 对象的生命周期指一个对象从被创建到被销毁的整个过程。

  • Servlet运行在Servlet容器(web服务器)中,其生命周期由容器来管理,分为4个阶段:

    1. 加载和实例化:默认情况下,当Servlet第一次被访问时,由容器创建Servlet对象
    默认情况,Servlet会在第一次访问被容器创建,但是如果创建Servlet比较耗时的话,那么第一个访问的人等待的时间就比较长,用户的体验就比较差,那么我们能不能把Servlet的创建放到服务器启动的时候来创建,具体如何来配置?@WebServlet(urlPatterns = "/test1",loadOnStartup = 1)
    loadOnstartup的取值有两类情况(1)负整数:第一次访问时创建Servlet对象(2)0或正整数:服务器启动时创建Servlet对象,数字越小优先级越高
    
    1. 初始化:在Servlet实例化之后,容器将调用Servlet的init()方法初始化这个对象,完成一些如加载配置文件、创建连接等初始化的工作。该方法只调用一次
    2. 请求处理每次请求Servlet时,Servlet容器都会调用Servlet的service()方法对请求进行处理
    3. 服务终止:当需要释放内存或者容器关闭时,容器就会调用Servlet实例的destroy()方法完成资源的释放。在destroy()方法调用之后,容器会释放这个Servlet实例,该实例随后会被Java的垃圾收集器所回收
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;@WebServlet(urlPatterns="/test1",loadOnStartup = 1)
public class a01Servlet_Test implements Servlet {@Overridepublic void init(ServletConfig servletConfig) throws ServletException {System.out.println("init--------");}@Overridepublic ServletConfig getServletConfig() {return null;}@Overridepublic void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {System.out.println("Hello Servlet");}@Overridepublic String getServletInfo() {return "";}@Overridepublic void destroy() {System.out.println("destroy----------");}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/72024.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

实验1 现代C++基础课程

任务1 源代码task1.cpp1 // 现代C++标准库、算法库体验2 // 本例用到以下内容:3 // 1. 字符串string, 动态数组容器类vector、迭代器4 // 2. 算法库:反转元素次序、旋转元素5 // 3. 函数模板、const引用作为形参6 7 #include <iostream>8 #include <string>9 #inc…

7系XADC在PL端使用

关键词:XADC,PYNQ Z2, XADC IP核, PL 说明 : 不涉及xadc开发板,PCB设计,可以跳过前面看后面,不正确的地方可以交流沟通,待完善 一. 对于xadc基本了解 1. 基本属性 参考手册 : ug480Fig : XADC BLOCK DIAGRAM:从XADC block diagram中可以看出7系含有两个内部ad, ADCA,ADCB 同时可…

计量经济学(六)——时间序列滞后变量模型

img { display: block; margin-left: auto; margin-right: auto } table { margin-left: auto; margin-right: auto } 滞后变量模型(Lagged Variable Models)是一种时间序列分析方法,主要通过引入自变量和因变量的滞后项来解释当前变量的行为。该模型在经济学、金融学中广泛…

Krita配置comfyui,ai绘图 记录

comfyui使用b站up、赛博佛祖秋葉aaaki的整合包。此地址下载ai插件 https://github.com/Acly/krita-ai-diffusion krita中安装下载好的插件,从文件导入python插件 打开ai绘图面板: 缺失节点使用复制链接地址 然后,在复制的地址后加上.git 后使用comfy UI manager通过git URL安…

ABP VNext 系列:框架启动流程以及依赖注入原理和源码分析

简单介绍 ABP VNext Github 地址:https://github.com/abpframework/abp 官网文档地址:https://abp.io/docs/latest 官网:https://abp.io/ABP VNext 框架是一个基于 ASP.NET Core 的完整基础架构,也就是我们现在称的 ABP 框架,它遵循软件开发最佳实践和最新技术来创建现代 …

IDEA如何查看所有的断点(Breakpoints)并关闭

前言 我们在使用IDEA开发Java应用时,基本上都需要进行打断点的操作,这方便我们排查BUG,也方便我们查看设计的是否正确。不过有时候,我们不希望进入断点,这时候除了点击断点关闭外,有没有更快速的方便关闭所有的断点呢? 如何设置 首先,我们在运行debug模式的时候,切换到…

为什么普通AI不够用?定制AI Agents工具是关键!

1 新建一个实时搜索工具 @tool def web_search(query: str):""" 实时搜索工具 """serp = SerpAPIWrapper()result = serp.run(query)print("实时搜索结果:", result)return result# 初始化工具列表 tools = [web_search]# 创建OpenAI工…