1) 从
http://apache.justdn.org/tomcat/tomcat-5/v5.5.15/bin/apache-tomcat-5.5.15-embed.zip 下载Tomcat的Embeded版本。 2) 在eclipse里建一个java project(Tomcat Startup)。然后把从1)下载的tomcat解压到这个Tomcat Startup project中把Tomcat Startup/lib下所有的lib加到eclipse的Liberaries。(把Tomcat Startup/lib下所有的lib加到eclipse的Liberaries。)。如下图所示:
3) 写一个tomcat 启动类,EmbeddedTomcat.java
import java.io.File;
import java.net.InetAddress;
import org.apache.catalina.Context;
import org.apache.catalina.Engine;
import org.apache.catalina.Host;
import org.apache.catalina.startup.Embedded;
public class EmbeddedTomcat {
private String path = null;
private Embedded embedded = null;
private Host host = null;
/**
* Default Constructor
*
*/
public EmbeddedTomcat() {
}
/**
* Basic Accessor setting the value of the context path
*
* @param path - the path
*/
public void setPath(String path) {
this.path = path;
}
/**
* Basic Accessor returning the value of the context path
*
* @return - the context path
*/
public String getPath() {
return path;
}
/**
* This method Starts the Tomcat server.
*/
public void startTomcat() throws Exception {
// Create an embedded server
embedded = new Embedded();
Engine engine = null;
// Set the home directory
// System.setProperty("catalina.home", getPath());
embedded.setCatalinaHome(getPath());
// Create an engine
engine = embedded.createEngine();
// Create a default virtual host
host = embedded.createHost("localhost", getPath()
+ "/webapps");
engine.addChild(host);
engine.setDefaultHost(host.getName());
// Create the ROOT context
Context rootCxt = embedded.createContext("",
getPath() + "/webapps/ROOT");
rootCxt.setPrivileged(true);
//Create your own context
Context scoreCxt = embedded.createContext("/score", "E:\\Eclipse_WorkSpace\\Eclipse_Work\\WebDynamicAgg\\score");
host.addChild(rootCxt);
host.addChild(scoreCxt);
// Install the assembled container hierarchy
embedded.addEngine(engine);
// Assemble and install a default HTTP connector
embedded.addConnector(embedded.createConnector(
InetAddress.getByName("127.0.0.1"), 8080, false));
// Start the embedded server
embedded.start();
}
/**
* This method Stops the Tomcat server.
*/
public void stopTomcat() throws Exception {
// Stop the embedded server
embedded.stop();
}
public static void main(String args[]) {
try {
EmbeddedTomcat tomcat = new EmbeddedTomcat();
tomcat.setPath((new File(".")).getCanonicalPath());
tomcat.startTomcat();
}
catch( Exception e ) {
e.printStackTrace();
}
}
}
对其中tomcat 基础的介绍请看http://www.onjava.com/lpt/a/1547。在我的这个启动类中向tomcat中添加两个context, 一个tomcat root context, 另一个是在我的eclipse里面的一个web project。
// Create the ROOT context
Context rootCxt = embedded.createContext("",
getPath() + "/webapps/ROOT");
rootCxt.setPrivileged(true);
//Create your own context
Context scoreCxt = embedded.createContext("/score", "E:\\Eclipse_WorkSpace\\Eclipse_Work\\WebDynamicAgg\\score");
host.addChild(rootCxt);
host.addChild(scoreCxt);
假如要能认出eclipse的java project是一个web project, 你需要把你的web project的context做成发布时一样就行(本例中的context时score), 然后在eclipse中改变build path:如下图:
把所有的lib放到WEB-INF/lib 就行了。
4) 优点: 使用这种方式启动tomcat非常快, 而且更干净, 占用更少的memory。 相比下比 Myeclipse插件快很多(本人用的最多的也是Myeclipse的app server deployment 和 jsp xml editor)。而且myeclipse是在你每次保存文件时把这个文件考到对应的webapps下你的project下面。 使用这种方式还少了拷贝文件。
5) 在实际操作时当我浏览score时, 发生了找不到一些lib的错误。 一个log4j还有一个是commons-el.jar(在TOMCAT_HOME/common\lib里面这里的tomcat不是emebed版本的),把这两个lib考到Tomcat Startup/lib文件夹下, 然后再把他们add到eclipse的Liberaries中。
参考:http://www.onjava.com/lpt/a/1547
分享到:
相关推荐
使用embeded tomcat进行嵌入式javaee开发-启动tomcat
如何在Eclipse IDE中使用maven创建一个动态Web项目. 使用的工具和技术 - Eclipse Jee Oxygen Maven 3.3.3 JavaSE 1.8 Servlet API 3.1.0 Apache Tomcat 7.0.47 (Embeded)
Windows CE 嵌入式开发系列课程视频\(2)使用Embeded Visual C++开发通讯终端及应用实例代码分析
specification and design of embeded system
内含ppt,视频,文档,示例!!!!!!!
this is a book describing the princple, the development process of the automotive embeded systems. by this book, our can perceive the most advanced and basic technologies of the automotive electronic ...
嵌入式系统[Embeded System]是以应用为中心,以计算机技术为基础。
嵌入式embeded-linux开发的笔记,较全面
Embeded QT 鼠标驱动流程和类结构分析流程图
Embeded linux之buildroot的使用方法.docx
行 C/C++/汇编语言开发和调试的用户图形界面,其目标是提供一个强大且直观的方法来调试和 修改用户的应用程序。 本篇资料详细阐述了High-performance Embedded Workshop 作为“调试器”的功能。
嵌入式Tomcat运行Tomcat mvn clean package 然后sh output/bin/run浏览至: http://localhost:8080/hi/hello
Good material for embeded Linux building.
this book guides you embeded development.
embeded configurable operating system
apache ftpserver 源码嵌入eclipse工程版,所有配置已配好,myserver.java右键 run as java aplication 运行即可。登录名:admin 密码:admin 还有一个名字一样的资源,也是我上传的,那个账号找不回来了
win CE7安装包,安装时间比较长,需要耐心等待。
Embeded C Programming
embeded linux fast guide chapter 1-12 include embedded linux knowledge
人工智能-项目实践-嵌入式-A tiny embeded rtos. 一个小型的嵌入式实时系统 About A tiny embeded rtos. 一个小型的嵌入式实时系统.