博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Embedded tomcat 6.0
阅读量:2399 次
发布时间:2019-05-10

本文共 2694 字,大约阅读时间需要 8 分钟。

导读:
  测试环境:
  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 import java.io.File; 2 import java.io.IOException; 3 import java.util.Properties; 4
  5 import org.apache.catalina.Context; 6 import org.apache.catalina.Engine; 7 import org.apache.catalina.Host; 8 import org.apache.catalina.LifecycleException; 9 import org.apache.catalina.startup.Embedded;10 import org.slf4j.Logger;11 import org.slf4j.LoggerFactory;12
  13 /**
  14 * http://www.blogjava.net/jarod
  15 * @author jarod16 */
  17 public class TomcatServer {18
  19 private static final Logger logger = LoggerFactory20 .getLogger(TomcatServer.class);21
  22 public static void main(String[] args) {23 try {24 new TomcatServer();25 } catch (Throwable t) {26 logger.error("", t);27 }28 }29
  30 private Embedded tomcat;31
  32 // tomcat主目录
  33 private String catalinaHome;34
  35 private String projectHome;36
  37 public TomcatServer() {38 initConf();39
  40 tomcat = new Embedded();41 tomcat.setCatalinaHome(catalinaHome);42 Engine engine = tomcat.createEngine();43 Host host = tomcat.createHost("localhost", projectHome);44 host.addChild(tomcat.createContext("", ""));45 Context context = tomcat.createContext("/webapp1", "webapp");46 // 当以debug模式启动时,修改可立即生效
  47 context.setReloadable(true);48 host.addChild(context);49 engine.addChild(host);50 engine.setDefaultHost("localhost");51 tomcat.addEngine(engine);52 tomcat.addConnector(tomcat.createConnector("0", 8081, false));53 registerShutdownHook();54 try {55 tomcat.start();
  Thread.sleep(Long.MAX_VALUE);
  56 } catch (Exception e) {57 throw new RuntimeException(e);58 }59 }60
  61 private void initConf() {62 Properties properties = new Properties();63 try {64 properties.load(TomcatServer.class
  65 .getResourceAsStream("/tomcat-conf.properties"));66 catalinaHome = properties.getProperty("catalina.home");67
  68 File f = new File(".");69 projectHome = f.getAbsolutePath();70 } catch (IOException e) {71 throw new RuntimeException(e);72 }73 }74
  75 private void registerShutdownHook() {76 Runtime.getRuntime().addShutdownHook(new Thread() {77 @Override78 public void run() {79 try {80 tomcat.stop();81 } catch (LifecycleException e) {82 throw new RuntimeException(e);83 }84 }85 });86 }87 }
  tomcat-conf.properties:
  catalina.home=/home/jarod/server/tomcat/apache-tomcat-6.0.14
  为什么要setCatalinaHome?
  设了该值,tomcat启动时会在该目录加载默认的一些配置,如MIME mapping等,如果要自己手动添加配置太麻烦了,而如果不要这些配置,这个embedded tomcat用处也不大
本文转自

转载地址:http://wjiob.baihongyu.com/

你可能感兴趣的文章
MySQL关于数据字典的一个疑问
查看>>
今天的一点杂感
查看>>
从阴阳五行,四书五经到国学的理解
查看>>
如何理解Python web开发技术
查看>>
自动化平台中维度设计的一点思考
查看>>
运维开发的痛点和思考
查看>>
自动化分享里程碑小结20180127
查看>>
对这个公众号的分析和期望
查看>>
疯狂的十天计划开启(二) (改)
查看>>
自动化运维平台的流程草图
查看>>
又一个轮回(r14笔记第100天)
查看>>
通过shell脚本检测MySQL服务信息
查看>>
Greenplum集群部署小记
查看>>
通过java画文本格式的统计图
查看>>
MySQL存储过程的权限问题
查看>>
大分区表的手工并行优化
查看>>
从“悲剧”的几个运维场景谈谈运维开发的痛点
查看>>
运维工作中几点深刻的经验和教训
查看>>
本周搞几件事情,说说你的计划吧
查看>>
又一个轮回(r15笔记第100天)
查看>>