gpt4 book ai didi

java - getServletContext().getRealPath ("") 在 WebLogic 中返回 null

转载 作者:搜寻专家 更新时间:2023-11-01 03:51:37 34 4
gpt4 key购买 nike

当下面的行被执行时

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 控制台 -> 域 -> Web 应用程序 -> 检查存档的真实路径(我不想这样做)
2.我可以手动将以下条目添加到 weblogic.xml 中

   <container-descriptor>
<show-archived-real-path-enabled>true</show-archived-real-path-enabled>
</container-descriptor>

我在 weblogic.xml 中添加并尝试重新部署,但 realPath 在添加 xml 文件后仍然返回 null。

当我通过更改控制台中的设置尝试第一种方法时,我可以看到 realPath 正在返回正确的路径。但我不希望用户不应该做任何更改。

除了上述两种用于 weblogic 的方法之外,还有其他替代方法吗?或者我可能遗漏了一些东西。

最佳答案

使用您的第二个选项,它在 WLS12.1.3 上对我有用。Oracle 记录了这两种方法:在存档的 Web 应用程序中调用 ServletContext.getRealPath() 会引发 NullPointerException(文档 ID 858783.1)

根据该说明,恐怕没有第三种选择。

关于java - getServletContext().getRealPath ("") 在 WebLogic 中返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26056989/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com