在spring mvc应用程序中,引用文件系统的最佳方法是什么?
我想知道应用程序路径的根目录吗?
我应该在属性文件中创建属性文件并对此值进行硬编码,然后为生产和开发环境创建不同的版本吗?
我可能也希望在我的应用程序之外引用一个文件,所以我猜一个属性文件最适合这个正确吗?
答案 0 :(得分:1)
我将您的问题理解为配置/发布问题,而不是编码问题。如果你想访问文件(比如绝对路径),有不同的方法来实现它:
如果你使用maven来构建你的应用程序。使用相应的属性创建 maven个人资料,例如file.path
并在构建时将属性填充到spring bean(例如String)
创建不同的属性文件,其中包含不同环境的配置参数。让maven在spring conf中填充占位符,应该使用哪个属性文件。
使用弹簧配置文件。将与服务器相关的bean放在配置文件中,您的应用程序在运行时选择正确的配置文件(bean集)。
如果您对不同的环境有不同的数据库,您可以考虑在配置表中保存一些配置参数。应用程序在启动或需要时加载这些数据。至少这是另一种选择。
这回答了你的问题吗?或者我只是在谈论其他事情?...
答案 1 :(得分:0)
获取真实路径并完成剩余的操作
String realContextPath = session.getServletContext().context.getRealPath(request.getContextPath());