001 package org.apache.geronimo; 002 003 import java.io.IOException; 004 005 import javax.servlet.ServletException; 006 import javax.servlet.http.HttpServlet; 007 import javax.servlet.http.HttpServletRequest; 008 import javax.servlet.http.HttpServletResponse; 009 010 /** 011 * Servlet implementation class for Servlet: PageServlet 012 * 013 * @web.servlet name="PageServlet" display-name="PageServlet" 014 * 015 * @web.servlet-mapping url-pattern="/page" 016 * 017 */ 018 public class PageServlet extends HttpServlet { 019 static final long serialVersionUID = 1L; 020 021 /* (non-Javadoc) 022 * @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) 023 */ 024 protected void doGet(HttpServletRequest request, 025 HttpServletResponse response) throws ServletException, IOException { 026 027 String cometId = request.getParameter("sessionId"); 028 String delay = request.getParameter("delay"); 029 String codeStr = request.getParameter("code"); 030 System.out.println("sessionId:" + cometId + "; delay:" + delay + "; code:" + codeStr); 031 032 try { 033 Thread.sleep(Integer.parseInt(delay)); 034 } catch (NumberFormatException e) { 035 // TODO Auto-generated catch block 036 e.printStackTrace(); 037 } catch (InterruptedException e) { 038 // TODO Auto-generated catch block 039 e.printStackTrace(); 040 } 041 042 043 String uri = "dummy.html"; 044 045 int code = Integer.parseInt(codeStr); 046 switch (code) { 047 case 200: request.getRequestDispatcher(uri).forward(request, response); break; 048 049 case 302: 050 response.sendRedirect("http://" + request.getServerName() + ":" + request.getLocalPort() + request.getContextPath() + "/" + uri); 051 break; 052 053 case 403: 054 case 404: 055 case 500: response.sendError(code, codeStr); 056 /*try { 057 int test = 1/0; 058 } 059 catch (Exception e) { 060 throw new ServletException("Servlet caught a ServletException: " + e.getMessage()); 061 }*/ 062 break; 063 } 064 065 return; 066 } 067 068 }