【发布时间】:2019-06-29 23:20:46
【问题描述】:
<%=session.getServletContext().getRealPath("/") %>
<%
String path= session.getServletContext().getRealPath("/");
FileOutputStream file = new FileOutputStream(path+"\\testingfile.txt");
%>
上面的代码是我的jsp代码,我运行这个页面后会显示如下输出。
C:\Users\Stark\Documents\Eclipse IDE\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\Demo\
为什么我得到这条路?而不是我想获得我需要的以下路径...
C:\Users\Stark\Documents\Eclipse IDE\Demo
如何解决这个问题?我需要这个项目位置来将我的文件上传到这个位置,所以请帮助我!
【问题讨论】:
-
为什么你的 webapp 需要那个路径?部署 webapp 以供生产使用时,它不会有它。
-
仅供参考: 不要对 Java 代码使用 sn-ps。片段仅适用于 JavaScript。
-
是的,我不需要那个路径,但我必须上传应该在项目文件夹中的文件,对吗?那么如何使用相对路径上传这些文件?但在 netbeans 中它工作正常,它显示正确的绝对路径,但 eclipse 显示 .metadata 文件夹。
-
您无法上传到项目文件夹。正如我已经说过的,当您将代码部署到服务器时,没有项目文件夹。你甚至不能在java文件或资源文件旁边上传,因为它们都在jar文件或war文件中。 webapp 创建的任何文件,包括上传的文件,都必须存储在项目文件夹/部署位置之外的其他位置。
标签: java jsp servlets jakarta-ee