我正在處理我們的應用程序中的異常處理。我使用try catch塊來捕獲我的代碼中發生的異常,我也可以通過編寫一個監聽器並在「faces-config.xml」中註冊監聽器來處理異常。JSF 1.2異常處理
但我面臨的問題,在構造函數或錯誤代碼醒目,如「空指針異常」意外錯誤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。
許多解決方案,讓我來看看面的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的規則,我對我造成的問題表示歉意。
任何解決方案,將不勝感激。
這不是JSF問題,而是泛型Java Web應用程序。 –
你有沒有解決上述問題的方法?我不明白你爲什麼說它不是JSF問題,異常明顯出現在支持bean的構造函數中,我無法處理它。 – ylnsagar
您可以像這樣在JSP中使用NPE:'<%String s = null; s.length(); %>'。 NPE將會出現並且會被打印在JSP中(您是否看到過JFS代碼?我沒有)。 –