tomcat 目录结构:
bin //启动程序 +--catalina.sh //启动时被调用 可配置 JAVA_HOME,JAVA_OPTS(java启动参数)等 +--startup.sh //启动程序 +--shutdown.sh //停止程序 conf //配置文件 +--server.xml //服务器启用时使用的端口号,虚拟主机等 lib ---tomcat启动用到的jar 通用的jar也可以放到里面 logs --- tomcat日志目录 temp ---临时目录 webapps ---应用存放目录 work --jsp 编译生成的class存放目录
配置文件server.xml默认有一个虚拟主机:
<!-- Define the default virtual host Note: XML Schema validation will not work with Xerces 2.2. --> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <!-- SingleSignOn valve, share authentication between web applications Documentation at: /docs/config/valve.html --> <!-- <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> --> <!-- Access log processes all example. Documentation at: /docs/config/valve.html --> <!-- <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/> --> </Host>
在该虚拟主机下可以添加多个应用:
copy conf/context.xml 至 TOMCAT_HOME/conf/Catalin/localhost/下
改名为应用名.xml,如果是没有上下文的应用名称应为ROOT.xml:
<?xml version="1.0" encoding="UTF-8"?>
<Context
path="上下文路径或空(无上下文)"
docBase="应用路径"
debug="0"
reloadable="false"
autoDeploy="true"
crossContext="true">
<!--jndi数据源-->
<Resource
auth="Container"
driverClassName="oracle.jdbc.driver.OracleDriver"
initialSize="3"
maxActive="10"
maxIdle="5"
minIdle="1"
name="JNDI名"
password="密码"
removeAbandoned="false"
type="javax.sql.DataSource"
url="JDBC_URL"
username="aiov"
validationQuery="select 1 from dual"/>
</Context>
如果多个应用都有相同的jndi数据源,可以在conf/context.xml下配置:
<!-- The contents of this file will be loaded for each web application -->
<Context>
<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource
auth="Container"
driverClassName="oracle.jdbc.driver.OracleDriver"
initialSize="3"
maxActive="10"
maxIdle="5"
minIdle="1"
name="JNDI名"
password="密码"
removeAbandoned="false"
type="javax.sql.DataSource"
url="JDBC_URL"
username="aiov"
validationQuery="select 1 from dual"/>
</Context>
启动时指定特定的jdk及参数:
在bin/catalina.sh:
set JAVA_HOME=E:\Java\jdk1.5.0_08 set JAVA_OPTS=-server -Dfile.encoding=UTF-8 -Xms=512m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m