在servlet之外访问ServletContext

4 servlets properties file

我想知道是否有人可以就Java webapp问题提出建议?

我有一个标准的Java类,它有设置和获取属性文件值的方法.这些方法在系统范围内使用,并且由servlet和非servlet类方法调用.

但我想要做的是使用ServletContextListener来全局设置属性文件的路径,而不是对它们进行硬编码或将它们存储在数据库中.

ServletContextListener可用于使用context.setAttribute("PROP_FILE_PATH","C:\ ...")为servlet设置"全局变量".但有没有办法在servlet外部访问这些变量,或者可以在servlet外部访问ServletContext?

我不认为将ServletContext作为参数传递给我必须获取的类方法,并且由于调用次数,设置属性文件值将是一个可行的选项.

谢谢

马丁

Ada*_*kin 8

您可以将设置存储在与Servlet上下文不同的位置,例如配置类上的一组静态变量.然后ServletContextListener可以在启动时设置这些变量,并且任何其他代码都可以访问这些静态,无论它们是否可以访问ServletContext自身.