Rising Sun

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            148 隨筆 :: 0 文章 :: 22 評論 :: 0 Trackbacks
          ?1 package?cn.com.jsp;
          ?2
          ?3 import?java.io.IOException;
          ?4 import?javax.servlet.Filter;
          ?5 import?javax.servlet.FilterChain;
          ?6 import?javax.servlet.FilterConfig;
          ?7 import?javax.servlet.ServletException;
          ?8 import?javax.servlet.ServletRequest;
          ?9 import?javax.servlet.ServletResponse;
          10 import?javax.servlet.UnavailableException;
          11
          12 public ? class ?SetCharacterEncodingFilter?implements?Filter? {
          13 ???? protected ?String?encoding? = ? null ;
          14 ???? protected ?FilterConfig?filterConfig? = ? null ;
          15 ???? protected ?boolean?ignore? = ? true ;
          16
          17 ???? public ? void ?destroy()? {
          18 ???????? this .encoding? = ? null ;
          19 ???????? this .filterConfig? = ? null ;
          20 ????}

          21
          22 ???? public ? void ?doFilter(ServletRequest?request,?ServletResponse?response,
          23 ?????????????????????????FilterChain?chain)?throws?IOException,
          24 ????????????ServletException? {
          25
          26 ???????? // ?Conditionally?select?and?set?the?character?encoding?to?be?used
          27 ???????? if ?(ignore? || ?(request.getCharacterEncoding()? == ? null ))? {
          28 ????????????String?encoding? = ?selectEncoding(request);
          29 ???????????? if ?(encoding? != ? null )? {
          30 ????????????????request.setCharacterEncoding(encoding);
          31 ????????????}

          32 ????????}

          33
          34 ???????? // ?Pass?control?on?to?the?next?filter
          35 ????????chain.doFilter(request,?response);
          36
          37 ????}

          38
          39 ???? public ? void ?init(FilterConfig?filterConfig)?throws?ServletException? {
          40
          41 ???????? this .filterConfig? = ?filterConfig;
          42 ???????? this .encoding? = ?filterConfig.getInitParameter( " encoding " );
          43 ????????String?value? = ?filterConfig.getInitParameter( " ignore " );
          44 ???????? if ?(value? == ? null )? {
          45 ???????????? this .ignore? = ? true ;
          46 ????????}
          ? else ? if ?(value.equalsIgnoreCase( " true " ))? {
          47 ???????????? this .ignore? = ? true ;
          48 ????????}
          ? else ? if ?(value.equalsIgnoreCase( " yes " ))? {
          49 ???????????? this .ignore? = ? true ;
          50 ????????}
          ? else ? {
          51 ???????????? this .ignore? = ? false ;
          52 ????????}

          53
          54 ????}

          55
          56 ???? protected ?String?selectEncoding(ServletRequest?request)? {
          57 ???????? return ?( this .encoding);
          58 ????}

          59
          60 }


          相應的web.xml文件里的配置如下:

          ?1<web-app>
          ?2??<display-name>wwwrootSPAN style="COLOR: #800000">display-name>
          ?3??<description>MySQL?Test?AppSPAN style="COLOR: #800000">description>
          ?4??<filter>
          ?5????<filter-name>setCharacterEncodingFilterSPAN style="COLOR: #800000">filter-name>
          ?6????<display-name>setCharacterEncodingFilterSPAN style="COLOR: #800000">display-name>
          ?7????<description>setCharacterEncodingFilterSPAN style="COLOR: #800000">description>
          ?8????<filter-class>cn.com.jsp.SetCharacterEncodingFilterSPAN style="COLOR: #800000">filter-class>
          ?9????<init-param>
          10??????<param-name>encodingSPAN style="COLOR: #800000">param-name>
          11??????<param-value>GBKSPAN style="COLOR: #800000">param-value>
          12????SPAN style="COLOR: #800000">init-param>
          13??SPAN style="COLOR: #800000">filter>
          14??<filter-mapping>
          15????<filter-name>setCharacterEncodingFilterSPAN style="COLOR: #800000">filter-name>
          16????<url-pattern>/*SPAN style="COLOR: #800000">url-pattern>
          17??SPAN style="COLOR: #800000">filter-mapping>
          18……
          19SPAN style="COLOR: #800000">web-app>

          上面的代碼我也沒更改什么,看了后,了解了其中的些許流程。放入blog,留以備學吧
          posted on 2006-07-27 15:11 brock 閱讀(372) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 裕民县| 辽中县| 从化市| 清原| 贵阳市| 徐汇区| 寿阳县| 彭州市| 海盐县| 文昌市| 湟中县| 台东县| 邹平县| 沅江市| 东莞市| 凭祥市| 南召县| 武汉市| 桐城市| 文水县| 丽江市| 新野县| 崇文区| 弥勒县| 卢湾区| 普定县| 太仆寺旗| 轮台县| 大竹县| 沁源县| 烟台市| 攀枝花市| 宁津县| 元朗区| 和林格尔县| 灵台县| 南开区| 历史| 正镶白旗| 海门市| 瓦房店市|