繁体   English   中英

getServletConfig()/ getServletContext()返回null值

[英]getServletConfig() / getServletContext() returning null value

我想在Java类中获取servletContext以从WEB-INF目录中读取文件。 我使用HttpServlet扩展了我的类,并尝试获取上面的代码中的上下文,但servlet配置返回null。 我不使用任何jsp或控制器。 我的目的是从Java类中读取直接放在WEB-INF目录中的文件。 请让我知道如何在类中得到null 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().直接获取上下文getServletContext(). 没有必要通过getServletConfig().

我有同样的问题,结果发现web.xml文件是在错误的地方创建的,并没有被容器加载。

它需要在WEB-INF文件夹的根目录中创建。 理想情况下,Eclipse会在您创建项目时为您执行此操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM