方法一:修改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