0

In a spring mvc application, what is the best way to reference the filesystem?

Say I want to know the root of my applications path?

Should I create a properties file and hard code this value in the property file, then create different versions for production and development environments?

I might want to reference a file outside of my application also, so I guess a property file is best suited for this correct?

loyalflow
  • 14,275
  • 27
  • 107
  • 168

2 Answers2

1

I understood your question as a config/release problem, not coding problem. If you want to access file (say with absolute path) there are different ways to achieve it:

  • if you use maven to build your app. create maven profile with corresponding property, e.g. file.path and at build-time fill the property to spring bean (e.g. a String)

  • create different properties files, which containing config parameters for different environments. and let maven fill the placeholder in spring conf, which properties file should be used.

  • use spring profile. put server-relevant beans in profiles, and your application choose the right profile (the set of beans) at runtime.

  • well if you have different databases for different environments, you could consider to save some config parameters in a config table. And application loads those data when it starts or when it needs. At least this is another option.

did that answer your question? or I am just talking about something else?...

Kent
  • 189,393
  • 32
  • 233
  • 301
0

Get real path and complete your remaining action

String realContextPath =  session.getServletContext().context.getRealPath(request.getContextPath());
Vinit Prajapati
  • 1,593
  • 1
  • 17
  • 29