以内嵌方式运行tomcat 6.0

JeecgBoot项目迁移宝兰德BES全流程:从Spring Boot改造到生产部署实战 在Java企业级应用开发中,Spring Boot以其快速构建和简化部署的特性被广泛采用,通常以内嵌Tomcat的jar包形式运行。其核心原理在于通过自动配置和约定大于配置的理念,将Servlet容器与应用本身打包在一起,简化了传统Java EE应用需要部署到外部应用服务器的复杂流程。这种模式在开发测试阶段极具效率,但在需要集中管理、监控和符合特定合规要求的信创生产环境中,将应用部署到标准化的国产应用服务器(如宝兰德BES)成为必要选择。这涉及到将应用打包方式从可执行jar转换为标准的war包,并遵循Jav 阅读详情

测试环境:
tomcat-6.0.14
ubuntu gusty
sun-jdk-1.6

多个人合作的项目里只要修改tomcat-conf.properties文件后即可使用。我这里用了slf4j做LOG,不用LOG的把相关类去掉即可。还有我是把tomcat/lib下的jar都加进classpath的。

目录结构
/-|projectHome
  |
  |--src
  |   |--TomcatServer.java
  |   |--tomcat-conf.properties
  |
  |--webapp
  |   |--WEB-INF
  |   |   |-web.xml

TomcatServer.java:
 1 /**
 2  * 
http://www.blogjava.net/jarod
 3  * @author jarod
 4  */
 5 public class TomcatServer {
 6 
 7     private static final Logger logger = LoggerFactory.getLogger(TomcatServer.class);
 8 
 9     public static void main(String[] args) {
10         try {
11             new TomcatServer();
12         } catch (Throwable t) {
13             logger.error("", t);
14         }
15     }
16 
17     private Embedded tomcat;
18 
19     // tomcat根目录路径
20     private String catalinaHome;
21 
22     // web项目所在路径
23     private String projectHome;
24 
25     public TomcatServer() {
26         initConf();
27 
28         tomcat = new Embedded();
29         tomcat.setCatalinaHome(catalinaHome);
30         Engine engine = tomcat.createEngine();
31         Host host = tomcat.createHost("localhost", projectHome);
32         host.addChild(tomcat.createContext("", ""));
33         host.addChild(tomcat.createContext("/", "webapp"));
34         engine.addChild(host);
35         engine.setDefaultHost("localhost");
36         tomcat.addEngine(engine);
37         tomcat.addConnector(tomcat.createConnector("", 8081, false));
38         registerShutdownHook();
39         try {
40             tomcat.start();
41         } catch (Exception e) {
42             throw new RuntimeException(e);
43         }
44     }
45 
46     private void initConf() {
47         Properties properties = new Properties();
48         try {
49             properties.load(TomcatServer.class.getResourceAsStream("/tomcat-conf.properties"));
50             catalinaHome = properties.getProperty("catalina.home");
51 
52             File f = new File(".");
53             projectHome = f.getAbsolutePath();
54         } catch (IOException e) {
55             throw new RuntimeException(e);
56         }
57     }
58 
59     private void registerShutdownHook() {
60         Runtime.getRuntime().addShutdownHook(new Thread() {
61             @Override
62             public void run() {
63                 try {
64                     tomcat.stop();
65                 } catch (LifecycleException e) {
66                     throw new RuntimeException(e);
67                 }
68             }
69         });
70     }
71 }

tomcat-conf.properties:
catalina.home=/home/jarod/server/tomcat/apache-tomcat-6.0.14

为什么要setCatalinaHome?
设了该值,tomcat启动时会在该目录加载默认的一些配置,如MIME mapping等,如果要自己手动添加配置太麻烦了,而如果不要这些配置,这个embedded tomcat用处也不大

引用:http://tech.it168.com/j/2007-12-20/200712201500982.shtml

SpringBoot 移除内嵌Tomcat。使用非web方式启动 前言:当我们使用Spring Boot编写了一个批处理应用程序,该程序只是用于后台跑批数据,此时不需要内嵌的tomcat,简化启动方式使用非web方式启动项目,步骤如下: 1、修改pom.xml文件 在pom.xml文件中去除内嵌tomcat,添加servlet依赖 <dependency> <groupId>org.springframework.boot</groupId> <artif. 阅读详情

相关推荐

springboot使用内嵌tomcat集成jsp终极方案

背景 最近对老系统做系统改造升级,需要使用springboot内嵌tomcat方式打成jar包运行,按照网上很多改造方案改造仍然无法成功,打成jar包后无法访问到jsp页面,自己摸索出新的解决方案。 改造过程 (1)按照springboot官网的教程,做完以下步骤: 1. 在项目pom文件中加入内嵌tomcat支持jsp的依赖,同时修改打包方式为jar,完整POM如下: ...

果果爸的博客 6435

解决项目jar包 与tomcat 自带jar 冲突问题

