Java Tutorial/Servlet/Error Page
Содержание
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>