離開原來公司已經有一段時間了,現在去外面的公司后,發現外面基本上都用的是tomcat-plugin 或者是myEclipse中的啟動,對于那插件不是很熟悉的人,可以試著使用Embed-tomcat進行開發,調試。覺得那是個不錯的開發環境!
自己可以簡單創建一個webapp來搭建一個環境;
這里我建一個項目mypro,結構很簡單的設置一下:

去apache上去下載embed-tomcat的zip包,解壓縮,將apache-tomcat-**-embed//lib中的jar包引入到當前項目,在這里我將所有的jar包設置在user liberay 中 命名為Embed_tomcat 以方便使用,
另外web.xml則為最簡單的設置:
這一段代碼用XML表示 就是 tomcat 中的conf\server.xml,用java操作!
最后運行EMBED_TOMCAT.JAVA 就可以啟動tomcat了!
只要設置好路徑
自己可以簡單創建一個webapp來搭建一個環境;
這里我建一個項目mypro,結構很簡單的設置一下:
去apache上去下載embed-tomcat的zip包,解壓縮,將apache-tomcat-**-embed//lib中的jar包引入到當前項目,在這里我將所有的jar包設置在user liberay 中 命名為Embed_tomcat 以方便使用,
另外web.xml則為最簡單的設置:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
現在使用java程序去啟動tomcat服務,以下是代碼:<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
1 import java.net.InetAddress;
2
3 import org.apache.catalina.Context;
4 import org.apache.catalina.Engine;
5 import org.apache.catalina.Host;
6 import org.apache.catalina.connector.Connector;
7 import org.apache.catalina.deploy.ContextResource;
8 import org.apache.catalina.deploy.NamingResources;
9 import org.apache.catalina.startup.Embedded;
10
11 public class EmbededTomcat {
12
13 public static void main(String[] args) throws Exception {
14 Embedded embedded = new Embedded();
15 Engine engine = embedded.createEngine();
16 engine.setDefaultHost("localhost");
17 Host host = embedded.createHost("localhost", "");
18 engine.addChild(host);
19 // Create the ROOT context
20 Context context = embedded
21 .createContext("/test", "D:\\workspace\\mypro\\webapp");
22 /*數據源配置
23 NamingResources name = new NamingResources();
24 ContextResource resource = new ContextResource();
25 resource.setName("jdbc/jfw");
26 resource.setAuth("Container");
27 resource.setType("javax.sql.DataSource");
28 resource.setProperty("factory",
29 "org.apache.commons.dbcp.BasicDataSourceFactory");
30 resource.setProperty("maxActive", "20");
31 resource.setProperty("maxIdle", "10");
32 resource.setProperty("maxWait", "100000");
33 resource.setProperty("username", "epms");
34 resource.setProperty("password", "nci");
35 resource.setProperty("driverClassName",
36 "oracle.jdbc.driver.OracleDriver");
37 resource.setProperty("url",
38 "jdbc:oracle:thin:@10.147.218.162:1521:pmis2");
39 // resource.setProperty("url",
40 // "jdbc:oracle:thin:@192.168.131.100:1521:epms");
41
42 name.addResource(resource);
43 // System.out.println(resource.getName());
44 // System.out.println(resource.getAuth());
45 // System.out.println(resource.getType());
46 // System.out.println(resource.getProperty("url"));
47 context.setNamingResources(name);
48 */
49 host.addChild(context);
50 embedded.addEngine(engine);
51 Connector connector = embedded.createConnector((InetAddress) null,
52 8080, false);
53 embedded.addConnector(connector);
54 embedded.start();
55 }
56
57 }
58
如果你的項目中存在JNDI的話,以上代碼中注釋部分便是綁定JNDI的代碼;2
3 import org.apache.catalina.Context;
4 import org.apache.catalina.Engine;
5 import org.apache.catalina.Host;
6 import org.apache.catalina.connector.Connector;
7 import org.apache.catalina.deploy.ContextResource;
8 import org.apache.catalina.deploy.NamingResources;
9 import org.apache.catalina.startup.Embedded;
10
11 public class EmbededTomcat {
12
13 public static void main(String[] args) throws Exception {
14 Embedded embedded = new Embedded();
15 Engine engine = embedded.createEngine();
16 engine.setDefaultHost("localhost");
17 Host host = embedded.createHost("localhost", "");
18 engine.addChild(host);
19 // Create the ROOT context
20 Context context = embedded
21 .createContext("/test", "D:\\workspace\\mypro\\webapp");
22 /*數據源配置
23 NamingResources name = new NamingResources();
24 ContextResource resource = new ContextResource();
25 resource.setName("jdbc/jfw");
26 resource.setAuth("Container");
27 resource.setType("javax.sql.DataSource");
28 resource.setProperty("factory",
29 "org.apache.commons.dbcp.BasicDataSourceFactory");
30 resource.setProperty("maxActive", "20");
31 resource.setProperty("maxIdle", "10");
32 resource.setProperty("maxWait", "100000");
33 resource.setProperty("username", "epms");
34 resource.setProperty("password", "nci");
35 resource.setProperty("driverClassName",
36 "oracle.jdbc.driver.OracleDriver");
37 resource.setProperty("url",
38 "jdbc:oracle:thin:@10.147.218.162:1521:pmis2");
39 // resource.setProperty("url",
40 // "jdbc:oracle:thin:@192.168.131.100:1521:epms");
41
42 name.addResource(resource);
43 // System.out.println(resource.getName());
44 // System.out.println(resource.getAuth());
45 // System.out.println(resource.getType());
46 // System.out.println(resource.getProperty("url"));
47 context.setNamingResources(name);
48 */
49 host.addChild(context);
50 embedded.addEngine(engine);
51 Connector connector = embedded.createConnector((InetAddress) null,
52 8080, false);
53 embedded.addConnector(connector);
54 embedded.start();
55 }
56
57 }
58
這一段代碼用XML表示 就是 tomcat 中的conf\server.xml,用java操作!
1 <Server>
2 <Service>
3 <Connector />
4 <Engine>
5 <Host>
6 <Context />
7 </Host>
8 </Engine>
9 </Service>
10 </Server>
2 <Service>
3 <Connector />
4 <Engine>
5 <Host>
6 <Context />
7 </Host>
8 </Engine>
9 </Service>
10 </Server>
最后運行EMBED_TOMCAT.JAVA 就可以啟動tomcat了!
只要設置好路徑
Context context = embedded.createContext("/test", "D:\\workspace\\mypro\\webapp");
讓tomcat 啟動能夠讀取到項目的web.xml即可。