【问题标题】:Reading getServletContext() from static method [duplicate]从静态方法中读取 getServletContext() [重复]
【发布时间】:2019-04-18 12:23:33
【问题描述】:

有什么方法可以在普通的静态 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 页面正在调用一个静态方法。有什么解决办法吗?

【问题讨论】:

    标签: java servlets


    【解决方案1】:

    如果不首先在 Servlet API 提供它时先获取它,然后通过 Util 类将其作为静态变量提供,您就无法神奇地访问它。

    有关更多可以获取ServletContext 的地方,请查看此link

    在小服务程序中

    @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 ;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-26
      • 1970-01-01
      • 2016-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-05
      相关资源
      最近更新 更多