Java进阶(十)java tomcat中context配置

来源:互联网 发布:凯聪网络摄像机软件 编辑:程序博客网 时间:2024/05/29 03:58

TomcatContext的配置

问题:

java tomcat<context> docBase属性是什么意思?

元素的属性:
path:指定访问该Web应用的URL入口。 
docBase:指定Web应用的文件路径,可以给定绝对路径,也可以给定相对于appBase属性的相对路径,如果Web应用采用开放目录结构,则指定Web应用的根目录,如果Web应用是个war文件,则指定war文件的路径。(指定项目所在地址
reloadable:如果这个属性设为truetomcat服务器在运行状态下会监视在WEB-INF/classesWEB-INF/lib目录下class文件的改动,如果监测到有class文件被更新的,服务器会自动重新加载Web应用。

 

当我们开发完一个Web应用后,我们需要将该应用发布到Web Server中,以便其他用户可以访问。在JavaWEB开发领域,我们通常使用TOMCAT作为我们的WEB服务器进行测试或正式部署。

 

一般我们将WEB应用打包成WAR格式,然后拷贝到TOMCATWEBAPP目录下进行发布,在正常情况下,TOMCAT将自动解压WAR文件并生成对应的目录,而且会在内存中动态创建该WEB应用对应的CONTEXT路径。比如我们的WAR文件是Sample.war,那么解压后的目录就是Sample目录,在内存中动态创建的Context路径就是/Sample。在开发阶段这样的默认行为是可以接受的,但是在正式部署的情况下,我们通常需要修改应用的Context路径以适应我们的需要。

 

如果我们想让用户仅仅输入域名来访问我们的Sample应用,我们就需要修改TomcatContext设置。具体如何设置Context路径的方式有两种,一种是修改{TOMCAT_HOME}/conf/server.xml文件,另一种是建立一个Context片段文件放在webapps目录下。我们这里介绍第一种方式。

 

使用任何文本编辑器打开server.xml文件,在<Host>节点下增加<Context>节点,并设置path,docBase,debugreloadable属性,如下:

 

<?xml version="1.0" encoding="UTF-8"?>

<Server>

  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>

  <Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>

  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"/>

  <GlobalNamingResources>

    <Environment

      name="simpleValue"

      type="java.lang.Integer"

      value="30"/>

    <Resource

      auth="Container"

      description="User database that can be updated and saved"

      name="UserDatabase"

      type="org.apache.catalina.UserDatabase"

      pathname="conf/tomcat-users.xml"

      factory="org.apache.catalina.users.MemoryUserDatabaseFactory"/>

  </GlobalNamingResources>

  <Service

      name="Catalina">

    <Connector

        port="8080"

        redirectPort="8443"

        minSpareThreads="25"

        connectionTimeout="20000"

        maxSpareThreads="75"

        maxThreads="150"

        maxHttpHeaderSize="8192">

    </Connector>

    <Connector

        port="8009"

        redirectPort="8443"

        protocol="AJP/1.3">

    </Connector>

    <Engine

        defaultHost="localhost"

        name="Catalina">

      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"/>

      <Host

          appBase="webapps"

          name="localhost">

        <Context

            path="/samples">

          <WatchedResource>WEB-INF/web.xml</WatchedResource>

        </Context>

        <Context

            path="/profiler">

          <WatchedResource>WEB-INF/web.xml</WatchedResource>

        </Context>

        <Context

            path="/flex">

          <WatchedResource>WEB-INF/web.xml</WatchedResource>

        </Context>

        <!-- 配置直接通过域名访问/Samples应用 -->

        <Context path="" docBase="/samples" debug="0" reloadable="true">

        

        </Context>

      </Host>

    </Engine>

  </Service>

</Server>

0 0
原创粉丝点击