隨筆-77  評論-5  文章-2  trackbacks-0

          package com.zte.platform;

          import java.io.IOException;

          import javax.faces.webapp.FacesServlet;
          import javax.servlet.ServletConfig;
          import javax.servlet.ServletException;
          import javax.servlet.ServletRequest;
          import javax.servlet.ServletResponse;
          import javax.servlet.http.HttpServlet;
          import javax.servlet.http.HttpServletRequest;
          import javax.servlet.http.HttpServletResponse;

          import org.apache.commons.logging.Log;
          import org.apache.commons.logging.LogFactory;

          public class ZteFacesServlet extends HttpServlet
          {

           private static final String INIT_PARAM_ERROR_PAGE = "errorPage";
                  private Log log = LogFactory.getLog(getClass());       
                 

           private FacesServlet delegate;

           private String errorPage;

           public void init(ServletConfig servletConfig) throws ServletException
           {
            delegate = new FacesServlet();
            delegate.init(servletConfig);
            errorPage = servletConfig.getInitParameter(INIT_PARAM_ERROR_PAGE);
           }

           public void destroy()
           {
            delegate.destroy();
           }

           public ServletConfig getServletConfig()
           {
            return delegate.getServletConfig();
           }

           public String getServletInfo()
           {
            return delegate.getServletInfo();
           }

           public void service(ServletRequest request, ServletResponse response)
             throws ServletException, IOException
           {
            try
            {
             delegate.service(request, response);
            } catch (Throwable e)
            {
                      log.error("page exception ,redirect to error page ",e);
                      try{
             redirectToErrorPage((HttpServletRequest) request,
               (HttpServletResponse) response);
                      }
                      catch(Exception ex)
                      {
                       log.error("fail to redirect to error page",ex);
                       //throw new RuntimeException("fail to redirect to error page,original exceptioin is", e);
                      }
            }
           }

           private void redirectToErrorPage(HttpServletRequest request,
             HttpServletResponse response) throws IOException
           {
            if (!"".equals(errorPage))
            {
             response.sendRedirect(request.getContextPath() + errorPage);
            }
           }

          }


          文章來源:http://stocknewbie.bokee.com/viewdiary.18876476.html
          posted on 2009-05-01 10:52 huohuo 閱讀(182) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 鄂尔多斯市| 米林县| 门头沟区| 高邑县| 莒南县| 高清| 巩留县| 丹巴县| 扬州市| 泰州市| 松桃| 凤城市| 祁门县| 杨浦区| 高青县| 长垣县| 古蔺县| 崇州市| 宝应县| 武邑县| 斗六市| 西充县| 绩溪县| 古田县| 米泉市| 南丹县| 高青县| 榆中县| 磐安县| 连南| 淳化县| 宿迁市| 建水县| 故城县| 山东省| 中方县| 楚雄市| 台北县| 镶黄旗| 绥芬河市| 资源县|