1 7 package winstone; 8 9 import java.io.IOException ; 10 import java.io.PrintWriter ; 11 import java.io.StringWriter ; 12 import java.io.Writer ; 13 import java.util.Date ; 14 15 import javax.servlet.ServletException ; 16 import javax.servlet.ServletRequest ; 17 import javax.servlet.ServletResponse ; 18 import javax.servlet.http.HttpServlet ; 19 20 26 public class ErrorServlet extends HttpServlet { 27 28 public void service(ServletRequest request, ServletResponse response) throws ServletException , IOException { 29 30 Integer sc = (Integer ) request.getAttribute(RequestDispatcher.ERROR_STATUS_CODE); 31 String msg = (String ) request.getAttribute(RequestDispatcher.ERROR_MESSAGE); 32 Throwable err = (Throwable ) request.getAttribute(RequestDispatcher.ERROR_EXCEPTION); 33 34 StringWriter sw = new StringWriter (); 35 PrintWriter pw = new PrintWriter (sw); 36 if (err != null) { 37 err.printStackTrace(pw); 38 } else { 39 pw.println("(none)"); 40 } 41 pw.flush(); 42 43 String output = Launcher.RESOURCES.getString("WinstoneResponse.ErrorPage", 45 new String [] { sc + "", (msg == null ? "" : msg), sw.toString(), 46 Launcher.RESOURCES.getString("ServerVersion"), 47 "" + new Date () }); 48 response.setContentLength(output.getBytes(response.getCharacterEncoding()).length); 49 Writer out = response.getWriter(); 50 out.write(output); 51 out.flush(); 52 } 53 } 54
| Popular Tags
|