在tomcat中设置上下文变量

时间:2012-02-14 00:01:24

标签: java tomcat servlets tomcat6 servlet-filters

我在设置tomcat上下文变量时遇到问题。 我试过了:

  1. 在根文件夹的web.xml中(注意:它不是conf文件夹中的那个) 我尝试添加context-param,而不是工作,这没有改变任何东西,上下文变量仍为null

    <context-param>
        <param-name>testname</param-name>
        <param-value>testvalue</param-value>
    </context-param>
    
  2. 使用servlet getServletContext.setAttribute(“test”,“ok”)来设置变量,它也不起作用,变量一直保持为null。

  3. 我试图在server.xml中添加crossContext = true(即使我只有一个webapp),但它不起作用。

  4. 所以有什么建议吗?

    由于

1 个答案:

答案 0 :(得分:4)

您需要将上下文参数添加到您的webapp的/WEB-INF/web.xml,而不是“根文件夹”中的任何一个。

<context-param>
    <param-name>testname</param-name>
    <param-value>testvalue</param-value>
</context-param>

您需要ServletContext#getInitParameter()

String testname = getServletContext().getInitParameter("testname");
System.out.println(testname); // testvalue

ServletContext#set/getAttribute()在应用程序范围内设置/获取属性。它们与上下文参数无关。