有什么办法可以用普通的静态java方法读取getServletContext()?即不是servlet的类
我的web.xml包含:
<context-param>
<param-name>paramname</param-name>
<param-value>test value</param-value>
</context-param>
和静态类:
public classname
{
public static boolean methodname()
{
String name=javax.servlet.GenericServlet.getServletContext().getInitParameter("paramname");
// other processing
}
}
我知道我无法从静态类访问非静态方法,但试图获得解决方法。
我可以做到的是一个servlet类。但是,我的JSP页面正在调用静态方法。有什么解决方法吗?
答案 0 :(得分:0)
您不能神奇地访问它,除非在Servlet API首次使它可用时首先对其进行抓取,然后通过Util类将其作为静态变量提供。
要获取更多ServletContext
可以抓住的地方,请选中此link。
在servlet中
@Override
public void init(ServletConfig config) {
ServletContext context = config.getServletContext();
ServletConfigUtil.config = config;
}
然后是Util类
public class ServletConfigUtil {
public static ServletContext sc = null;
public static ServletContext getServletContext(){
return sc ;
}