`
ddandyy
  • 浏览: 214612 次
  • 性别: Icon_minigender_1
  • 来自: 目前上海
社区版块
存档分类
最新评论

import Debug Tomcat

阅读更多
来自javaeye

import embedded.EmbeddedTomcatLauncher; 

public class MyTomcatLauncher extends EmbeddedTomcatLauncher { 
    public static void main(String[] args) { 
        //开始运行嵌入式Tomcat,狠简单,就new一下当前类然后startTomcat()就行 
        new MyTomcatLauncher().startTomcat(); 
    } 

    //这里返回你要加载的项目的绝对地Ö返ÄString数组 
    @Override 
    protected String[] getContextsAbsolutePath() { 
        return new String[] { 
            "/home/hongliang/workspace/scaffold/webapp" 
        }; 
    } 

    //这里返回你上面写的项目要映射后的路径,跟上面的数组一一对应 
    @Override 
    protected String[] getContextsMappingPath() { 
        return new String[] {"/scaffold"}; 
    } 

    //这里返回你embedded tomcat的地址 
    @Override 
    protected String getTomcatPath() { 
        return "/home/hongliang/libraries/tomcat/apache-tomcat-5.5.15-embed"; 
    } 
} 


package embedded; 

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


public abstract class EmbeddedTomcatLauncher { 
    private Embedded tomcat; 

    protected EmbeddedTomcatLauncher() { 
        initEmbedded(); 
        initShutdownHook(); 
    } 

    protected abstract String[] getContextsAbsolutePath(); 

    protected abstract String[] getContextsMappingPath(); 

    protected abstract String getTomcatPath(); 

    protected void startTomcat() { 
        try { 
            long startTime = System.currentTimeMillis(); 
            tomcat.start(); 
            System.err.println( 
                "Embedded Tomcat started in " 
                + (System.currentTimeMillis() - startTime) + " ms." 
            ); 
        } catch (Exception e) { 
            e.printStackTrace(); 
        } 
    } 

    private void initEmbedded() { 
        tomcat = new Embedded(); 
        tomcat.setCatalinaBase(getTomcatPath()); 

        Host host = 
            tomcat.createHost( 
                "localhost", 
                tomcat.getCatalinaHome() + "/webapps" 
            ); 

        String[] contexts = getContextsMappingPath(); 
        String[] contextsPath = getContextsAbsolutePath(); 
        Context context = null; 

        for (int i = 0; i < contexts.length; ++i) { 
            context = tomcat.createContext(contexts[i], contextsPath[i]); 
            host.addChild(context); 
        } 

        Engine engine = tomcat.createEngine(); 
        engine.setName("MyDevAppServer"); 
        engine.addChild(host); 
        engine.setDefaultHost(host.getName()); 

        tomcat.addEngine(engine); 
        tomcat.addConnector( 
            tomcat.createConnector("localhost", 8080, false) 
        ); 
    } 

    private void initShutdownHook() { 
        Runtime.getRuntime().addShutdownHook( 
            new Thread() { 
                public void run() { 
                    stopTomcat(); 
                } 
            } 
        ); 
    } 

    private void stopTomcat() { 
        try { 
            tomcat.stop(); 
        } catch (Exception e) { 
            e.printStackTrace(); 
        } 
    } 
} 
分享到:
评论

相关推荐

    Tomcat学习资料1

    2. 配置log4j.properties或log4j.xml:创建此文件,定义日志级别(DEBUG, INFO, WARN, ERROR, FATAL)和输出目的地(控制台、文件、邮件等)。 3. 在web应用中引用配置:通过`&lt;% @import "org.apache.log4j.Logger" ...

    tomcat6启用SSL_证书_tomcat6多ssl_Tomcat6;SSL;_

    keytool -import -trustcacerts -file your_certificate.crt -alias tomcat -keystore keystore.jks ``` 6. **配置Tomcat**:在Tomcat的`conf/server.xml`文件中,添加或修改`&lt;Connector&gt;`元素以启用SSL。例如: ...

    tomcat环境变量配置

    debug="0" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/&gt; 注意黑体部分是修改的地方,修改之后就可以让TOMCAT支持中文链接了。 上面是完整的配置方法,还可以上tomcat支持中文,...

    tomcat部署pki流程全

    enableLookups="false" disableUploadTimeout="true" acceptCount="100" debug="0" scheme="https" secure="true" clientAuth="true" sslProtocol="TLS" keystoreFile="conf/server_keystore.jks" keystorePass=...

    IDEA 部署Web工程&Tomcat.docx

    在"Run/Debug Configurations"中,选择"Tomcat Server" -&gt; "Local",点击"+"添加新配置。在"Deployment"选项卡下,将刚才创建的Artifact拖拽到"Applications"列表中。 6. **启动Tomcat** 确认所有设置无误后,点击...

    最新tomcat日志查看包

    4. **使用**:在你的应用程序代码中,通过`import org.apache.log4j.*;`引入Log4j的相关类,然后调用如`Logger.getLogger()`方法获取日志器,进而进行日志记录。 日志包中的内容可能包括Log4j的JAR文件、示例配置...

    Tomcat5.5配置SSL精简版

    keytool -import -trustcacerts -file signed_certificate.crt -alias tomcat -keystore server_keystore ``` 5. **修改Tomcat配置**:打开Tomcat的`conf/server.xml` 文件,找到`&lt;Connector&gt;` 标签,添加SSL配置...

    tomcat log4j 配置及需要的几个jar

    这段配置将日志级别设置为DEBUG,并将日志输出到Tomcat的`logs`目录下的`myapp.log`文件,每天滚动一次。 3. **整合Tomcat的日志**: Tomcat默认使用Juli日志系统,但可以通过引入`tomcat-juli.jar`和`tomcat-juli-...

    Tomcat数据库连接池的配置和实例

    &lt;Context path="/JSPTraining" docBase="JSPTraining" debug="0" reloadable="true"&gt; ``` #### 五、总结 通过以上步骤,我们成功地在Tomcat服务器上配置了一个数据库连接池,并在Web应用中实现了对该连接池的使用...

    TOMCAT乱码问题

    &lt;Connector port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout=...

    tomcat5中文问题完美解决

    &lt;CONNECTOR PORT="80" MAXTHREADS="150" MINSPARETHREADS="25" MAXSPARETHREADS="75" ENABLELOOKUPS="FALSE" REDIRECTPORT="8443" ACCEPTCOUNT="100" DEBUG="0" CONNECTIONTIMEOUT="20000" DISABLEUPLOADTIMEOUT=...

    TomCat数据源配置

    &lt;Context path="/tt" docBase="tt" debug="5" reloadable="true" crossContext="true"&gt; type="javax.sql.DataSource" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" url="jdbc:microsoft:...

    Tomcat下使用Log4j接管生成日志文件

    import org.apache.log4j.Logger; public class MyClass { private static final Logger logger = Logger.getLogger(MyClass.class); public void myMethod() { logger.debug("Debug message"); logger.info(...

    Tomcat中文问题之完美解决

    &lt;%@ page import="java.util.*" %&gt; String q = request.getParameter("q"); q = q == null ? "没有值" : q; %&gt; 测试显示 ;charset=gb2312"&gt; 输入值:&lt;%=q%&gt;&lt;br&gt; 输入:...

    tomcat配置INFORMIX数据库的连接池(测试成功)

    &lt;Context path="/egoog" debug="5" docBase="f:/egoog" reloadable="true"&gt; name="jdbc/connectDB" auth="Container" type="javax.sql.DataSource" maxWait="1000" maxActive="100" maxIdle="10" username=...

    Struts+Hibernate+MyEclipse+Tomcat+MySQL的乱码之解决篇

    enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/&gt; ``` ### 四、MyEclipse集成环境编码设置 - 在...

    Tomcat8-源码编译及开发1

    在IDEA中创建一个新的Run/Debug Configuration,选择“Application”类型,然后指定主类(通常是`org.apache.catalina.startup.Bootstrap`),并设置必要的VM参数和工作目录。 此外,你还可以通过修改源码来探索...

    tomcat数据源配置文档

    &lt;Context path="/Test" docBase="Test" debug="true" reloadable="true" crossContext="true"&gt; auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username=...

    Tomcat中配置和使用JNDI.doc

    debug="5" reloadable="true" crossContext="true"&gt; ``` 2. **配置DataSource** - 在`&lt;Context&gt;`元素内部,添加`&lt;Resource&gt;`元素来定义数据源: ```xml auth="Container" type="javax.sql.DataSource"&gt; ...

Global site tag (gtag.js) - Google Analytics