Java 在tomcat中设置上下文变量
我在设置tomcat上下文变量时遇到问题。 我试过:Java 在tomcat中设置上下文变量,java,tomcat,servlets,tomcat6,servlet-filters,Java,Tomcat,Servlets,Tomcat6,Servlet Filters,我在设置tomcat上下文变量时遇到问题。 我试过: 在根文件夹的web.xml中(注意:它不是conf文件夹中的) 我尝试添加上下文参数,不起作用,这没有改变任何东西,上下文变量仍然为null <context-param> <param-name>testname</param-name> <param-value>testvalue</param-value> </context-param> 测试
<context-param>
<param-name>testname</param-name>
<param-value>testvalue</param-value>
</context-param>
测试名
测试值
谢谢您需要将上下文参数添加到您的webapp的
/WEB-INF/WEB.xml
,而不是“根文件夹”中的任何位置
<context-param>
<param-name>testname</param-name>
<param-value>testvalue</param-value>
</context-param>
ServletContext#set/getAttribute()
设置/获取应用程序范围中的属性。它们与上下文参数无关。基本上,我希望更改上下文变量的值,然后另一个servlet可以使用它。功能需求是什么?设置一个变量,该变量可由部署在同一Tomcat服务器上的所有web应用程序访问?是的,该变量必须由同一服务器上的其他筛选器访问抱歉,我应该更清楚,该变量由同一服务器上的其他人在一个应用程序中访问。目前,我在服务器上只有一个webapp。此外,我无权在服务器上运行命令(这是一个共享宿主服务器),所以环境变量可能不是一个好主意。难怪我总是得到null,因为我使用了getServletContext().getAttribute(“test”)。我认为getInitParameter(“test”)仅在中指定时使用,现在我得到了它,上下文属性与上下文参数不同。servlet init参数只能通过ServletConfig
或继承的GenericServlet#getInitParameter()
使用。至于设置值,请进行猜测。。。(提示:阅读javadoc)。要了解什么是属性以及如何使用它们,请花一些时间阅读,这通常应该是很有启发性的。
String testname = getServletContext().getInitParameter("testname");
System.out.println(testname); // testvalue