0

我有一些使用@WebServlet注释的bean:

@WebServlet("tools/httpProjectLoader.xhtml")
public class HttpProjectLoader extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        ...
    }
}

我想使用该 URL 对来自电子邮件的链接做出反应,例如:

http://myhost/webapp/tools/httpProjectLoader.xhtml?pn=1000000654

web.xml 使用以下设置FacesServlet

<servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.xhtml</url-pattern>
</servlet-mapping>

当我尝试FacesContext.getCurrentInstance()#doGet(...)返回值中访问时,总是null. 为什么?我该如何处理?我想使用一些 UI (CDI) bean 来初始化应用程序并转发到结果页面。每当某些代码使用 ieFacesContext.getCurrentInstance().addMessage(...)时,它​​都会以NullPointerException.

4

0 回答 0