20240227虚拟目录的常见两种解决方案

虚拟目录的常见两种解决方案

第一种最简单:建设一个应用,直接部署
建立一个目录,建一个WEB-INF目录,直接部署,前缀名为/,或目录名
另外一个应用如果需要使用就直接应用

第2种 如东方通TongWeb使用说明书上写的下面这种方法:
这种一般是文件(比如交通图片等)是 另外一个应用会定期生成图片,方便对应得出目录,

应用中的JSP,html和静态资源可以在放在虚拟目录中(本地任意目录),对于JSP,html和静态资源的加载优先级,如下:
1、war中不存在,虚拟目录下存在,用的是虚拟目录下的;
2、war中存在,虚拟目录下不存在,用war中的;
3、war包和虚拟目录下都存在并且同名的话,用的是虚拟目录下的文件;
该功能仅限JSP,html和静态资源,JSP引用的class需要在应用的类路径下;
使用方式:
在tongweb-web.xml文件的根节点下加入如下内容:

如果应用前缀为“/”,则配置如下:;
说明:aliasPath1指http请求URL中该资源的访问路径;docBase1是资源所在的绝对目录。
如果有多个虚拟目录需要指定,将多个/aliasPathN=docBaseN用逗号隔开即可。
举例如下:

<?xml version="1.0" encoding="UTF-8"?> 比如某应用的静态图片的访问url为http://ip:port/appname/images/code.gif,那么其虚拟目录可以配置为/images=D:\Work\vdir\images,其中/images是请求URL中该资源的访问路径,D:\Work\vdir\images是存放该资源的绝对路径。同理/script下可以放置js资源,/pages下可以放置jsp资源,/css下可以放置css文件。

以上内容很多资料和东方通的自带文档都有说明,很容易搜索到。

下面举一个实际例子说明,实际操作一遍,发现有几个坑,
1.部署应用
首先部署一个tongweb自带的例子
D:\TongWeb7049M3\deployment\TC_examples
2.创建tongwe-web.xml文件
在目录下D:\TongWeb7049M3\deployment\TC_examples\WEB-INF
放置一个文件
D:\TongWeb7049M3\deployment\TC_examples\WEB-INF\tongweb-web.xml
内容如下:

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

注意在电脑上有以下对应目录实际存在:e:\temp\pic 里面会生成或者从其他应用生成一些图片
3.修改应用对应的首页 http://localhost:8088/TC_examples/index.html
D:\TongWeb7049M3\deployment\TC_examples\index.html
如下:

Apac![截图如上](https://img-blog.csdnimg.cn/direct/0de1325f8475470c91ccf6c88f5eb9f0.png#pic_center)

he Tomcat Examples</H3>
<p></p>
<ul>
<li><a href="servlets">Servlets examples</a></li>
<li><a href="jsp">JSP Examples</a></li>
<li><a href="websocket/index.xhtml">WebSocket Examples</a></li>
<img src="./zpb/kid.png">ai生成背猪肉的小孩图片 </img>
</ul>
</body></html>

访问截图如下:

里面的容易踩坑的点:
1.注意这里的zpb是相对于应用的相对目录
http://localhost:8088/TC_examples/

<img src="./zpb/kid.png"> 
之前我编写的是
<img src="/zpb/kid.png">

少了一个 **.**就访问不了
2.修改完tongweb-web.xml以后需要重启一下tongweb, 否则不生效。

  • 25
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值