嵌入式Tomcat的实现
2008-09-18 23:08
120 查看
导读:
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 contextPath = null;
private String hostName=null;
private String catalinaHomePath=null;
private int port=8080;
private Embedded embedded = null;
private Host host = null;
public EmbeddedTomcat(String contextPath,String catalinaHomePath,String hostName,int port)
{
this.contextPath=contextPath;
this.catalinaHomePath=catalinaHomePath;
this.hostName=hostName;
this.port=port;
}
/**
* This method Starts the Tomcat server.
*/
public void startTomcat() throws Exception {
// Create an embedded server
embedded = new Embedded();
Engine engine = null;
// System.setProperty("catalina.home", getPath());
embedded.setCatalinaHome(catalinaHomePath);
// Create an engine
engine = embedded.createEngine();
// Create a default virtual host
host = embedded.createHost(hostName, contextPath+"/webapps");
engine.setDefaultHost(host.getName());
// Create the ROOT context
Context rootCxt = embedded.createContext("",contextPath + "/webapps/ROOT");
Context manageCxt = embedded.createContext("/manager",contextPath+"/webapps/manager");
//Create your own context
Context scoreCxt = embedded.createContext("/vmm", contextPath+"/webapps/vmm");
rootCxt.setPrivileged(true);
host.addChild(rootCxt);
host.addChild(manageCxt);
host.addChild(scoreCxt);
// Install the assembled container hierarchy
embedded.addEngine(engine);
// Assemble and install a default HTTP connector
embedded.addConnector(embedded.createConnector(InetAddress.getByName(null), port, 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 {
String contextPath=(new File(".")).getCanonicalPath();
String catalinaHomePath =(new File("./conf/tomcat")).getCanonicalPath();
String hostName="localhost";
int port =80;
System.out.println("contextPath:"+contextPath);
System.out.println("catalinaHomePath:"+catalinaHomePath);
EmbeddedTomcat tomcat = new EmbeddedTomcat(contextPath,catalinaHomePath,hostName,port);
tomcat.startTomcat();
}
catch( Exception e ) {
e.printStackTrace();
}
}
}
本文转自
http://java.chinaitlab.com/Tomcat/755514.html
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 contextPath = null;
private String hostName=null;
private String catalinaHomePath=null;
private int port=8080;
private Embedded embedded = null;
private Host host = null;
public EmbeddedTomcat(String contextPath,String catalinaHomePath,String hostName,int port)
{
this.contextPath=contextPath;
this.catalinaHomePath=catalinaHomePath;
this.hostName=hostName;
this.port=port;
}
/**
* This method Starts the Tomcat server.
*/
public void startTomcat() throws Exception {
// Create an embedded server
embedded = new Embedded();
Engine engine = null;
// System.setProperty("catalina.home", getPath());
embedded.setCatalinaHome(catalinaHomePath);
// Create an engine
engine = embedded.createEngine();
// Create a default virtual host
host = embedded.createHost(hostName, contextPath+"/webapps");
engine.setDefaultHost(host.getName());
// Create the ROOT context
Context rootCxt = embedded.createContext("",contextPath + "/webapps/ROOT");
Context manageCxt = embedded.createContext("/manager",contextPath+"/webapps/manager");
//Create your own context
Context scoreCxt = embedded.createContext("/vmm", contextPath+"/webapps/vmm");
rootCxt.setPrivileged(true);
host.addChild(rootCxt);
host.addChild(manageCxt);
host.addChild(scoreCxt);
// Install the assembled container hierarchy
embedded.addEngine(engine);
// Assemble and install a default HTTP connector
embedded.addConnector(embedded.createConnector(InetAddress.getByName(null), port, 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 {
String contextPath=(new File(".")).getCanonicalPath();
String catalinaHomePath =(new File("./conf/tomcat")).getCanonicalPath();
String hostName="localhost";
int port =80;
System.out.println("contextPath:"+contextPath);
System.out.println("catalinaHomePath:"+catalinaHomePath);
EmbeddedTomcat tomcat = new EmbeddedTomcat(contextPath,catalinaHomePath,hostName,port);
tomcat.startTomcat();
}
catch( Exception e ) {
e.printStackTrace();
}
}
}
本文转自
http://java.chinaitlab.com/Tomcat/755514.html
相关文章推荐
- 程序实现启动和停止嵌入式Tomcat Web服务器
- 嵌入式linux通过DHCP自动获取IP地址实现
- maven tomcat plugin实现热部署
- Tomcat中JAVA定时器实现
- 使用 CAS 在 Tomcat 中实现单点登录
- Tomcat中实现IP访问限制
- Apache+Tomcat 实现session2﹕1问题
- 实现Linux平台Apache与Tomcat的整合
- tomcat一步步实现反向代理、负载均衡、内存复制
- JAVA Web快速开发部署(Javarebel实现真正高效的tomcat热部署)
- 轻松实现Apache,Tomcat集群和负载均衡
- nginx实现多个tomcat负载均衡
- Nginx+Tomcat实现不同项目域名映射配置(超详细)
- Tomcat 6 多机实现Session复制,Tomcat 6 多机实现Session复制实战教程
- 轻松实现Apache,Tomcat集群和负载均衡
- 嵌入式学习29(自实现ls -l)
- apache与tomcat 实现负载均衡及集群
- Java web热部署 (Javarebel实现真正高效的tomcat热部署)
- nginx+tomcat实现web应用动静分离及负载均衡
- tomcat7+nginx+memcached实现负载均衡和session共享