Tomcat server.xml简单配置

Tomcat是Apache开源软件组织的一个软件项目,它本身完全用Java语言编写,它是一个优秀的Servlet容器.

1.基本功能

Tomcat作为运行Servlet的容器,其基本功能是负责接收和解析来自客户的请求,同时把客户的请求传送给相应的Servlet,并把Servlet的响应结果返回给客户.
这里写图片描述

2.组成结构

该结构主要是/conf/server.xml中的结构,用于配置Tomcat.
在该Xml代码中,每个元素都代表一种Tomcat组件,这些元素可分为4类:

  • 顶层类元素:< Server>和< Service>
  • 连接器类元素:< Connector>,代表介于客户与服务器之间的通信接口.
  • 容器类元素:< Engine>,< Host>,< Context>,< Cluster>.
  • 嵌套类元素:< Valve>,< Realm>

首先看一个创建好了的server.xml文档:

<?xml version="1.0" encoding="UTF-8"?>
<!-- 启动Server 在端口8005处等待关闭命令 如果接受到"SHUTDOWN"字符串则关闭服务器 -->  
<Server port="8005" shutdown="SHUTDOWN">
<!--APR library loader. Documentation at /docs/apr.html -->
  <Listener SSLEngine="on" className="org.apache.catalina.core.AprLifecycleListener"/>
  <!-- Prevent memory leaks due to use of particular java/javax APIs-->
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/>

  <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>

  <!-- 服务Service -->
  <Service name="Catalina">
    <!-- Http连接器,监听8080端口,负责建立Http连接 -->
    <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
               <Connector SSLEnabled="true" clientAuth="false" keystoreFile="conf/.keystore" keystorePass="123456" maxThreads="150" port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https" secure="true" sslProtocol="TLS"/>
   <!-- AJP连接器,监听8009端口,负责和其他的Http服务器建立连接 -->
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>

    <!-- 自带名为Catalina的Engine组件,它的默认虚拟主机为localhost -->
    <Engine defaultHost="localhost" name="Catalina">
    <!-- 定义的安全域,所有的虚拟主机都共享这个Realm -->
      <Realm className="org.apache.catalina.realm.LockOutRealm" />
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
      </Realm>

      <!-- 名字为localhost的虚拟主机 -->
      <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
      <!-- 访问日志阀,能够将客户的请求信息写到日志文件中 -->
        <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"/>
        <!-- 一个web项目,它的目录为appBase + docBase = webapps/ServletFramework -->
        <Context docBase="ServletFramework" path="/ServletFramework" reloadable="true" source="org.eclipse.jst.jee.server:ServletFramework"/></Host>

      <p align="left"/>
    </Engine>
  </Service>
</Server>

3.工作模式

3.1 独立的Servlet容器

Tomcat作为独立的Web服务器来单独运行,Servlet容器组件作为Web服务器的一部分而存在,这是Tomcat的默认工作模式.在这种模式下,Tomcat需要启动一个Java虚拟机.

3.2 其他Web服务器进程内的Servlet容器

这种模式下,Tomcat分为Web服务器插件和Servlet容器组件两部分.如果客户端发送调用Servlet的请求,web服务器插件获取请求的控制并将它转发给Servlet容器组件.

3.3 其他Web服务器进程外的Servlet容器

这种模式下,Tomcat分为Web服务器插件和Servlet容器组件两部分.Web服务器插件在其他web服务器外部地址空间启动一个Java虚拟机进程,Servlet容器组将再次Java虚拟机上运行。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值