项目中jar 与 tomcat 自带jar 冲突(catalina.jar 和 tomcat-coyote),导致报错: java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addServlet 解决方法:自定义user library ,将冲突的jar 放进去,则项目部署的时候,不会将user library中的j...

the blog of Lee 1609

Tomcat部署网站Web项目(一)·内嵌

Tomcat部署网站Web项目(一)下载文件解压html文件Tomcat放置html访问Html效果预览 下载文件 首先需要一个网页(html),我已经写好了,你可以直接下载》》点击下载 解压html文件 Tomcat放置html 在Tomcat目录下webapps文件夹新建文件夹 wwwroot 然后在wwwroot文件夹下放置你下载解压后的html文件(index.html) 这是一...

两行代码 踏踏实实de工作 4万+

基于内嵌Tomcat的应用开发

为什么使用内嵌Tomcat开发?     开发人员无需搭建Tomcat的环境就可以使用内嵌式Tomcat进行开发,减少搭建J2EE容器环境的时间和开发时容器频繁启动所花时间,提高开发的效率.   怎么搭建内嵌Tomcat环境呢?(以tomcat6和tomcat7为例) 在开发工程(xxxx)的根目录下新建以下的目录: xxxx/Embedded/conf xxxx/Embedd

chengzhezhijian的专栏 1443

内嵌式tomcat启动web工程

内嵌式tomcat启动web工程,maven代码 内嵌式tomcat启动web工程,maven代码

tomcat6.0 jar包及源代码

tomcat6.0 jar包及源代码

Maven项目部署到tomcat(内嵌tomcat)

为什么80%的码农都做不了架构师?>>> ...

weixin_33734785的博客 647

python 爬虫 xpath 存储到数据库

参考

我是张先生 1289

spring boot jar包tomcat内嵌方式启动

因项目需要,将springMVC工程重构为springboot工程,并且需要用jar包内嵌tomcat的方式在Linux系统使用, 原来工程一直用的是WAR包模式,springMVC转springboot很顺利,基本一天完成了eclipse下本地启动运行正常。 在最后一步打jar,使用java -jar prj.jar运行时遇到了一个坑。 server,controller能够正常访问,但V

GreatNeyo的专栏 4501

RACECAR底层平台安装:Jetson Nano+ROS Melodic全栈部署指南

移动机器人开发中,底层平台安装是将硬件转化为可编程移动平台的关键起点。其核心在于嵌入式系统、ROS中间件与传感器驱动的深度协同——需兼顾内核模块加载、GPIO/PWM精确控制、I2C设备初始化及ROS工作空间构建等多层技术耦合。尤其在竞速级小车如RACECAR场景下,Jetson Nano的硬件加速能力、MPU6050 IMU固件加载、TB6612FNG电机驱动配置等细节,直接决定运动控制精度与实时性。本文聚焦Ubuntu 18.04 + ROS Melodic + JetPack 4.4.1技术栈,覆盖从

weixin_32025789的博客 256

TIMER-XL:突破长上下文限制的Transformer时序预测新范式

本文深入解析了清华大学提出的TIMER-XL模型,这是一种突破长上下文限制的Transformer时序预测新范式。它采用Decoder-only架构与补丁级生成技术,并创新性地引入TimeAttention机制,有效解决了传统模型在处理海量历史数据时面临的“上下文瓶颈”问题,显著提升了长序列预测的精度与稳定性。

weixin_28340315的博客 445

SpringBoot去除内嵌tomcat

SpringBoot内嵌tomcat,直接run Application即可,那么我们如何去除内嵌的tomcat,使用自己的呢? 一、POM(去除内嵌tomcat后,需要添加servlet依赖) <dependency> <groupId>org.springframework.boot</groupId> <arti...

qq_22596931的博客 1779

STM32—时钟树(结合系统时钟函数理解)

时钟树的概念: 我们可以把MCU的运行比作人体的运行一样,人最重要的是什么?是心跳! 心脏的周期性收缩将血液泵向身体各处。心脏对于人体好比时钟对于MCU,微控制器(MCU)的运行要靠周期性的时钟脉冲来驱动,而这个脉冲的始源往往是由外部晶体振荡器提供时钟输入,最终转换为多个外部设备的周期性运作。这种时钟“能量”的传递路径犹如大树的养分由主干流向个分支,因此称为时钟树。 STM32时钟: 在STM32...

肥宅快乐博客 1万+

SpringBoot关于内嵌tomcat的相关问题

Springboot

weixin_45827905的博客 4361

HDI盲埋孔设计规范:高速PCB信号完整性落地指南

盲埋孔是高密度互连(HDI)PCB实现高速信号完整性的关键技术,其本质是通过控制过孔stub长度、优化回流路径和提升布线密度,解决GHz级信号在传统通孔结构下出现的谐振、串扰与EMI超标问题。其设计核心在于叠层物理约束、电气参数建模与工艺能力协同,涉及stub长度计算、反焊盘尺寸推导、孔壁粗糙度Rz控制等关键指标。广泛应用于DDR4、PCIe Gen4、USB3.2等高速接口的PCB设计中,尤其在车载ADAS、5G基站及FPGA载板等对SI/PI要求严苛的场景中成为刚性门槛。

