Java Tutorial/Servlet/Error Page

Материал из Java эксперт
Перейти к: навигация, поиск

Servlet Error Display

   <source lang="java">

import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.util.*; public class MyServlet extends HttpServlet {

 public void doGet(HttpServletRequest req, HttpServletResponse res) 
                              throws ServletException, IOException {
   res.setContentType("text/html");
   PrintWriter out = res.getWriter();
   String code = null, message = null, type = null;
   Object codeObj, messageObj, typeObj;
   codeObj = req.getAttribute("javax.servlet.error.status_code");
   messageObj = req.getAttribute("javax.servlet.error.message");
   typeObj = req.getAttribute("javax.servlet.error.exception_type");
   if (codeObj != null) code = codeObj.toString();
   if (messageObj != null) message = messageObj.toString();
   if (typeObj != null) type = typeObj.toString();
   String reason = (code != null ? code : type);
   out.println("<HTML>");
   out.println("<HEAD><TITLE>" + reason + ": " + message + "</TITLE></HEAD>");
   out.println("<BODY>");
out.println("

" + reason + "

"); out.println("

" + message + "

"); out.println("
");
   out.println("Error accessing " + req.getRequestURI() + "");
   out.println("</BODY></HTML>");
 }

}</source>





Servlet Error Page

   <source lang="java">

import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class MyServlet extends HttpServlet {

 public void doGet(HttpServletRequest req, HttpServletResponse res)
                              throws ServletException, IOException {
   res.setContentType("text/html");
   PrintWriter out = res.getWriter();
   String code = null, message = null, type = null, uri = null;
   Object codeObj, messageObj, typeObj;
   Throwable throwable;
   // Retrieve the three possible error attributes, some may be null
   codeObj = req.getAttribute("javax.servlet.error.status_code");
   messageObj = req.getAttribute("javax.servlet.error.message");
   typeObj = req.getAttribute("javax.servlet.error.exception_type");
   throwable = (Throwable)
     req.getAttribute("javax.servlet.error.exception");
   uri = (String) 
     req.getAttribute("javax.servlet.error.request_uri");
   if (uri == null) {
     uri = req.getRequestURI(); // in case there"s no URI given
   }
   // Convert the attributes to string values
   if (codeObj != null) code = codeObj.toString();
   if (messageObj != null) message = messageObj.toString();
   if (typeObj != null) type = typeObj.toString();
   // The error reason is either the status code or exception type
   String reason = (code != null ? code : type);
   out.println("<HTML>");
   out.println("<HEAD><TITLE>" + reason + ": " + message +
               "</TITLE></HEAD>");
   out.println("<BODY>");
out.println("

" + reason + "

"); out.println("

" + message + "

"); out.println("
");
    if (throwable != null) {
      throwable.printStackTrace(out);
    }
    out.println("
"); out.println("
");
   out.println("Error accessing " + uri + "");
   out.println("</BODY></HTML>");
 }

}</source>