Tomcat介绍

一:目录介绍

目录名字目录说明
bin可执行文件
conf配置文件
libtomcat依赖的jar文件
logs日志文件
temp临时文件
webapps可执行的项目(将我们的开发的项目放入该目录)
work存放由jsp翻译成的java以及class文件
others其他说明

二:重要配置文件介绍

  • serve.xml
  <!-- 连接器”表示接收请求的端点,并返回响应.
         Documentation at :
         Java HTTP Connector: /docs/config/http.html
         Java AJP  Connector: /docs/config/ajp.html
         APR (HTTP/AJP) Connector: /docs/apr.html
         Define a non-SSL/TLS HTTP/1.1 Connector on port 8080
    -->
    <Connector connectionTimeout="20000" port="8888" protocol="HTTP/1.1" redirectPort="8443"/>
	 <!-- 属性说明  
            port:服务器连接器的端口号,该连接器将在指定端口侦听来自客户端的请求。  
            enableLookups:如果为true,则可以通过调用request.getRemoteHost()进行DNS查询来得到远程客户端的实际主机名;  
                        若为false则不进行DNS查询,而是返回其ip地址。  
            redirectPort:服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号。  
            acceptCount:当所有可以使用的处理请求的线程都被用光时,可以放到处理队列中的请求数,超过这个数的请求将不予处理,而返回Connection refused错误。  
            connectionTimeout:等待超时的时间数(以毫秒为单位)。  
            maxThreads:设定在监听端口的线程的最大数目,这个值也决定了服务器可以同时响应客户请求的最大数目.默认值为200。  
            protocol:必须设定为AJP/1.3协议。  
            address:如果服务器有两个以上IP地址,该属性可以设定端口监听的IP地址,默认情况下,端口会监听服务器上所有IP地址。  
            minProcessors:服务器启动时创建的处理请求的线程数,每个请求由一个线程负责。  
            maxProcessors:最多可以创建的处理请求的线程数。  
            minSpareThreads:最小备用线程 。  
            maxSpareThreads:最大备用线程。  
            debug:日志等级。  
            disableUploadTimeout:禁用上传超时,主要用于大数据上传时。  
        -->
  <!--
	  host ( 表示一个虚拟主机 ):指定主机名
	  appBase:应用程序基本目录,即存放应用程序的目录
	  autoDeploy:如果此项设为true,表示Tomcat服务处于运行状态时,能够监测appBase下的文件,如果有新有web应用加入进来,会自运发布这个WEB应用
	  unpackWARs:果此项设置为true,表示把WEB应用的WAR文件先展开为开放目录结构后再运行.如果设为false将直接运行为WAR文件	
	  alias:指定主机别名,可以指定多个别名 
	  deployOnStartup:如果此项设为true,表示Tomcat服务器启动时会自动发布appBase目录下所有的Web应用.如果Web应用中的server.xml没有相应的<Context>元素,将采用Tomcat默认的Context
	  -->
      <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
       <!--
	   Valve(功能与Logger差不多,其prefix和suffix属性解释和Logger 中的一样)
	   className:指定Valve使用的类名,如用org.apache.catalina.valves.AccessLogValve类可以记录应用程序的访问信息
	   directory:指定log文件存放的位置
	   pattern:有两个值,common方式记录远程主机名或ip地址,用户名,日期,第一行请求的字符串,HTTP响应代码,发送的字节数。combined方式比common方式记录的值更多
	   -->
        <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"/>
      <Context docBase="ROOT" path="/Test" reloadable="true" source="org.eclipse.jst.jee.server:Test"/>
	  <!--
	  它由Context接口定义.是使用最频繁的元素.每个<Context元素代表了运行在虚拟主机上的单个Web应用.
	  一个<Host>可以包含多个<Context>元素.每个web应用有唯一的一个相对应的Context代表web应用自身.servlet容器为第一个web应用创建一个
	  1.className指定实现Context的类,默认为StandardContext类
	  2.path指定访问Web应用的URL入口,docBase:为应用程序的路径或WAR文件存放的路径,可以是绝对路径,也可是相对路径,相对路径是相对于<Host >
	  3.reloadable如果这个属性设为true, Tomcat服务器在运行状态下会监视在WEB-INF/classes和Web-INF/lib目录CLASS文件的改运.如果监视到有class文件被更新,服务器自重新加载Web应用
	  4.cookies指定是否通过Cookies来支持Session,默认值为true
	  5.useNaming指定是否支持JNDI,默认值为了true	  
	  -->  
	  </Host>
  • web.xml
<!--欢迎页配置-->
<welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>index.action</welcome-file>
</welcome-file-list>
<!--在整个web容器设置初始化参数-->
<context-param>
	<param-name>xx</param-name>
	<param-value>xx</param-value>
