使用getRealPath创建的文件被创建在. metadata /上.插件文件夹不在WebContent项目文件夹中



我试图在Servlet中使用下面的代码创建一个文件:

File outfile= new File(servletContext.getRealPath("/Output/output.xml"));
OutputStream os = new FileOutputStream(outfile);
来自J2EE应用程序(CallMain)的

文件在部署的临时路径

中创建

.metadata.plugins org.eclipse.wst.server.core tmp1 wtpwebapps CallMain 输出

实际上我想要的文件是创建在当前项目文件夹:WebContent.

实际上,当您在eclipse中使用嵌入式tomcat服务器运行servlet时

getServletContext().getRealPath("WEB-INF")

给你这个

D:workspace.metadata.pluginsorg.eclipse.wst.server.coretmp1wtpwebappsDynaServletProjectWEB-INF

但是当您从独立的Apache Tomcat运行servlet时:

getServletContext().getRealPath("WEB-INF")

得到

D:apache-tomcat-7.0.33webappsDynaServletProjectWEB-INF

虽然在eclipse中你可以给出绝对路径,但我认为这不是最好的方法

默认情况下,您的应用程序在工作空间的.metadata目录下的一个目录中运行。运行时的"真实路径"。查看服务器的配置,查看有关从工作空间文件夹部署应用程序目录的选项。

最新更新