【发布时间】:2014-11-21 07:30:52
【问题描述】:
当下面一行被执行时
String realPath = request.getSession().getServletContext().getRealPath("");
String imagePath = realPath/images/product/abc.jpeg;
System.out.println("ImagePath-> " + imagePath)
当我尝试打印 sys out 行时,我可以看到 realPath 在 weblogic 中返回 null 为 null/images/product/abc.jpeg
当我用谷歌搜索解决方案时。我找到了两个解决方案:-
1.通过手动我可以去Weblogic Console -> Domains -> Web Application -> Check the archived real path
(我不想这样做)
2.我可以手动将以下条目添加到weblogic.xml中
<container-descriptor>
<show-archived-real-path-enabled>true</show-archived-real-path-enabled>
</container-descriptor>
我在weblogic.xml 中添加并尝试重新部署,但在添加 xml 文件后,realPath 仍然返回 null。
当我通过更改控制台中的设置尝试第一种方法时,我可以看到 realPath 正在返回正确的路径。但我不希望该用户应该做任何更改。
除了以上两种用于 weblogic 之外,还有其他替代方式吗,或者我可能遗漏了什么。
【问题讨论】:
-
试试 getRealPath("/images/product/abc.jpeg")。
-
@EJP-- 谢谢..我试试看
-
不要劫持,但这是一个通用的解决方案吗?这对 glassfish 有用吗?
标签: java jakarta-ee servlets weblogic12c