gpt4 book ai didi

java - 获取绝对路径jsf

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:17:01 25 4
gpt4 key购买 nike

我想获取我的应用程序的绝对路径,我正在使用以下代码:

String pathToSave = FacesContext.getCurrentInstance()
.getExternalContext().getRealPath("/");

结果是:

/home/ronaldo/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/Odontonew/

但我正在等待类似这样的东西:/home/ronaldo/workspace/Odontonew/

怎么了?

最佳答案

ExternalContext#getRealPath() 返回相对于 webapp 被部署的位置的路径,而不是 webapp 的开发位置,正如您似乎错误地期望的那样。

但是,变量名 pathToSave 表明了一个更大的问题:您似乎打算将文件保存在那里。这是一个坏主意,原因在以下答案中提到:Uploaded image only available after refreshing the page .简而言之,将它们保存到固定的本地磁盘文件系统路径。请注意,某些服务器提供了使此步骤更容易配置的方法,例如JBoss .

只需停止使用 getRealPath()。你在现实世界中永远不需要它。在我开发 Java Web 应用程序的 10 年中(它在 ServletContext#getRealPath() 的幕后),该方法从来没有用过任何东西。完全忽略该方法。

另见:

关于java - 获取绝对路径jsf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18478825/

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