来自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();
}
}
}
分享到:
相关推荐
2. 配置log4j.properties或log4j.xml:创建此文件,定义日志级别(DEBUG, INFO, WARN, ERROR, FATAL)和输出目的地(控制台、文件、邮件等)。 3. 在web应用中引用配置:通过`<% @import "org.apache.log4j.Logger" ...
keytool -import -trustcacerts -file your_certificate.crt -alias tomcat -keystore keystore.jks ``` 6. **配置Tomcat**:在Tomcat的`conf/server.xml`文件中,添加或修改`<Connector>`元素以启用SSL。例如: ...
debug="0" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/> 注意黑体部分是修改的地方,修改之后就可以让TOMCAT支持中文链接了。 上面是完整的配置方法,还可以上tomcat支持中文,...
enableLookups="false" disableUploadTimeout="true" acceptCount="100" debug="0" scheme="https" secure="true" clientAuth="true" sslProtocol="TLS" keystoreFile="conf/server_keystore.jks" keystorePass=...
在"Run/Debug Configurations"中,选择"Tomcat Server" -> "Local",点击"+"添加新配置。在"Deployment"选项卡下,将刚才创建的Artifact拖拽到"Applications"列表中。 6. **启动Tomcat** 确认所有设置无误后,点击...
4. **使用**:在你的应用程序代码中,通过`import org.apache.log4j.*;`引入Log4j的相关类,然后调用如`Logger.getLogger()`方法获取日志器,进而进行日志记录。 日志包中的内容可能包括Log4j的JAR文件、示例配置...
keytool -import -trustcacerts -file signed_certificate.crt -alias tomcat -keystore server_keystore ``` 5. **修改Tomcat配置**:打开Tomcat的`conf/server.xml` 文件,找到`<Connector>` 标签,添加SSL配置...
这段配置将日志级别设置为DEBUG,并将日志输出到Tomcat的`logs`目录下的`myapp.log`文件,每天滚动一次。 3. **整合Tomcat的日志**: Tomcat默认使用Juli日志系统,但可以通过引入`tomcat-juli.jar`和`tomcat-juli-...
<Context path="/JSPTraining" docBase="JSPTraining" debug="0" reloadable="true"> ``` #### 五、总结 通过以上步骤,我们成功地在Tomcat服务器上配置了一个数据库连接池,并在Web应用中实现了对该连接池的使用...
<Connector port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout=...
<CONNECTOR PORT="80" MAXTHREADS="150" MINSPARETHREADS="25" MAXSPARETHREADS="75" ENABLELOOKUPS="FALSE" REDIRECTPORT="8443" ACCEPTCOUNT="100" DEBUG="0" CONNECTIONTIMEOUT="20000" DISABLEUPLOADTIMEOUT=...
<Context path="/tt" docBase="tt" debug="5" reloadable="true" crossContext="true"> type="javax.sql.DataSource" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" url="jdbc:microsoft:...
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(...
<%@ page import="java.util.*" %> String q = request.getParameter("q"); q = q == null ? "没有值" : q; %> 测试显示 ;charset=gb2312"> 输入值:<%=q%><br> 输入:...
<Context path="/egoog" debug="5" docBase="f:/egoog" reloadable="true"> name="jdbc/connectDB" auth="Container" type="javax.sql.DataSource" maxWait="1000" maxActive="100" maxIdle="10" username=...
enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/> ``` ### 四、MyEclipse集成环境编码设置 - 在...
在IDEA中创建一个新的Run/Debug Configuration,选择“Application”类型,然后指定主类(通常是`org.apache.catalina.startup.Bootstrap`),并设置必要的VM参数和工作目录。 此外,你还可以通过修改源码来探索...
<Context path="/Test" docBase="Test" debug="true" reloadable="true" crossContext="true"> auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username=...
debug="5" reloadable="true" crossContext="true"> ``` 2. **配置DataSource** - 在`<Context>`元素内部,添加`<Resource>`元素来定义数据源: ```xml auth="Container" type="javax.sql.DataSource"> ...