我是CDI的新手,也许我做错了什么。 Here表示可以注入ServletContext。所以我有以下代码:
public class ComponentInitializator {
@Inject
private ServletContext context;
public void initialize(){...}
}
但它返回java.lang.NullPointerException。如何解决?
最佳答案
ServletContext-定义servlet用于与其servlet容器通信的一组方法。该资源将注入到Servlet中。将ComponentInitializator
类设置为Servlet
,而不是尝试访问ServletContext
。
@WebServlet("/ComponentServlet")
public class ComponentInitializator extends HttpServlet{
@Inject
private ServletContext context;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
PrintWriter out=resp.getWriter();
out.println(context);
}
}