我想在Java类中获取servletContext
以便从WEB-INF
目录中读取文件。我使用HttpServlet
扩展了我的类,并尝试获取以下代码中的上下文,但是servlet配置返回为null。我不使用任何jsp或控制器。我的意图是从Java类读取直接放置在WEB-INF
目录中的文件。请让我知道如何在类中获取不为空的servletConfig
/ servletContext
:
ServletConfig config = getServletConfig();
ServletContext context = config.getServletContext();
InputStream resourceContent = context.getResourceAsStream("/WEB-INF/samplefile");
最佳答案
年轻球员的陷阱。如果您覆盖
public void init(ServletConfig config)
方法,您必须调用
super.init(config);
里面的方法。否则,超类会将上下文视为
null.
。Javadoc中已提到:覆盖此形式的方法时,请调用
super.init(config).
注意:您可以直接通过
getServletContext().
获取上下文。无需通过getServletConfig().