背景:
上传的图片和web应用不在同个路径里,例如web应用在D盘,上传图片1.jpg在E:\upload\img目录里,这时就需要配置虚拟路径后,才能显示图片。
Tomcat和WebLogic的不同配置
1、Tomcat虚拟路径配置:
在tomcat下的conf/server.xml的Host节点里面增加一行配置:
<Context path="/img" docBase="e:\upload\img\" reloadable="true"></Context>
jsp文件相应为<img src="/img/1.jpg" />
说明:path="/img"这里的img可以随便命名,如imgfile,则jsp文件相应为<img src="/imgfile/1.jpg" />
2、WebLogic虚拟路径配置:
找到web应用下的WEB-INF目录里面的weblogic.xml文件(和web.xml同级,没有则新建一个)进行配置,刚开始在配置WebLogic时,模仿Tomcat的配置如
下:
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/90">
<context-root>/</context-root>
<virtual-directory-mapping>
<local-path>E:/upload/img</local-path>
<url-pattern>imgfile/*</url-pattern>
</virtual-directory-mapping>
</weblogic-web-app>
jsp文件为<img src="/imgfile/1.jpg" />,结果老是报404找不到错误,经过一番测试,发现这里的url-pattern的imgfile需要是真实存在的路径,这
是和Tomcat最大的区别!
下面为正确的配置方法:
(1)weblogic.xml文件配置
<virtual-directory-mapping>
<local-path>E:/upload</local-path>
<url-pattern>/img/*</url-pattern>
</virtual-directory-mapping>
则jsp文件相应为<img src="/img/1.jpg" />
(2)weblogic.xml文件配置,关键节点如下:
<virtual-directory-mapping>
<local-path>E:/upload/img</local-path>
<url-pattern>/*</url-pattern>
</virtual-directory-mapping>
则jsp文件相应为<img src="/1.jpg" />
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步