</context-param>
<!--2.5版本的servlet配置
执行顺序servlet-mapping的url-pattern->servlet-named到servlet的servlet-name->servlet-class
通过servlet-name链接
-->
<servlet>
        <servlet-name>myServlet</servlet-name>
        <servlet-class>myServlet</servlet-class>
        <!--
       当值为0或者大于0时,表示容器在应用启动时就加载这个servlet;
       当是一个负数时或者没有指定时,则指示容器在该servlet被选择时才加载。
       正数的值越小,启动该servlet的优先级越高。
       !-->
        <load-on-startup>1</load-on-startup>
        <!--在某一个servlet设置参数-->
        <init-param>
            <param-name>param1</param-name>
       		<param-value>value</param-value>
        </init-param>
 </servlet>
<servlet-mapping>
        <servlet-name>myServlet</servlet-name>
        <url-pattern>/myServlet</url-pattern>
  </servlet-mapping>

<filter>  
    <!--过滤器名称  -->
    <filter-name>loginFilter</filter-name>
    <!--过滤器类的包路径-->
    <filter-class>com.ygj.control.loginFilter</filter-class>
    <!--可选-->
<init—param> 
    <!--过滤器初始化参数-->
    <param—name>参数名</param-name>
    <param-value>参数值</param-value>  
</init—pamm>  
</filter>  
    <!--过滤器映射,如果有多个可写多个-->
<filter-mapping>  
    <filter-name>loginFilter</filter-name>  
    <url—pattern>指定过滤器作用的对象</url-pattern>
<!--
REQUEST:
当用户直接访问页面时,Web容器将会调用过滤器。如果目标资源是通过RequestDispatcher的include()或forward()方法访问或ERROR情况时,那么该过滤器就不会被调用。
INCLUDE:
如果目标资源是通过RequestDispatcher的include()方法访问时,那么该过滤器将被调用。除此之外,该过滤器不会被调用。
FORWARD:
如果目标资源是通过RequestDispatcher的forward()方法访问时,那么该过滤器将被调用,除此之外,该过滤器不会被调用。
ERROR:
如若在A.jsp页面page指令中指定了error属性=examError.jsp,那么A.jsp中若出现了异常,会跳转到examError.jsp中处理。而在跳转到examError.jsp时,若过滤器配置了ERROR的dispather那么则会拦截,否则不会拦截。
-->
     <!-- 没有配置dispatcher就是默认request方式的 -->
 	<dispatcher>REQUEST</dispatcher>
</filter-mapping>  

<listener>
    <!--类的位置-->
    <listener-class>com.TianTian.atrribute.MyServletContextAttributeListener</listener-class>
 </listener>

  • context.xml
<Context path="/eml" docBase="eml" debug="0" reloadbale="true" privileged="true">   
    <WatchedResource>WEB-INF/web.xml</WatchedResource>  
    <WatchedResource>WEB-INF/eml.xml</WatchedResource> #监控资源文件,如果web.xml || eml.xml改变了,则自动重新加载改应用。  
    <Resource name="jdbc/testSiteds"   #表示指定的jndi名称  
    auth="Container"   #表示认证方式,一般为Container  
    type="javax.sql.DataSource"  
    maxActive="100"   #连接池支持的最大连接数  
    maxIdle="40"     #连接池中最多可空闲maxIdle个连接  
    maxWait="30000"   #连接池中连接用完时,新的请求等待时间,毫秒  
    username="txl"    #表示数据库用户名  
    password="123456"   #表示数据库用户的密码  
    driverClassName="com.mysql.jdbc.Driver"   #表示JDBC DRIVER  
    url="jdbc:mysql://localhost:3306/testSite" />   #表示数据库URL地址     
</Context>
<!--
1. tomcat server 级别:
在$CATALINA_BASE/conf/context.xml 里配置,如果你在这个地方配置、那么这个配置文件将会被所有的webApp共享 。
2. Host 级别:
在 $CATALINA_BASE/conf/Catalina/${hostName} 里添加 context.xml,继而进行配置,这个配置将会被这个主机上的所有webapp共享。
3. web app 级别:
在 $CATALINA_BASE/conf/Catalina/${hostName} 里添加 ${webAppName}.xml,继而进行配置。
此时,path="",webAppName 即为 path属性的值,也就是访问的虚拟目录。
另:tomcat 服务器文件中的 $CATALINA_BASE/webapps 目录下的所有文件夹都是一个应用。
这个时候不需要自己动手配置,服务器默认将文件夹名映射成虚拟目录名称。
还可以通过 $CATALINA_BASE/webapps/{App}/META-INF/context.xml 来配置,
这个是在web应用中自己添加的,配置和其它一样。
-->
  • tomcat-users.xml

Tomcat Manager是Tomcat自带的、用于对Tomcat自身以及部署在Tomcat上的应用进行管理的web应用。Tomcat是Java领域使用最广泛的服务器之一,因此Tomcat Manager也成为了使用非常普遍的功能应用。

在默认情况下,Tomcat Manager是处于禁用状态的。准确地说,Tomcat Manager需要以用户角色进行登录并授权才能使用相应的功能,不过Tomcat并没有配置任何默认的用户,因此需要我们进行相应的用户配置之后才能使用Tomcat Manager。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值