注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

让一切都逝去吧

排骨炖泥菜/猪肝炒苹果/鱼籽狗肉汤/狗头薏米汤

 
 
 

日志

 
 

贴一例filter  

2008-12-18 09:38:07|  分类: web |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
java:
  import   java.io.IOException;   
  import   javax.servlet.Filter;   
  import   javax.servlet.FilterConfig;   
  import   javax.servlet.FilterChain;   
  import   javax.servlet.ServletException;   
  import   javax.servlet.ServletRequest;   
  import   javax.servlet.ServletResponse;   
       
  public   class   SetCharacterEncodingFilter implements Filter {   
      protected   String   encoding;   
      protected   FilterConfig   fConfig;   
      protected   boolean   ignore;   
      {   
          this.encoding   =   "";   
          this.fConfig   =   null;   
          this.ignore   =   true;   
      }   
    
      public   SetCharacterEncodingFilter()   {   
      }   
    
      /**   
        *   Place   this   filter   into   service   
        *   
        *   @param   fConfig   The   filter   configuration   object   
        *   @throws   ServletException   
        */   
      public   void   init(FilterConfig   fConfig)   throws   ServletException   {   
          this.fConfig   =   fConfig;   
          this.encoding   =   fConfig.getInitParameter("encoding");   
          String   ignoreValue   =   fConfig.getInitParameter("ignore");   
          if   (ignoreValue   ==   null)   {   
              this.ignore   =   true;   
          }   
          else   if   (ignoreValue.equalsIgnoreCase("true"))   {   
              this.ignore   =   true;   
          }   
          else   if   (ignoreValue.equalsIgnoreCase("yes"))   {   
              this.ignore   =   true;   
          }   
          else   {   
              this.ignore   =   false;   
          }   
      }   
      
      public void doFilter(ServletRequest request, ServletResponse response,   
                                                FilterChain chain) throws ServletException, IOException   {   
          if   (this.ignore || (request.getCharacterEncoding() == null))   {   
              String   tempEncoding   =   this.selectEncoding(request);   
              if   (tempEncoding   !=   null)   {   
                  request.setCharacterEncoding(tempEncoding);   
              }   
          }   
          System.out.println(request.getCharacterEncoding());   
          chain.doFilter(request,   response);   
          fConfig.getServletContext().log(   (new   ServletException()).getMessage());   
          fConfig.getServletContext().log(   (new   IOException()).getMessage());   
          return;   
      }   
    
      public   void   destroy()   {   
          encoding   =   "";   
          fConfig   =   null;   
      }   
    
      protected   String   selectEncoding(ServletRequest   request)   {   
          return   this.encoding;   
      }   
    
  }

xml:
     <filter>   
          <filter-name>EncodingFilter</filter-name>   
          <description>Character   Encoding   Filter</description>   
          <filter-class>SetCharacterEncodingFilter</filter-class>   
          <init-param>   
              <param-name>ignore</param-name>   
              <param-value>true</param-value>   
          </init-param>   
          <init-param>   
              <param-name>encoding</param-name>   
              <param-value>utf-8</param-value>   
          </init-param>   
      </filter>   
      <filter-mapping>   
          <filter-name>EncodingFilter</filter-name>   
          <servlet-name>action</servlet-name>   
      </filter-mapping>
  评论这张
 
阅读(854)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017