繁体   English   中英

JSF 1.2异常处理

[英]JSF 1.2 Exception Handling

我正在我们的应用程序中处理异常。 我使用try catch块来捕获代码中发生的异常,并且我还可以通过编写侦听器并将侦听器注册到“ faces-config.xml”中来处理超时异常。

但是我在捕获意外错误时遇到了问题,例如构造函数中的“ NullPointerException”或错误代码500、400等。

我在“ web.xml”中使用了标签

<error-page>
      <exception-type>java.lang.Exception</exception-type>
      <location>/sc00/ErrorPage.jsp</location>
</error-page>

我尝试了多种方法来处理异常,任何人都可以帮助我找到解决方案。 当我尝试处理这些异常时遇到的错误如下。

我正在使用JSF 1.2,服务器是Websphere 8

控制台显示以下异常。

com.ibm.ws.webcontainer.servlet.ServletWrapper service SRVE0014E: Uncaught service() exception root cause Faces Servlet: javax.servlet.ServletException

E com.ibm.ws.webcontainer.servlet.ServletWrapper service SRVE0068E: An exception was thrown by one of the service methods of the servlet [/sc00/ErrorPage.jsp] in application [MembershipEligibilityScreensEAR]. Exception created : [java.lang.RuntimeException: FacesContext not found

我的错误页面在/WebContent/sc00/ErrorPage.jsp中,ErrorPage.jsp没有与其关联的后备bean。

许多解决方案要求我查看Faces Servlet的URL路径,在我的web.xml中,servlet映射如下

 <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>

我的faces-config.xml中的所有路径都引用/ FolderName / JspName,它们可以正常工作,即使在Navigation.xml中也可以正常工作。

我如何将其导航到ErrorPage.jsp,有什么办法可以让我写一个侦听器来解决此类问题

很抱歉张贴过多的问题,我是JSF的新手,我不知道StackOverflow的规则,对于造成的问题,我深表歉意。

任何解决方案将不胜感激。

 java.lang.RuntimeException: FacesContext not found 

当您通过不符合FacesServlet的URL模式(负责创建FacesContext的URL模式)的URL请求包含JSF组件的JSP页面时,就会发生这种情况。

您需要更改错误页面的位置以匹配FacesServlet的URL模式(如web.xml所定义)。 根据您对该主题的重复问题 ,除了其他*.faces ,还应该按照以下说明设置错误页面的位置,这与我在对该问题的第一个问题的评论中所建议的完全相同。

<location>/sc00/ErrorPage.faces</location>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM