博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
嵌入式Tomcat的实现
阅读量:2399 次
发布时间:2019-05-10

本文共 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/

你可能感兴趣的文章
ReiserFS文件系统坏块的处理(转)
查看>>
终于把TeX+CJK搞定啦(转)
查看>>
在Debian上安装轻量级入侵监测系统(转)
查看>>
Debian的软件包管家: dselect用法小结 (转)
查看>>
简单的SNMP的使用(转)
查看>>
Debian APT HOWTO 第三章 软件包管理(转)
查看>>
用Iproute2配置隧道(转)
查看>>
握着你的“手”清除DLL后门(转)
查看>>
中文自定义字体打印解决!(转)
查看>>
告诉大家一个非常好的工具--netselect(转)
查看>>
中文显示原理研究(转)
查看>>
JSP显示中文问题的解决方案(转)
查看>>
秀一下我的xpdf(转)
查看>>
Software Packages in `experimental' - 安装方法(转)
查看>>
小议jsp页面中的下载功能(转)
查看>>
自认为最简单的中文latex配置,3步就可以了!(转)
查看>>
问题实录(二)(转)
查看>>
when i run tasksel,system give me following report,what's means?(转)
查看>>
问题实录(三)(转)
查看>>
Java Servlet和JSP教程(1)(转)
查看>>