我正在创建一个简单的Web应用程序.我需要在该类中引用ServletContext对象.我怎么才能得到它?
Boz*_*zho 15
您最好将它作为参数传递给对象的构造函数,或者使用setter方法设置它.
实际上,您可以获取与对象相关的上下文属性,并仅通过构造函数/ setter传递它.例如:
YourClass obj =
new YourClass((AnotherClass) servletContext.getAttribute("yourAttribute"));
Run Code Online (Sandbox Code Playgroud)
一个更糟糕,更复杂的选择是:
ServletContextListener<listener><listener-class></listener-class></listener>contextInitialized(..)得到ServletContext从事件并将其存储在一个单- somehwere静态字段.或者,您可以在每个请求上执行此操作,使用a ServletRequestListener并将其存储在一个请求中ThreadLocal.
然后你可以通过调用你的singleton/threadlocal持有者获得这个值,如下所示:
ServletContextHolder.getCurrentServletContext()
Run Code Online (Sandbox Code Playgroud)