如何将值从.properties文件读入Servlet Web.xml文件

时间:2018-06-28 07:04:24

标签: properties web.xml tomcat6 servletcontextlistener

由于我发现了一个基于ServletContextListener的解决方案,因此尝试了该解决方案,以下是我使用的代码。

@Override
public void contextInitialized(ServletContextEvent arg0) {
    final String props = "/config.properties"; 
    final Properties propsFromFile = new Properties();


    System.out.println("******ServletContextListener started******");

    //String email= getServletContext().getInitParameter("AdministratorEmail");

    //


    //


    try {               
        propsFromFile.load(getClass().getResourceAsStream(props));

    } catch (final IOException e) {
        e.printStackTrace();
    }        



    for (String prop : propsFromFile.stringPropertyNames())   
      {
        if (System.getProperty(prop) == null)
         {

             System.setProperty(prop, propsFromFile.getProperty(prop));
             System.out.println(prop+"="+propsFromFile.getProperty(prop));
         }
      }

    }` protected void doPost(HttpServletRequest req,HttpServletResponse res)throws ServletException,IOException
    {
        PrintWriter pw=res.getWriter();
        res.setContentType("text/html");
        ServletContext context=getServletContext();  
        String s1= getServletContext().getInitParameter("conf.dir");
             pw.println("S1 value is "+s1);
             pw.close(); 
       }

在Web.xml中,我使用了以下代码

<context-param>
    <param-name>conf.dir</param-name>
    <param-value>${conf.dir}</param-value>
</context-param>

在.properties文件中

conf.dir=configuration_files

但是当我尝试使用以下代码访问变量

  ServletContext context=getServletContext();  
  String s1= getServletContext().getInitParameter("conf.dir");

我得到的输出为 $ {conf.dir} 但是我想要的是“ configuration_files”

有什么办法可以做到这一点?

0 个答案:

没有答案