How to set value in web.xml using property file?

2020-07-06 06:20发布

I would like to know if there is possibility to set an attribute in web.xml by using property file. For example the web.xml:

<context-param>
  <param-name>Map.MyJNDI</param-name>
  <param-value>java:comp/env/jdbc/${my.computer}</param-value>
</context-param>

and application.properties would be:

# My computer's name
my.computer=eniac

2条回答
Luminary・发光体
2楼-- · 2020-07-06 06:35

You can't have values substituted in web.xml like that.

One option I can suggest if possible just have a template web.xml with place holder for values and during build for each environment have a step in build process that will substitute required values from required properties file of that environment.

查看更多
萌系小妹纸
3楼-- · 2020-07-06 06:43

you can not set value from Properties file but you can set the property file and read its at runtime.

<context-param>
    <param-name>propfile</param-name>
    <param-value>myproject.properties</param-value>
</context-param>

then read the property file at runtime.

MyServlet myServlet = new MyServlet();

Properties  properties = new Properties();
//  get the properties file name 
String propfile = myServlet.getInitParameter("propfile");

// load the file 
properties.load(getClass().getClassLoader().getResourceAsStream(propfile));

// get the desire properties 
Object propName = properties.get("my.computer");
// out.println(propName.toString());

hope this help other too.

查看更多
登录 后发表回答