<Server port="8005" shutdown="SHUTDOWN">
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="GBK"/>
<Connector executor="tomcatThreadPool"
port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>
</Service>
</Server>
一般情况下,是这样的请求及处理过程:
Browser提出请求,交给connector,由connector将请求交给engine处理,engine交给相应的host虚拟主机处理,结果反馈给
connector,connector将结果返回到Browser。
Servler、service是顶层元素,connector负责沟通容器与客户端:接受请求,反馈结果。
engine处理所有的请求,engine中的host、context都是处理请求的容器组件,一个host可以包含多个context;
关系如下:
一个Server代表一个Tomcat容器,可以包含一个或多个service元素,每个service包含一个engine处理来自同一个service中
的connector请求。engine中包含host和context对主机进行处理、和对特殊的web应用请求,一个host可以包含多个context;。
关于客户端与容器的沟通全部在connector中进行配置。
如:
解决get的中文问题:URIEncoding=“GBK”
修改监听端口:port
...
Context是最长用的配置,是有org.apache.catalina.Context定义的。代表主机上的一个web应用。
path指定的访问url
docBase工程根目录
reloadable是否监听变化
useNaming 是否使用jndi默认是true
cookies是否使用cookies
<Context path=“/webapp” docBase="webapp" reloadable="true">
<Resource/>
<ResourceParams>
<parameter>
<name></name>
<value></value>
</parameter>
</ResourceParams>
</Context>
配置DataSource清单如下:(server.xml)
<Context path="/bookstore0.0" docBase="bookstore0.0" reloadable="true">
<!--
name:JNDI name;
auth(orizaiton):Application/Container
type="javax.sql.DataSource" javax.sql.DataSource is a kind of JNDI;
-->
<Resource name="jdbc/bookstore_db"
auth="Container"
type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/bookstore_db">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>100</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>30</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.mysql.jdbc.Driver</value>
</parameter>
<parameter>
<name>username</name>
<value>root</value>
</parameter>
<parameter>
<name>password</name>
<value>1988323</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:mysql://localhost:3306/bookstore_db?autoReconnect=true</value>
</parameter>
</ResourceParams>
</Context>
对web.xml的配置访问数据源:
res-ref-name
res-type
res-auth
description