Używam <error-page>
elementu w web.xml, aby określić przyjazną stronę błędu, gdy użytkownik napotka określony błąd, taki jak błąd z kodem 404:
<error-page>
<error-code>404</error-code>
<location>/Error404.html</location>
</error-page>
Jednak chcę, aby jeśli użytkownik nie napotkał żadnego kodu błędu określonego w <error-page>
, powinien zobaczyć domyślną stronę błędu. Jak mogę to zrobić za pomocą elementu w web.xml ?
web.xml
zadeklarowany? Dopiero od Servlet 3.0 jest łatwy sposób.Odpowiedzi:
W Servlecie 3.0 lub nowszym możesz po prostu określić
Ale ponieważ nadal korzystasz z Servlet 2.5, nie ma innego sposobu niż określenie każdego typowego błędu HTTP indywidualnie. Musisz dowiedzieć się, z jakimi błędami HTTP może się spotkać użytkownik końcowy. Na podstawowej aplikacji sieciowej, na przykład z wykorzystaniem uwierzytelniania HTTP, z wyłączoną listą katalogów, przy użyciu niestandardowych serwletów i kodu, który może generować nieobsłużone wyjątki lub nie ma zaimplementowanych wszystkich metod, to chcesz ustawić ją na błędy HTTP 401 , Odpowiednio 403, 500 i 503.
To powinno obejmować te najbardziej popularne.
źródło
<error-code>
tagiem?web.xml
dowodzi tego<error-code>
i plik XSD jest<exception-type>
opcjonalny, a nie wymagany. Zobacz wydanie 52135 .Możesz też zrobić coś takiego:
Dla kodu błędu 403 zwróci stronę 403.html, a dla każdego innego kodu błędu zwróci stronę error.html.
źródło
Możesz również określić
<error-page>
wyjątki używając<exception-type>
np. Poniżej:Lub zamapuj kod błędu za pomocą
<error-code>
:źródło