歡迎光臨郝學(xué)武的blog。
                  前段時(shí)間很忙,項(xiàng)目比較緊,都沒有時(shí)間寫這個(gè)了,今天就寫個(gè)我在項(xiàng)目中應(yīng)用的一個(gè)Filter,這個(gè)過濾器負(fù)責(zé)把定義的文件夾下的所有頁面采用gbk編碼格式,并且每個(gè)頁面都不保留緩存。如此的話就不用在所有的業(yè)務(wù)類里面處理中文問題,降低了代碼冗余,節(jié)約了開發(fā)時(shí)間。下面的這個(gè)類就負(fù)責(zé)這個(gè)功能。

          import java.io.IOException;
          import javax.servlet.Filter;
          import javax.servlet.FilterChain;
          import javax.servlet.FilterConfig;
          import javax.servlet.ServletException;
          import javax.servlet.ServletRequest;
          import javax.servlet.ServletResponse;
          import javax.servlet.http.HttpServletRequest;
          import javax.servlet.http.HttpServletResponse;/**
           *@author 郝學(xué)武
           *設(shè)置字符過濾
           */
          public class ActionFilter implements Filter
          {
           private String encoding = null;  //定義字符編碼,緩存,和Local
           private String cache = null;
           private String forceLocal;

           public void init(FilterConfig filterconfig) throws ServletException    //初始化上面的3個(gè)變量,分別從web.xml取得值
           {
            this.encoding = filterconfig.getInitParameter("encoding");
            this.cache = filterconfig.getInitParameter("cache");
                  this.forceLocal = filterconfig.getInitParameter("forceLocal");
           }
           
           public void doFilter(ServletRequest servletRequest,
             ServletResponse servletResponse,
             FilterChain filterChain) throws IOException, ServletException    //實(shí)現(xiàn)緩存存留,字符過濾---
           {
            HttpServletRequest request = (HttpServletRequest) servletRequest;
            HttpServletResponse response = (HttpServletResponse) servletResponse;
            
            if (this.cache != null && "false".equals(this.cache.toLowerCase()))
            {
              response.setHeader("Cache-Control","no-store");
              response.setHeader("Pragrma","no-cache");
              response.setDateHeader("Expires",0);
            }
            if ((forceLocal == null) || (forceLocal.length() <=0) || (forceLocal.equalsIgnoreCase("no"))) {}
                  else {
                     
                  }
            request.setCharacterEncoding(this.encoding);
            filterChain.doFilter(servletRequest, servletResponse);
            return;
           }

           /*
            * (non-Javadoc)
            *
            * @see javax.servlet.Filter#destroy()
            */
           public void destroy()   //銷毀過濾
           {
           // TODO Auto-generated method stub
           }
          }
                  在web.xml中添加filter
          <filter>
            <filter-name>WebFilter</filter-name>
            <filter-class>
             com.cnc.yellow.struts.advertisement.ActionFilter
            </filter-class>
            <init-param>
             <param-name>encoding</param-name>
             <param-value>gbk</param-value>
            </init-param>
            <init-param>
             <param-name>cache</param-name>
             <param-value>false</param-value>
            </init-param>
            <init-param>
             <param-name>forceLocal</param-name>
             <param-value>no</param-value>
            </init-param>
           </filter>

          <filter-mapping>  
            <filter-name>WebFilter</filter-name>
            <url-pattern>/aaa/*</url-pattern>  //設(shè)置作用域?yàn)閣ebroot下aaa文件夾下所有頁面
           </filter-mapping>
          好了,大家把上面的代碼拷貝到你的項(xiàng)目中,試一下就可以,應(yīng)該沒什么問題,得工作了,今天就到這

          Feedback

          # re: 寫個(gè)簡(jiǎn)單的關(guān)于Filter過濾器應(yīng)用的例子  回復(fù)  更多評(píng)論   

          2007-12-05 12:33 by cheng
          恩,不錯(cuò),收藏了,以后肯定用得找,呵呵.
          樓主有空多多分享你的好東東哦~~~~:)

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           

          posts - 17, comments - 65, trackbacks - 0, articles - 28

          Copyright © 陜西BOY

          主站蜘蛛池模板: 耿马| 河津市| 濮阳县| 青海省| 岳池县| 枝江市| 融水| 佳木斯市| 深州市| 台山市| 鹤岗市| 临西县| 当涂县| 灵台县| 天祝| 繁峙县| 远安县| 开化县| 鸡西市| 连城县| 秦皇岛市| 玉树县| 北流市| 沁阳市| 阜阳市| 囊谦县| 电白县| 慈溪市| 灯塔市| 甘德县| 慈利县| 延长县| 呼和浩特市| 景谷| 霍林郭勒市| 白朗县| 搜索| 应用必备| 普陀区| 宜春市| 泾源县|