Есть такой сервлет
| Код | public class A extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try{ String s ="abc"; Integer.parseInt(s); } catch(Exception e){ throw new ServletException("123"); } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
|
В нем специально вызываю шибку
Web.xml файл:
| Код | <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <servlet> <servlet-name>A</servlet-name> <servlet-class>com.epam.A</servlet-class> </servlet> <servlet> <servlet-name>Error</servlet-name> <servlet-class>com.epam.Error</servlet-class> </servlet>
<servlet-mapping> <servlet-name>A</servlet-name> <url-pattern>/A</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>Error</servlet-name> <url-pattern>/Error</url-pattern> </servlet-mapping>
<error-page> <exception-type>javax.servlet.ServletException</exception-type> <location>/Error</location> </error-page> <error-page> <error-code>500</error-code> <location>/error500.jsp</location> </error-page> </web-app>
код сервлета который отображает сообщение об ошибке
|
| Код | public class Error extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("error"); out.flush(); out.close(); }
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
|
И он длжен при обращении к сервлету A вызывать ошибку и отправлять на сервлет Error. Так и происходит в Mozilla, но в Explorer он пишет ошибка 500. Причем страница ошибки которая встроена в Explorer (не TomCat-a). Хотя ошибку 500 он тоже должен перехватывать. Чего я не дописал что бы это заработало в Explorer-e.
И ещё он печатает StackTrace. Как это можно отменить?
|