2013-04-13 17 views
10

人Windows環境のTomcatで私のカスタムエラーページを開く問題に苦労しています。私が得た解決策のいくつかは運がありません。私はほとんどすべてのリンクを試しましたが、私のために働いていません。他のソリューションのTomcatに配備ではなく、私のWebサービスのために働いて、それらのいくつかエラーコード500のためのTomcat 7のカスタムエラーページ

マイweb.xmlの

<welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
    <welcome-file>index.htm</welcome-file> 
    <welcome-file>index.jsp</welcome-file> 
</welcome-file-list> 

<error-page> 
    <location>/error.html</location> 
</error-page> 


私は私のサーブレットからエラーを送信しています3.0アプリケーション response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);

私はerror.htmlをWebServiceのルートディレクトリに入れました。

また、私は私が使用したJSPの場合は

を試してみました、私が代わりにHTMLのJSPページに対して得たリンクの一部:

<%@ page isErrorPage="true" %> 
<!DOCTYPE html> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <title>JSP Page</title> 
</head> 
<body> 
    <h1>Error</h1> 
</body> 
</html> 


をFYI、それは他のTomcatの正常に動作しています組み込みのソリューションは完全に動作しています。しかし私のWebservice私は応答500を得ていますが、ページは空白になっています。そして私がInternet Explorer 9.0を無効にしたもう1つの点は、エラーフレンドリなページがまだサーブレットから500になるという応答を示しています。しかし、エラーページは空になります。

私の質問についての考えや疑問があれば教えてください。私はできるだけ早くそれが必要です。

+0

なぜWebサービスは、エラーが発生したときにHTMLページを提供しようとしていますか? –

+0

...あなたのサーブレットとJSPは、Webサービスとは何が関係していますか?あなたは、Webサービスが何であるかを知っていますか? – eis

+0

私たちのプロジェクトでカスタムエラーページを使用しています –

答えて

18

この場合Error.jspであなたのWEB-INF/web.xml

<error-page> 
    <error-code>500</error-code> 
    <location>/Error.jsp</location> 
</error-page> 

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

に次のコードを入れてみてくださいWEB-INFディレクトリ(ないこと内部)と同じレベルにあります。

+0

ハルスハルお返事ありがとうございます。しかし、私もそれを試しましたUnfortunetlyいいえ幸運.. –

+1

これは私のために役立っているようです!注意してください。順序は重要ですが、Exceptionマッピングの前に500のマッピングが必要です(図のように) –

3

あなたはこのように、たとえば埋め込まれたTomcatを使用した場合と同じで、プログラムで実装できます。

 Context appContext = ...    
     ErrorPage errorPage = new ErrorPage(); 
     errorPage.setErrorCode(HttpServletResponse.SC_NOT_FOUND); 
     errorPage.setLocation("/my_custom_error_page.html"); 
     appContext.addErrorPage(er); 
関連する問題