4
A
回答
11
是否有可能从JSF应用程序中找到部署路径?
不是直接的,你需要从ExternalContext
抢ServletContext
如下:
ServletContext servletContext = (ServletContext) externalContext.getContext();
这反过来提供知名和dubiousgetRealPath()
方法。
String webContentRoot = servletContext.getRealPath("/");
如果您已经使用JSF 2.0,则可以使用ExternalContext#getRealPath()
代替。
一个问题(如果前一个问题的回答是真实的):这是合法存放一些上传的文件吗?
你可以这样做。只需要考虑到每次重新部署应用程序时它们都会丢失,原因很简单,原因是这些文件未包含在原始WAR中。
如果您希望拥有更多的永久性存储空间,请考虑将其存储在网络应用程序之外的固定路径中,例如, /var/webapp/upload
左右。另一种方法是将它们存储在数据库中,这会增加可移植性,但请记住在文件内容中存储一些元数据(名称,内容类型,上次修改的时间戳等),以便您可以索引/搜索/缓存上。
相关问题
- 1. 如何在iOS中获取目录的路径应用程序
- 2. 如何获取完整的目录应用程序路径?
- 3. 如何获取我的WinForm应用程序项目中的目录路径
- 4. 如何从C#控制台应用程序中的目录获取路径?
- 5. 如何在MVC3应用程序的OnApplicationStarted中获取应用程序根目录(完整物理路径)?
- 6. 应用程序目录路径
- 7. 如何获取开始菜单程序目录的路径?
- 8. 如何解决应用程序部署的安装路径
- 9. 如何在C中获取应用程序路径?
- 10. 如何获取工作目录路径?
- 11. 从jsf应用程序部署在glassfish上的应用程序
- 12. 获取JSF项目的路径?
- 13. C - 获取目录路径
- 14. 错误:部署JSF应用程序
- 15. 获取“应用程序数据”目录路径的最佳途径?
- 16. Dropwizard路径:获取应用程序中的所有路径
- 17. 如何获取Django中临时目录的子目录路径
- 18. 如何在应用程序中设置目标路径两次(程序应用程序和数据目录)
- 19. 如何在spring中获取项目目录的路径?
- 20. 获取应用程序的路径
- 21. wxWidgets:获取应用程序路径
- 22. mono c#获取应用程序路径
- 23. 如何获取winforms中的应用程序设置路径?
- 24. 如何获取winforms应用程序中的文件路径
- 25. 如何获取MFC中的应用程序当前路径(VC++)?
- 26. 如何获取asp.net中的应用程序路径?
- 27. 角2组分上的应用程序相对路径部署在子路径
- 28. 在Python中获取绝对文件路径的目录路径
- 29. 如何检测应用程序根目录的路径?
- 30. 如何部署角度应用程序,使其在任何路径下工作?
实际上我需要在某处存储上传的图像。正如我发现的,将图像位置存储在数据库中并将图像本身存储在文件系统中是一种很好的做法。我想提供2个选项:根据您的建议(已实施)和部署路径下的应用程序之外的某处。但我不知道他们在重新部署后会被清除,所以我可能会放弃这个想法。谢谢! – Roman 2010-08-09 15:59:23
是的,你也可以这样做。使用SQL进行搜索更容易。虽然纯粹主义者会说“不”将二进制数据存储在数据库中,但它实际上并不会造成伤害。这只是......没用。您无法在二进制数据中进行索引/搜索。但它绝对比在不同地方存储数据+元数据更具可移植性。只有当它是一个网络数据库时,它可能会比在网络服务器运行的同一本地磁盘上的性能要慢。 – BalusC 2010-08-09 16:02:06
主要论点是,当存储在FS中的图像可以查看它们以及它们存储在数据库中时,我需要一些应用程序进行审阅。但是,谢谢你的另一点。 – Roman 2010-08-09 16:07:08