tomcat——配置虚拟目录

来源:互联网 发布:淘宝人生新笔趣阁 编辑:程序博客网 时间:2024/06/05 11:27

方法一:修改Tomcat 6.0\conf\ server.xml(需要重启)

<?xml version='1.0' encoding='utf-8'?><Server port="8005" shutdown="SHUTDOWN">  <!--APR library loader. Documentation at /docs/apr.html -->  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />  <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->  <Listener className="org.apache.catalina.core.JasperListener" />  <!-- Prevent memory leaks due to use of particular java/javax APIs-->  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />  <!-- JMX Support for the Tomcat server. Documentation at /docs/non-existent.html -->  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /  <GlobalNamingResources>    <Resource name="UserDatabase" auth="Container"              type="org.apache.catalina.UserDatabase"              description="User database that can be updated and saved"              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"              pathname="conf/tomcat-users.xml" />  </GlobalNamingResources>  <Service name="Catalina">    <Connector port="8080" protocol="HTTP/1.1"                connectionTimeout="20000"                redirectPort="8443" />    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />    <Engine name="Catalina" defaultHost="localhost">      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"             resourceName="UserDatabase"/>       <Host name="localhost"  appBase="webapps"            unpackWARs="true" autoDeploy="true"            xmlValidation="false" xmlNamespaceAware="false"><Context path="/apkdownload" docBase="F:/apkdownload" reloadable="true"/>       </Host>      </Engine>  </Service>  </Server>

在<Host>和</host>之间加上 
<Context path="/apkdownload" docBase="F:/apkdownload" reloadable="true"/>

参数:path path是指相对于网站URL所言,表示在浏览器中输入http://localhost:8080/apkdownload
     docBase表示你的程序包的物理绝对路径,默认的绝对路径是$Tomcat_Home$/webapps

如果需要更改“/”目录的文件位置,只需要将上面Host标签中的appBase中的值更改即可,如更改为 appBase=”c:\myweb”,这样使用Http://localhost即可访问位于C盘myweb文件夹内的网页。


设置图片的虚拟路径

除了部署web程序,常常也用来设置比如图片的虚拟路径。

假如你的工程名为 myproject,上传目录为 /mvtech/.../upload
在 server.xml 中加上一行:

<!-- 设置图片虚拟路径 --><Host name="localhost" appBase="webapps"    unpackWARs="true" autoDeploy="true"    xmlValidation="false" xmlNamespaceAware="false">     <Context path="/myproject/upload" docBase="/mvtech/.../upload"></span></Host>


以后就可以使用 http://localhost:8080/myproject/upload/****.jpg 访问了。其实本质就是tomcat发布了两个目录,一个是专门存放图片目录,另一个是存放Web应用的目录


方法二:$tomcat_home$/conf/catalina/localhost目录下增在配置文件(tomcat会自动加载,不需要重启)

新增apkDemo.xml文件(该文件名的apkDemot要和下面的“path=“/xxx"”的xxx相同):

<?xml version="1.0" encoding="UTF-8"?><Context  path ="/apkDemo"  docBase ="D:\JAVA\myEclipse_App\webApp\ApkDemo\WebRoot"          workDir="D:\JAVA\myEclipse_App\webApp\ApkDemo\work" privileged ="true"  reloadable ="true"></Context>

workDir:是指Tomcat解析Jsp转换为Java文件,并编译为class存放的文件夹,设置在项目文件夹里面,

                可以避免移植到其他地方首次读取jsp文件需要重新解析 ,一般不需要设置。


reloadable:如果希望Catalina监视/WEB-INF/classes/和/WEB-INF/lib下面的类是否发生变化,

                    在发生变化的时候自动重载web application,设为true。这个特征在开发阶段很有用,

                    但也大大增加了服务器的开销。因此,在发布以后,不推荐使用。


privileged:设为true,允许context使用container servlets,比如manager





0 0