|
参考实例代码:
1 package com.scdsun.learntomcat;
2
3 import java.io.File;
4 import java.io.IOException;
5
6 import javax.servlet.ServletException;
7
8 import org.apache.catalina.LifecycleException;
9 import org.apache.catalina.core.AprLifecycleListener;
10 import org.apache.catalina.core.StandardServer;
11 import org.apache.catalina.startup.Tomcat;
12
13 public class MyServer {
14 private static String PROJECT_PATH = System.getProperty("user.dir");
15 private static String WEB_APP_PATH = PROJECT_PATH + File.separator
16 + "webapps";
17 private static String CATALINA_HOME = PROJECT_PATH;
18
19 public static void main(String[] args) throws LifecycleException,
20 IOException, ServletException {
21 Tomcat tomcat = new Tomcat();
22 tomcat.setPort(8080);
23 // 将会在相应目录下生产jsp原文件及对应的class
24 // 如这里使用应用程序的根目录:D:\Workspace_Eclipse\LearnTomcat\work\Tomcat\localhost\Hello\org\apache\jsp
25 // 其中D:\Workspace_Eclipse\LearnTomcat\为CATALINA_HOME
26 // 后续的work\Tomcat\localhost\Hello\org\apache\jsp为tomcat生成的文件
27 tomcat.setBaseDir(CATALINA_HOME);
28 // Web应用所存放的目录,如:D:\Workspace_Eclipse\LearnTomcat\webapps
29 // 在这个目录下存放需要发布的Web应用
30 tomcat.getHost().setAppBase(WEB_APP_PATH);
31
32 try {
33 StandardServer server = (StandardServer) tomcat.getServer();
34 AprLifecycleListener listener = new AprLifecycleListener();
35 server.addLifecycleListener(listener);
36
37 // 添加一个根路径应用,如http://localhost:8080/
38 tomcat.addWebapp("/", WEB_APP_PATH + File.separator + "ROOT");
39 // 添加一个/Hello应用,如: http://localhost:8080/Hello/
40 tomcat.addWebapp("/Hello", WEB_APP_PATH + File.separator + "Hello");
41 } catch (ServletException e) {
42 e.printStackTrace();
43 throw e;
44 }
45 try {
46 tomcat.start();
47 tomcat.getServer().await();
48 } catch (LifecycleException e) {
49 e.printStackTrace();
50 throw e;
51 }
52
53 }
54 }
服务启动后:
1、由于添加了ROOT应用(tomcat.addWebapp("/", WEB_APP_PATH + File.separator + "ROOT")),可以在本地文件夹D:\Workspace_Eclipse\LearnTomcat\webapps\ROOT中放置index.htm文件,直接访问地址http://localhost:8080/
2、由于添加了Hello/应用(tomcat.addWebapp("/Hello", WEB_APP_PATH + File.separator + "Hello")),可以在本地文件夹D:\Workspace_Eclipse\LearnTomcat\webapps\Hello\中保存hello.jsp文件,访问http://localhost:8080/Hello/hello.jsp进行测试;Tomcat为hello.jsp自动生成的java和class文件,位于本地D:\Workspace_Eclipse\LearnTomcat\work\Tomcat\localhost\Hello\org\apache\jsp目录中 |
|
|