Tomcat目录结构及配置文件

  • 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访问用户验证,分为

  1. JDBCRealm  
  2. DataSourceRealm  
  3. JNDIRealm  
  4. UserDatabaseRealm  
  5. MemoryRealm  
  6. JAASRealm  
  7. CombinedRealm  
  8. 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 &quot;%r&quot; %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过期时间  单位是分钟

< servlet >
< servlet-name > default </ servlet-name >
< servlet-class > org.apache.catalina.servlets.DefaultServlet </ servlet-class >
< init-param >
< param-name > debug </ param-name >
< param-value > 0 </ param-value >
</ init-param >
< init-param >
< param-name > listings </ param-name >
< param-value > false </ param-value >
</ init-param >
< load-on-startup > 1 </ load-on-startup >
</ servlet >

servelt mapping,可以根据不同的情况配置不同的servlet

<load-on-startup>:指定当Web应用启动时,装载Servlet的次序


猜你喜欢

转载自blog.csdn.net/aizijie123456/article/details/80014549