Java JSF1.2异常处理
我正在应用程序中处理异常。我使用try-catch块捕获代码中发生的异常,还可以通过编写侦听器并在“faces-config.xml”中注册侦听器来处理超时异常 但我在捕获意外错误时遇到了问题,比如构造函数中的“NullPointerException”或错误代码500、400等 我使用了“web.xml”中的标记 我的错误页面位于/WebContent/sc00/ErrorPage.jsp中,ErrorPage.jsp没有与之关联的支持bean 许多解决方案要求我查看FacesServlet的URL路径,在我的web.xml中,Servlet映射如下Java JSF1.2异常处理,java,jsp,jsf,exception-handling,Java,Jsp,Jsf,Exception Handling,我正在应用程序中处理异常。我使用try-catch块捕获代码中发生的异常,还可以通过编写侦听器并在“faces-config.xml”中注册侦听器来处理超时异常 但我在捕获意外错误时遇到了问题,比如构造函数中的“NullPointerException”或错误代码500、400等 我使用了“web.xml”中的标记 我的错误页面位于/WebContent/sc00/ErrorPage.jsp中,ErrorPage.jsp没有与之关联的支持bean 许多解决方案要求我查看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>*.faces</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
Facesservlet
javax.faces.webapp.FacesServlet
1.
Facesservlet
*.面孔
Facesservlet
/面孔/*
my faces-config.xml中的所有路径都引用/FolderName/JspName,它们工作正常,甚至在Navigation.xml中也工作正常
如何将其导航到ErrorPage.jsp,是否有任何方法可以编写此类问题的侦听器
很抱歉发布了太多多余的问题,我是JSF新手,我不知道StackOverflow的规则,我为我造成的问题道歉
任何解决方案都将不胜感激
java.lang.RuntimeException: FacesContext not found
当您通过与FacesServlet
(谁负责创建FacesContext
)的URL模式不匹配的URL请求包含JSF组件的JSP页面时,就会发生这种情况
您需要更改错误页面位置,以匹配FacesServlet
中定义的web.xml
的URL模式。根据您对主题的看法,这是其中之一。*.faces
,因此按如下方式设置错误页面位置应该可以,正如我在您对主题的评论中所建议的那样
/sc00/ErrorPage.faces
这不是一个JSF问题,而是一个通用的Java Web应用程序。对于如何克服上述问题,您有什么解决方案吗?。我不明白你为什么说这不是JSF的问题,异常显然发生在支持bean的构造函数中,我无法处理它。你可以在JSP中附带一个NPE,如下所示:
。NPE将出现,并将在JSP中打印(您在那里看到JFS代码了吗?我没有看到)。我尝试过,但它不起作用。我真的尝试了一百万次,我还创建了一个名为“error.html”的html页面,但它不起作用。我请你看看。在这个问题中,我还发布了web.xml,以便您可以发现是否存在任何配置错误。我有很多针对JSF2的解决方案,但是JSF1.2对于这种情况没有很多解决方案。你能告诉我有没有办法写一个监听器或过滤器。重复问题的原因是我没有得到解决问题的答案Faces Servlet*.Faces Faces Servlet/Faces/*这是web.xml中的两种URL模式您不可能得到java.lang.RuntimeException:FacesContext not found
当使用error.html
而不是JSF的JSP页面时组件。请说明使用error.html
时出现的新错误。你绝对不应该忽视错误,就好像它们是装饰一样。至于每次都问同一个问题,这里不是这样的。如果你没有得到(令人满意的)答案,就编辑并改进你的问题。
<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>*.faces</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
java.lang.RuntimeException: FacesContext not found