tomcat-6.0.14
ubuntu gusty
sun-jdk-1.6
澶氫釜浜哄悎浣滅殑欏圭洰閲屽彧瑕佷慨鏀箃omcat-conf.properties鏂囦歡鍚庡嵆鍙嬌鐢ㄣ傛垜榪欓噷鐢ㄤ簡slf4j鍋歀OG錛屼笉鐢↙OG鐨勬妸鐩稿叧綾誨幓鎺夊嵆鍙傝繕鏈夋垜鏄妸tomcat/lib涓嬬殑jar閮藉姞榪沜lasspath鐨勩?br />
鐩綍緇撴瀯
/-|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.tkk7.com/jarod
15 * @author jarod
16 */
17 public class TomcatServer {
18
19 private static final Logger logger = LoggerFactory
20 .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涓葷洰褰?/span>
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妯″紡鍚姩鏃訛紝淇敼鍙珛鍗崇敓鏁?/span>
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 @Override
78 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鍚姩鏃朵細鍦ㄨ鐩綍鍔犺澆榛樿鐨勪竴浜涢厤緗紝濡侻IME mapping絳夛紝濡傛灉瑕佽嚜宸辨墜鍔ㄦ坊鍔犻厤緗お楹葷儲浜嗭紝鑰屽鏋滀笉瑕佽繖浜涢厤緗紝榪欎釜embedded tomcat鐢ㄥ涔熶笉澶?br />

]]>