离开原来公司已经有一段时间了,现在去外面的公司后,发现外面基本上都用的是tomcat-plugin 或者是myEclipse中的启动,对于那插件不是很熟悉的人,可以试着使用Embed-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服务,以下是代码:
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的代码;
这一段代码用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>
最后运行EMBED_TOMCAT.JAVA 就可以启动tomcat了!
只要设置好路径
Context context = embedded.createContext("/test", "D:\\workspace\\mypro\\webapp");
让tomcat 启动能够读取到项目的web.xml即可。