如何获取任何应用程序的上下文根文件系统路径

3

我正在开发一个Web应用程序。我在jsp中调用了request.getContextPath(),但奇怪的是我得到了地址/streetshop

然后我添加了一些路径,如request.getContextPath() + "abc"并创建文件夹。

然后它在D://中创建文件夹,而不是我的Web应用程序文件夹。

请告诉我如何上传图像并将其放置在我的web-application root/images/images.gif目录下。


你能贴出用于创建文件夹的代码吗? - Andrey Adamovich
以下是我用于存储图像的代码...String imagePath = request.getContextPath() + System.getProperty("file.separator") + p_form.getCategorySelect() + System.getProperty("file.separator") + p_form.getSubCatSelect() + System.getProperty("file.separator") + order_id + System.getProperty("file.separator"); 之后,我将使用此字符串创建文件并保存。 - Pedantic
1个回答

12

您在这里混淆了事情。 HttpServletRequest.getContextPath() 返回您的Web应用程序根路径。在您的示例中,这是/streetshop,因此您的URL可能类似于www.myapp.com/streetshop。如果您想访问内部文件系统路径,则必须使用request.getServletContext().getRealPath("/")ServletContext获取它。这应该返回您的WAR文件的WebContent文件夹的位置。

请记住,如果您在运行时修改此路径的内容,则在重新部署应用程序时将会丢失所有内容。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接