我有一些使用@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
.