深入理解Tomcat虚拟目录

我们知道,Web网站中的内容(包括网页,图片,音频文件等)一般都存放在App的目录下。但随着网站内容的不断丰富,用户需要把不同层次的内容组织成网站的子目录。我们通常的做法是在网站主目录下新建子目录,并把相关的内容放置到对应的目录。此外,还有另外一种方法,就是创建虚拟目录。虚拟目录可以是磁盘上有权限操作的任意路径(将虚拟路径设置为readOnly是绝对不行的),也可以是网络中其他计算机的目录。

相对而言,创建子目录的方式更安全高效。但为什么还要有虚拟目录呢?这是因为虚拟目录解决了Web文件必须放在Web根目录下的难题。一方面,这样大大增加Web工程的存储空间。另一方面,也为多个不同的工程共享同一份文件提供了保障。比如,当我们多个网站都需要访问同一份文件时,我们只需将该虚拟路径指向改文件的地址即可,这样就避免了同一份文件多次拷贝的问题。

在Tomcat7版本下,配置虚拟路径修改以下两个文件:

1.server.xml

打开Tomcat目录下的/conf/server.xml文件,在Host之前加入下面红色部分的内容。


<Host name="localhost" appBase="webapps"

unpackWARs="true" autoDeploy="true">

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"

prefix="localhost_access_log." suffix=".txt"

pattern="%h %l %u %t &quot;%r&quot; %s %b" />

<Context path="/appName/filePath" docBase="/opt/filePath" reloadable="true" debug="0"/>

</Host>

path : 工程名称+文件路径,当访问path目录下的文件时,实则访问docBase目录下的文件。

docBase : 文件的真实路径。注意这里如果有文件长传,则将上传的文件路径设置为docBase,而不是path。

2. web.xml

打开Tomcat目录下的/conf/web.xml,将下面红色部分listings的属性设置为True。


<servlet>

<servlet-name>default</servlet-name>

<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>

<init-param>

<param-name>debug</param-name>

<param-value>0</param-value>

</init-param>

<init-param>

<param-name>listings</param-name>

<param-value>true</param-value>

</init-param>

<load-on-startup>1</load-on-startup>

</servlet>

不可否认,虚拟目录的使用为我们的开发和部署带来了极大的便利,但是由于配置虚拟目录必须要将listings属性设置为True,这样就将该目录下的所有文件都暴露给了用户,这样也给系统的使用带来了一定的风险。所以,选择使用虚拟目录一定要慎重。

深入理解Tomcat虚拟目录,布布扣,bubuko.com

时间: 2024-10-11 17:59:05

深入理解Tomcat虚拟目录的相关文章

Tomcat虚拟目录的设置

在学习JSP/Servlet的过程中,配置Tomcat的虚拟目录可能是我们遇到的第一个比较麻烦的问题,说是麻烦是针对我们初学者而言,对于高手那都不是问题.反正我是弄了一天才配置好,发现网上给出的很多配置方法都行不通,最后还是在一本参考书上寻找到答案.所以说大家以后在网上寻找资料需要仔细鉴别. 总的来说Tomcat的虚拟目录的配置有两种方式: 1.修改server.xml 2.Tomcat\conf\Catalina\localhost文件路径下添加一个xml配置文件 以下来详细讲解(我的Tomc

tomcat虚拟目录

1.server.xml 打开Tomcat目录下的/conf/server.xml文件,在Host之前加入下面红色部分的内容. <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.catalina.valves.AccessLogValve

tomcat 虚拟目录配置

1.虚拟目录优点 原始 拷贝到webapps下,然后启动tomcat,就可以访问webapps下的项目.eclipse配置tomcat的原理也是这种方式. 虚拟目录 定位到eclipse工作目录下,实现实时更新,实时使用. 2.实现方法 方法1: Tomcat/conf/catalina/localhost下根据项目命名"项目名.xml" <Context path="/test" docBase="E:\workspace\test\WebRoot

Tomcat虚拟目录配置方法及原理

tomcat 安装好之后,只需要把你的程序包放到$Tomcat_Home$/webapps下就可以直接使用了.这样会使webapps越来越大就需要设置虚拟目录: 1.单个应用设置: 在<Host>和</host>之间加上 <Context path="/site" docBase="d:\site" reloadable="true" debug="0"> </Context> 

Tomcat 虚拟目录映射

不废话 1.打开在tomcat的目录下的-conf(配置文件夹)-server.xml 在<Host/>之前加上: <Context path="/itcast" docBase="你的web应用路径" /> 访问localhost:8080/itcast/你要访问的文件 举个栗子:http:localhost:8080/itcast/1.html 备注1:一定要记得打后面那个 / . 备注2:需要重启tomcat. 备注3:itcast是个

tomcat虚拟目录配置

1.web容器:仅在动态web中,专门用来处理数拼凑代码,可连接数据库.EJB分布式开发中的容器.2.tomcat:4.1/4.5&5.5/6.0只是适用jdk版本不同问题.安装时必须关闭防火墙.3.jsp追中都是以*.Class形式执行4.tomcat主目录:bin所有可执行命令,开启和关闭:conf配置信息文件夹:lib库文件:logs日志:webapps工程文件存放:work临时文件(每次js重编译所放临时文件,如果卡顿无法编译新没内容可删除. 5.端口修改:conf-server.xml

java tomcat虚拟目录的深入了解

我们知道,Web网站中的内容(包括网页,图片,音频文件等)一般都存放在App的目录下.但随着网站内容的不断丰富,用户需要把不同层次的内容组织成网站的子目录.我们通常的做法是在网站主目录下新建子目录,并把相关的内容放置到对应的目录.此外,还有另外一种方法,就是创建虚拟目录.虚拟目录可以是磁盘上有权限操作的任意路径(将虚拟路径设置为readOnly是绝对不行的),也可以是网络中其他计算机的目录. 本人qq群也有许多的技术文档,希望可以为你提供一些帮助(非技术的勿加). QQ群:   28144298

tomcat 虚拟目录

在webapps同级目录 下建立一个webapps_abc的目录,将网站根目录abc文件夹放入webapps_abc目录下: 找到conf目录下的,server.xml文件,在service节点下添加: 3.在万网中,将www.abc.com绑定到远程机器的IP地址: 4.浏览器中输入www.abc.com即可访问到映射到abc根目录的网站: 5.基于HTTP协议可以将主机名www.abc.com传到Tomcat.

配置Tomcat虚拟目录详解

在tomcat6版本中: 1.[官方文档]本人不推荐. 在tomcat\conf下server.xml中找到 <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> </Hos