3

我想进入一个 Java 类来从目录servletContext中读取文件。WEB-INF我用下面的代码扩展了我的类HttpServlet并尝试获取上下文,但是 servlet 配置返回为 null。我不使用任何 jsp 或控制器。WEB-INF我的目的是从 Java 类中读取直接放置在目录中的文件。请让我知道如何在课堂上不为空servletConfig/ servletContext

ServletConfig config = getServletConfig(); 
ServletContext context = config.getServletContext(); 
InputStream resourceContent = context.getResourceAsStream("/WEB-INF/samplefile");
4

2 回答 2

19

年轻球员的陷阱。如果您覆盖

public void init(ServletConfig config)

方法,你必须调用

super.init(config);

方法里面。否则,超类会看到null.Javadoc 中提到的上下文:

当覆盖这种形式的方法时,调用super.init(config).

注意你可以直接通过getServletContext().没有必要去通过getServletConfig().

于 2014-10-21T23:08:38.880 回答
0

我遇到了同样的问题,结果发现 web.xml 文件是在错误的位置创建的,并且没有被容器加载。

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

于 2017-02-27T14:15:47.053 回答