私はEclipseに動的Webプロジェクトを持っています。これは注釈を使用してサーブレットを次のようにマップします:
@WebServlet("/LoginController")
public class LoginController extends HttpServlet {
....
}
次のように、これらのサーブレットを使用する jsp ページもあります。
<form method="post" action="LoginController">
エラー404
と500
. Google で少し検索するとjava2sweb.xml
にたどり着き、エラー ページを指定するにはファイルを変更する必要があることがわかりました。web.xml
しかし、私のプロジェクトにはディレクトリの下にファイルがありませんWEB-INF
(ちなみに、IDEとしてEclipse IndigoとTomcat 7.0.14を使用しています)。そこで、次のように追加しました。
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<error-page>
<error-code>
404
</error-code>
<location>
/404.html
</location>
</error-page>
<error-page>
<error-code>
500
</error-code>
<location>
/500.html
</location>
</error-page>
</web-app>
これにより、新しい問題が発生します。サーブレットが機能しなくなりました。私の JSP はすべて正常に動作しています。しかし、サーブレットへのすべてのリクエストで 404 エラー ページが表示されます。たとえば、JSP が正常に機能しているため、ログイン フォームを取得できます。しかし、ログイン フォームを送信すると、つまりLoginController
404 エラー ページが表示されます。
アノテーションweb.xml
の代わりにファイルをサーブレットマッピングに使用することで解決できるかもしれないと思います。WebServlet
しかし、WebServlet
注釈を使用してエラーページを提供する方法はありますか? web.xml
エラーページの表示を回避できれば幸いです。また、Tomcat の構成ファイルを編集するのも好きではありません。では、どうすれば問題を解決できますか?