- TOMCAT的目录结构
-
- /bin:存放windows或Linux平台上启动和关闭Tomcat的脚本文件
- /conf:存放Tomcat服务器的各种全局配置文件,其中最重要的是server.xml和web.xml
- /doc:存放Tomcat文档
- /server:包含三个子目录:classes、lib和webapps
- /server/lib:存放Tomcat服务器所需的各种JAR文件
- /server/webapps:存放Tomcat自带的两个WEB应用admin应用和 manager应用
- /common/lib:存放Tomcat服务器以及所有web应用都可以访问的jar文件
- /shared/lib:存放所有web应用都可以访问的jar文件(但是不能被Tomcat服务器访问)
- /logs:存放Tomcat执行时的日志文件
- /src:存放Tomcat的源代码
- /webapps:Tomcat的主要Web发布目录,默认情况下把Web应用文件放于此目录
- /work:存放JSP编译后产生的class文件
CATALINA_HOME是Tomcat的安装目录
$CATALINA_HOME/conf/server.xml 配置文件
1.<Server port="1086" shutdown="SHUTDOWN">
指定一个端口,这个端口负责监听关闭tomcat的请求shutdown
2. <Service name="Catalina">
指定service的名字,通常是”Catalina”
3.<Connector executor="tomcatThreadPool"port="8080" protocol="HTTP/1.1"
connectionTimeout="20000" redirectPort="8443" />
元素属性(表示客户端和service之间的连接):
port:指定服务器端要创建的端口号,并使用这个端口监听来自客户端的请求
maxThreads:服务器创建的最大线程数
minSpareThreads:最小剩余线程数
maxSpareThreads:最大剩余线程数
enableLookups:如果为true,则可以通过调用request.getRemoteHost()进行DNS查询来得到远程客户端的实际主机名,若为false则不进行DNS查询,而是返回其IP地址redirectPort:指定当服务器正在处理HTTP请求时收到了一个SSL传输请求后重定向的端口号
acceptCount:指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过的请求将不予处理connectionTimeout:指定超时的时间数(以毫秒为单位)
4. <Engine defaultHost="localhost" name="Catalina">指定访问Host地址,通常是本机
5. <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
-
- 元素属性(表示一个虚拟主机)
- name:指定虚拟主机名字
- debug:指定日志级别
- appBase:存放Web应用程序的基本目录,可以是绝对路径或相对于$CATALINA_HOME的目录,默认是$CATALINA_HOME/webapps
- unpackWARs:如果为true,则tomcat会自动将WAR文件解压后运行,否则不解压而直接从WAR文件中运行应用程序autoDeploy:如果为true,表示Tomcat启动时会自动发布appBase目录下所有的Web应用(包括新加入的Web应用)
6.<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
</Realm>
元素属性(表示存放用户名,密码及role的数据库)className:指定Realm使用的类名,此类必须实现org.apache.catalina.Realm接口
resourceName:这里realm主要用于tomcat访问用户验证,分为
- JDBCRealm
- DataSourceRealm
- JNDIRealm
- UserDatabaseRealm
- MemoryRealm
- JAASRealm
- CombinedRealm
- LockOutRealm
这里使用的是UserDatabaseRealm,与之对应的是:
<GlobalNamingResources>
<Resource auth="Container" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
name="UserDatabase"
pathname="conf/tomcat-users.xml"
type="org.apache.catalina.UserDatabase"/>
</GlobalNamingResources>
这里面name就是对应上文的resourceName,默认使用的是comcat-users.xml配置的用户信息
7.<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t "%r" %s %b" prefix="localhost_access_log." suffix=".txt"/>
配置log;
$CATALINA_HOME/conf/web.xml
这个文件针对所有的web应用定义默认值,如果要针对不同的webapp设置相应的默认参数,请在想要设置的工程APP的webapp/web.xml进行指定
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
默认的web欢迎首页
<session-config>
<session-timeout>5</session-timeout>
</session-config>
这是session过期时间 单位是分钟
servelt mapping,可以根据不同的情况配置不同的servlet
<load-on-startup>:指定当Web应用启动时,装载Servlet的次序