BlogJava 联系 聚合 管理  

Blog Stats

随笔分类

文章分类

随笔档案

文章档案


kevin-guan

离开原来公司已经有一段时间了,现在去外面的公司后,发现外面基本上都用的是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                 8080false);
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即可。




posted on 2008-01-09 14:52 KevinGuan 阅读(2950) 评论(1)  编辑  收藏 所属分类: J2EE

评论

# re: Embed Tomcat 开发,调试项目[未登录] 2008-01-09 17:43 james
給你鼓掌  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: