Servlets Java

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ErrorDisplay 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;
    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("");
    out.println("" + reason + ": " + message + "");
    out.println("");
    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("");
  }
}