嵌入式Tomcat5.5类EmbeddedTomcat.java

来源:互联网 发布:淘宝一元 编辑:程序博客网 时间:2024/06/14 09:14

 package com.starsoft.tomcat;

import java.net.InetAddress;

import org.apache.catalina.Context;
import org.apache.catalina.Engine;
import org.apache.catalina.Host;
import org.apache.catalina.connector.Connector;
import org.apache.catalina.startup.Embedded;

public class EmbeddedTomcat {
 /**
  * 嵌入式Tomcat
  *
  * @author  QQ:393568883
  */
 private Embedded tomcat; // 嵌入式Tomcat

 public void startup() throws Exception {
  String webrootPath = "F://workspace//starsoft//WebContent"; // WEB应用程序路径
  String contextPath = "/starsoft"; // WEB上下文名称
  String xmlPath = "F://workspace//starsoft//WebContent//WEB-INF//web.xml"; // web.xml路径
  tomcat = new Embedded();
  Engine engine = tomcat.createEngine();
  tomcat.setCatalinaHome(webrootPath);
  Host host = tomcat.createHost("localhost", webrootPath);
  Context context = tomcat.createContext(contextPath, webrootPath);
  context.setAltDDName(xmlPath);
  context.setReloadable(true);
  host.addChild(context);
  engine.addChild(host);
  engine.setDefaultHost(host.getName());
  engine.setName("EmbedTomcatServer");
  tomcat.addEngine(engine);
  Connector connector = tomcat.createConnector(InetAddress
    .getByName("192.168.1.8"), 8080, false);
  connector.setURIEncoding("GBK");
  tomcat.addConnector(connector);
  tomcat.start();
 }

 public void shutdown() throws Exception {
  tomcat.stop();
 }

 public static void main(String[] args) {
  try {
   new EmbeddedTomcat().startup();
  } catch (Exception e) {
   e.printStackTrace();
  }
 }
}