Java 保存上传文件的路径我真的应该选择getServletContext吗?

Java 保存上传文件的路径我真的应该选择getServletContext吗?,java,servlets,file-upload,workspace,Java,Servlets,File Upload,Workspace,以下是我的情况: 我的表必须有一个按钮来显示图像,我在数据库中插入的数据只包含图像文件的名称(filename.jpg),而不是一个特定的路径,服务器将根据它在真实服务器中的上下文显示它。在长时间搜索之后,我找到了方法getServletContext().getRealPath(“/images”),该方法查找粘贴所在的上下文,例如本地主机或真实主机(至少我了解到了这一点) 但是,当我在localhost时,它会显示该方法的上下文 getServletContext().getRealPa

以下是我的情况:

  • 我的表必须有一个按钮来显示图像,我在数据库中插入的数据只包含图像文件的名称(filename.jpg),而不是一个特定的路径,服务器将根据它在真实服务器中的上下文显示它。在长时间搜索之后,我找到了方法
    getServletContext().getRealPath(“/images”)
    ,该方法查找粘贴所在的上下文,例如本地主机或真实主机(至少我了解到了这一点)

但是,当我在localhost时,它会显示该方法的上下文

getServletContext().getRealPath(“/images”):

C:\Documents and Settings\josue\Meus documentos\workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\testeDeFuncoes\images\file.jpg

我推断它是在调用一个临时文件夹的上下文,这个临时文件夹只用于本地主机测试。 我认为在localhost中恢复它会起作用,但在realserver中它会起作用,我认为不会,对吗


我可以将Webcontent以动态的方式放入,当我导出WAR文件时,它存储在文件中;当上传时,无论服务器决定选择什么位置,它都可以工作。如果不是,通常在大多数情况下使用它来做网页?

< P>您可以考虑将图像存储在数据库中,这取决于您的需要,请参阅

我个人非常喜欢将图像存储在数据库中,并将其缓存在本地文件系统的临时目录中

无论哪种方式,您都应该有一个可靠的已知标准位置来存储图像。如果不将它们存储在数据库中,请选择一个非临时目录,或使其可配置

webapp可以通过war文件提供,并且
servletContext.getRealPath(…)
不太可能返回可靠的存储位置