-
tomcat 虚拟目录,文件不再工程目录 访问方法
2014-06-15 20:37:47多台tomcat主机(win2003平台)做负载均衡时,希望共享虚拟目录,没有采用同步各主机虚拟目录的方式,所以只能在文件服务器上开辟共享目录,将tomcat的context docpath指向它。tomcat主机上将共享目录映射为本地磁盘...多台tomcat主机(win2003平台)做负载均衡时,希望共享虚拟目录,没有采用同步各主机虚拟目录的方式,所以只能在文件服务器上开辟共享目录,将tomcat的context docpath指向它。tomcat主机上将共享目录映射为本地磁盘,配置如下
<Context docBase="V:\shareDir" path="/app"/>
如果是script方式(通过startup.bat),可正常启动,以服务方式启动tomcat时,总是报“Document base does not exist or is not a readable directory”,修改tomcat启动服务账户为administrator,问题依旧,怀疑服务模式下无法访问网络驱动器,将docbase指向共享目录的UNC path即远程访问方式
<Context docBase="\\192.168.1.2\shareDir" path="/app"/>
新的错误出现了,报“java.io.IOException: 登录失败: 未知的用户名或错误密码”,说明tomcat是可以通过unc path来配置context的docbase,不过当前的这个账户访问受限,奇怪的是,在当前桌面环境中是可以顺利访问\\192.168.1.2\shareDir这一路径的。联想到这组服务器都是在windows域控制环境下,以域用户登录系统并将服务启动账户改为域用户domain\administrator,问题解决。
总结:
(1) tomcat可以通过unc path来配置context的docbase
(2)因为映射的网络驱动器,是在用户的profile中配置, 服务模式下tomcat不能访问到网络驱动器(猜想,可能可以通过修改profile来访问网络驱动器)
(3)若远程共享目录只有域用户才能访问,在启动tomcat服务时,必须指定以域用户启动服务
参考:
http://wiki.apache.org/tomcat/FAQ/Windowshttp://blog.mattwoodward.com/accessing-a-network-drive-from-apache-and-tom?c=1
在tomcat安装好后,只要把你的web项目copy到%TOMCAT_HOME%webapp下面就可以是使用啦!!其实还有种方法就是设定虚拟目录,即把项目的目录映射到tomcat中。这样做即可以不用重复的部署,节约时间,而且给开发人员带来方便。
方法如下:
1,找到%TOMCAT_HOME%/conf/server.xml,(即tomcat的安装目录下面相关的文件)打开此xml文件,在 <host> </host>之间加入如下代码:
<Context path="" reloadable="true" debug="0" docBase="E:/workspace/test/bin" workDir="E:/workspace/test/work" crossContext="true" >
</Context>
<Context path="/test" docBase="E:/aaa" debug="0" reloadable="true"/>
docBase是实际路径,这里一般写一个绝对的磁盘路径,当然也可以写 相对路径,相对路径是相对于tomcat安装目录的webapps目录的,通常设置虚拟目录的目的是将tomcat的安装和项目的保存分开,所以这里建议你使用磁盘绝对路径,并且这个磁盘路径不时在tomcat安装目录下。workDir是tomcat运行是对JSP文件做编译后的文件,这个文件最好也是分开。
path为虚拟路径,访问时的路径,注意:一定要加“/”。值得注意的是:path可以为 "/"那么访问“IP:端口”就可以访问到布置的工程,如果为"/test",那么必须得访问“IP:端口/test”才能访问到,我建议采用第一种方法。不然访问每个工程都得有个虚拟路径,看上去不舒服。可能你会想到如果我有多个工程怎么办?是不是一定得取几个虚拟路径,如果你用一个IP的话那是肯定的。但是如果你把机器多设置几个IP,那么就行了,每个工程占用一个IP,这样层次结构更加清晰。
debug建议设置为0,reloadable设置为true。
2,如果在测试中出现404的错误,如果前面配置没有错,可能就是在%TOMCAT_HOME%/conf/web.xml文件中把虚拟路径显示目录给禁止啦,此时可以在web.xml文件中找到
<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>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
将listings的value改为true,然后重新启动tomcat,在输入url,测试成功!
3,如果项目开发完成,准备部署在服务器上时,记住要把第三步中web.xml文件中参数listings的值改为false,这样可以避免把项目的部署路径呈现给使用者!
具体如下:
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
4、访问多台机器文件问题:
文件太多的时候必然需要跨目录或跨盘,这个时候就需要用到虚拟目录,但是Tomcat 不能直接跨Context 进行Forward。
例如:
用 Context 配置映射了虚拟目录 data1, 目录下有文件 123.txt
如果要在 / 下直接 forward 到 "/data1/123.txt" 是不行的,会提示 404 找不到文件。
那么就需要灵活应用Tomcat 虚拟目录映射:
在 D:/Tomcat/conf/Catalina/test 目录下(test为Server.xml配置文件中的域名) 增加 一个 xml 文件,(test要创建),创建之后加上这个样一个XML文件(这里就取名为data1.xml):
<Context docBase="//IP/data1" reloadable="false" crossContext="true" />
并且修改 Server.xml 中的 Context 允许 crossContext="true"。
那么就可以在工程中访问另外台机器上的文件(当然这个台机器需要共享访问的文件)。例如:
<img src="/data1/001/002/003.png">,来显示图片。
问题又来了,就是权限问题,共享的文件不想给任何人访问的话,就需要设置共享权限,那么就需要配置tomcat的权限:
1、在共享的机器上设置tomcat帐户和密码,并加入共享权限。
2、然后在放tomcat的服务器上,设置相同的tomcat帐户和密码。
3、在tomcat服务上配置登录账号和密码。 -
Tomcat配置虚拟目录访问服务器本地文件
2018-11-12 23:52:29在apache-tomcat-9.0.2\conf\server.xml文件里添加<Context path="/virtualFiles" docBase="D:\upload"/> <Server> <Service name="Catalina"> <Engine> <Host name="localhost...在apache-tomcat-9.0.2\conf\server.xml文件里添加<Context path="/virtualFiles" docBase="D:\upload"/>
<Server> <Service name="Catalina"> <Engine> <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 "%r" %s %b" /> <!-- 配置虚拟目录 --> <Context path="/virtualFiles" docBase="D:\upload"/> </Host> </Engine> </Service> </Server>
浏览器路径: http://服务器ip地址:端口/virtualFiles/XXX/XX.png
-
tomcat各个目录文件的意义以及虚拟目录的配置
2020-02-22 20:59:58各个目录文件的意义 虚拟目录的配置 首先先找到你tomcat的安装路径,然后找到其目录下的conf目录 然后双击打开其目录下的server.xml **然后找个记事本啥的打开,找到<Host></Host>,在</Host>前...各个目录文件的意义
虚拟目录的配置首先先找到你tomcat的安装路径,然后找到其目录下的conf目录
然后双击打开其目录下的server.xml
**然后找个记事本啥的打开,找到<Host></Host>
,在</Host>
前一行加上<Context path="/在访问时的路径(或者说你起的个别名)" docBase="你的文件真正存在的真正路径" debug="0" reloadble="true"/>
比如我在 C:\Users\ASUS\Desktop\test下放了个index.html,所以我的docBase就是 C:\Users\ASUS\Desktop\test,贴图(path里面的 / 别忘了写)
然后你在打开conf/web.xml文件
然后修改里面的<param-valuse>
为true
然后就可以了,双击bin目录下的startup.bat文件,开启tomcat,如果你的黑框出现闪退情况了,那就是你的server.xml文件里配置错啦,好好检查一下,打开浏览器,输入http://localhost:8080/demo ,这个demo就是我的path
因为web是把index的文件名当做首页,所以我的直接出来页面,如果我打index.html改成1.html出来的就是文件名哈
最后搞定,如果有问题,欢迎讨论和指出哦 -
Tomcat虚拟目录配置
2018-09-11 21:02:11通过虚拟目录访问到项目文件 1 在自己的任意盘符中新建文件夹virtualDIR(最好不要在C盘),创建index.html文件 2 在Tomcat安装目录下的conf文件夹(我的是D:\apache-tomcat-9.0.11\conf),找到server.xml文件,...通过虚拟目录访问到项目文件
1 在自己的任意盘符中新建文件夹
virtualDIR
(最好不要在C盘),创建index.html文件2 在Tomcat安装目录下的conf文件夹(我的是D:\apache-tomcat-9.0.11\conf),找到server.xml文件,打开
3 使用
Ctrl+F
查找到4 添加一行
<Context path="/test" docBase="F:\virtualDIR" debug="0" reloadble="true"/>
docBase项目的虚拟目录,非webapps下
path为浏览器访问目录
5 开启Tomcat服务器。在浏览器访问
localhost:8080/test
如图,访问成功,虚拟目录就此配置好了。
-
TOMCAT 虚拟目录
2013-05-25 22:23:33在tomcat下使用虚拟目录: 第一种:$TOMCAT_HOME/conf/Catalina/localhost目录下添加文件VDTEST.xml 文件内容如下: ... 启动tomcat,访问http://localhost:8080/DVTEST查看虚拟目录内容 ... -
Tomcat虚拟目录
2016-03-24 20:34:45虚拟目录的建立:打开tomcat的conf中的server.xml,添加 例如 这样我们就能通过http://localhost:8080/xmgl访问到D盘下面的shop项目。 但是这样做每次修改server.xml文件都要重启tomcat生效, 所以推荐使用如下方法... -
Tomcat 虚拟目录
2018-09-04 15:46:14找到conf目录下的,server.xml文件,在service节点下添加: 3.在万网中,将www.abc.com绑定到远程机器的IP地址; 4.浏览器中输入www.abc.com即可访问到映射到abc根目录的网站; 5.基于HTT... -
tomcat虚拟目录配置
2012-12-19 11:02:48一、tomcat5.5配置: 如果tomcat5.5安装在D:\Tomcat 5.5,则找到tomcat安装目录下的conf\Catalina\localhost文件夹, 在里面新加名为test.xml的xml文件 : 访问:...设置tomcat虚拟目录D:\Web\JSP -
tomcat 虚拟目录配置
2018-08-03 09:06:43解决的问题:原来访问路径是:localhost:8080/live/+url。使 localhost:8080/api/2.0/...方式一:配置server.xml文件(推荐)(虚拟目录名称(path)可以是多级目录结构的形式) 在%tomcathome%\conf\server.xml... -
tomcat 虚拟目录
2015-06-12 20:50:00找到conf目录下的,server.xml文件,在service节点下添加: 3.在万网中,将www.abc.com绑定到远程机器的IP地址; 4.浏览器中输入www.abc.com即可访问到映射到abc根目录的网站; 5.基于H... -
Linux 配置tomcat 虚拟目录
2017-06-28 15:54:30有时候我们部署项目的时候,不想要输入项目名,只要输入一个域名就可以访问的话,就需要配置一下Tomcat的虚拟目录 配置虚拟目录的方法有很多种,在这里列举最好用的两种 方法1:编辑Tomcat的Server.xml文件 在... -
配置Tomcat虚拟目录和主机,通过主机名来访问项目
2019-09-29 15:41:21这里教大家配置tomcat虚拟主机,访问项目时,直接输入虚拟主机名字即可! 步骤: 1. 设置默认端口:进入tomcat目录–>conf–>server.xml文件: 找到标签Connector下的port属性,将其值8080改为80 1 2... -
Tomcat配置访问任意其它路径的图片和文件:Tomcat配置虚拟目录
2021-04-03 21:24:17一、配置虚拟目录 配置完成 以上配置相当于在tomcat的server.xml文件当中配置:下面自动生成 二、通过浏览器访问对应目录下的图片 访问路径:http://localhost:8080/pic/1.png -
Tomcat 配置虚拟目录访问
2010-08-27 23:38:00在Tomcat安装目录文件中找到conf文件夹,在里面server.xml进行相关配置即可。 具体配置server.xml: 在文件最后的根节点 前进行添加。例如: ... -
Tomcat虚拟根目录与虚拟目录
2015-04-17 14:51:35一、虚拟根目录 1. Tomcat 的默认根目录:D:\apache-tomcat-7.0.42\webapps\ROOT ...启动Tomcat后,在浏览器地址栏输入:http://localhost:8080/,访问的其实就是tomcat虚拟根目录下的index.jsp文件。 -
Tomcat虚拟目录设置
2014-03-06 17:04:19例如在G盘下有一个web应用(G:\weba),建立虚拟目录: 1.在tomcat目录下找到conf文件的server.xml. 2.找到> 添加 path是http://**/web应用名/web资源名 将docBase的设置成期望的路径(绝对路径) 重新... -
tomcat 虚拟目录设置
2017-03-31 11:08:46在tomcat的server.xml文件里添加这行 这是在linux上的配置 ,意思是说... ... ...这个是在windows下的tomcat配置,就是说把静态文件放在D盘的文件夹下,用网址直接访问就可以了 注意测试 -
tomcat虚拟目录
2010-09-02 16:57:00docBase:指定Web应用的文件路径,可以给定绝对路径,也可以给定相对于的appBase属性的相对路径,如果Web应用采用开放目录结构,则指定Web应用的根目录,如果Web应用是个war文件,则指定war文件的路径。... -
深入理解Tomcat虚拟目录
2018-04-12 14:18:00这是因为虚拟目录解决了Web文件必须放在Web根目录下的难题。一方面,这样大大增加Web工程的存储空间。另一方面,也为多个不同的工程共享同一份文件提供了保障。比如,当我们多个网站都需要访问同一份文件时,我们只.... -
tomcat虚拟目录的配置
2013-09-23 10:56:26在项目中遇到了要在jsp中...最终的解决方法就是配置tomcat的虚拟目录,将硬盘的某个目录映射到tomcat下。具体的配置方法为: 1. 在tomcat目录下找到conf文件夹,里边应该没有catalina文件夹,要自己建立。在catalina文