weixin_34416754的博客 437

渗透测试工具之Sliver

攻击者需要将生成的植入物传输到目标系统,并执行它。C2 框架的架构与 Metasploit(如 Meterpreter)类似,但更专注于。(Red Teaming)中常见的攻击工具之一,攻击者利用 C2 服务器。组成,二者共同实现 C2 服务器与受控设备的通信。植入物(Implants)是 Sliver 生成的。抓包分析时,可以看到所有数据都是加密传输的。和**监听器(Listeners)**功能。Sliver 支持多种通信协议,如。随着安全防御的不断提升,企业应加强。进行通信,数据仍然是加密的。

idlecloud0105的博客 1936

SpringBoot内嵌Tomcat启动流程

Spring MVC 让开发者不用了解 Servlet 细节,专注于 Controller 编写 API 接口。Spring Boot 更是采用约定大于配置的设计思想,通过内嵌 Tomcat 的方式让开发者可以快速构建并部署一个 Web 应用。怎么做到的呢?

程序员小潘 1830

【技能】OpenClaw Skill 操作钉钉(原理+20个实例)

OpenClaw Skill是遵循AgentSkills规范的自动化逻辑单元,用于指导AI助理调用钉钉工具。每个Skill包含SKILL.md文件,定义触发条件、执行逻辑和接口调用方式。Skill通过钉钉Connector插件实现API鉴权和请求转发,需配置ClientID/Secret等凭证。Skill加载路径包括工作目录、本地目录和内置目录,优先级由高到低。使用前需安装必备插件并配置钉钉权限,通过openclaw.json管理Skill开关和环境变量。ClawHub作为官方技能仓库支持Skill的安装和

海兰 1217

springboot使用内嵌和外部tomcat调用链浅析

springboot使用内嵌和外部tomcat调用链浅析

handsomestWei的博客 1152

HFSS实战项目——高带外抑制特性SIW带通滤波器

本文对单级滤波器和双级滤波器的设计、工作原理及仿真结果进行了详细分析,并验证了双级SIW带通滤波器在性能方面的优越性,为微波通信系统中滤波器的设计和应用提供了重要参考。

2401_87464239的博客 1816

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

升级Spring Boot内嵌Tomcat版本

一、为什么要升级内嵌的Tomcat版本 在产品运行迭代过程中,产品所使用的插件、中间件等经常会被爆出各种各样的漏洞,有些威胁比较大的漏洞是需要及时修复的,最近我们就收到通知需要及时升级tomcat的版本以应对tomcat的新漏洞,当前我们的spring boot版本是2.2.10.RELEASE,其内嵌的tomcat版本是9.0.38,参考下图中本次漏洞(请求走私漏洞 (CVE-2021-33037))的详细信息得知我们需要及时的升级我们的tomcat版本到9.0.46版本以上。漏洞详情参考:https:

兮兮子玉的博客 9355

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

java项目内嵌Tomcat

这里是maven搭建的项目,如有所需可以自行到maven仓库下载,按照自己的实际情况选择tomcat版本。 一、maven依赖 dependencies> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-core</artifactId> <version&g...

fygkchina的专栏 3304

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

java 内嵌tomcat_(023)Spring Boot之修改内嵌tomcat的3种方式

springboot内嵌了tomcat容器,可以通过3中方式来修改tomcat。(1)修改application.properties文件中属性,比如:server.port=8081server.address=127.0.0.1server.tomcat.accesslog.enabled=trueserver.tomcat.accesslog.directory=d\:/springboot...

weixin_30682905的博客 537

SpringBoot的内嵌和外置tomcat

setUrlPatterns(Arrays.asList("/hello", "/myServlet")):指定拦截路径。创建 ServletRegistrationBean,将Servlet映射到 /myServlet 路径。效果:访问 http://localhost:8080/myServlet 会调用 MyServlet。效果:访问 /hello 或 /myServlet 时,会先经过 MyFilter。访问地址变为:http://localhost:8081/tx。包:启动服务器,服务器启动。

lydeee的博客 997

Spring Boot 项目不用内嵌tomcat 发布到服务器tomcat配置

一:项目的pom.xml 文件去除内置tomcat依赖并添加servlet的依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</arti...

不受天磨非好汉,不遭人妒是庸才——着实着迷゛ 2960

SpringBoot2配置内嵌tomcat相关参数的配置方式

import org.apache.catalina.connector.Connector; import org.apache.coyote.http11.Http11NioProtocol; import org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer; public class MyTomca...

爱软件-从懂得生活开始。 5369
上一篇: ORA-01791: 不是 SELECTed 表达式
下一篇: Tomcat 热部署实现方式源码分析总结
karali
博客等级 码龄15年 12粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值