我是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);
    }
 }

07-24 09:38
查看更多