隨筆-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 閱讀(184) 評論(0)  編輯  收藏

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


          網站導航:
           
          <2009年5月>
          262728293012
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          常用鏈接

          留言簿(2)

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 宿州市| 海阳市| 五常市| 隆回县| 乌鲁木齐市| 延安市| 油尖旺区| 大厂| 奈曼旗| 页游| 桦川县| 嘉定区| 本溪市| 正蓝旗| 仙游县| 海伦市| 曲周县| 剑川县| 佛山市| 固阳县| 崇礼县| 涟源市| 诸暨市| 尖扎县| 奉新县| 祁连县| 社旗县| 呼图壁县| 临颍县| 阿坝县| 顺义区| 武宁县| 石渠县| 孟连| 榆树市| 盘山县| 朝阳县| 汪清县| 余江县| 克山县| 淮安市|