本文共 2431 字,大约阅读时间需要 8 分钟。
导读: 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://rciob.baihongyu.com/