<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-6  評論-38  文章-40  trackbacks-0
    過濾類
    ??1/**
    ??2?*
    ??3?*
    ??4?*?apache?出的?struts?hibernate?字符編碼處理過濾器
    ??5?*
    ??6?*
    ??7?*/

    ??8package?com.zeroidea.common;
    ??9/*
    ?10*?Copyright?2004?The?Apache?Software?Foundation
    ?11*
    ?12*?Licensed?under?the?Apache?License,?Version?2.0?(the?"License");
    ?13*?you?may?naot?use?this?file?except?in?compliance?with?the?License.
    ?14*?You?may?obtain?a?copy?of?the?License?at
    ?15*
    ?16*?????http://www.apache.org/licenses/LICENSE-2.0
    ?17*
    ?18*?Unless?required?by?applicable?law?or?agreed?to?in?writing,?software
    ?19*?distributed?under?the?License?is?distributed?on?an?"AS?IS"?BASIS,
    ?20*?WITHOUT?WARRANTIES?OR?CONDITIONS?OF?ANY?KIND,?either?express?or?implied.
    ?21*?See?the?License?for?the?specific?language?governing?permissions?and
    ?22*?limitations?under?the?License.
    ?23*/

    ?24
    ?25import?java.io.IOException;
    ?26
    ?27import?javax.servlet.Filter;
    ?28import?javax.servlet.FilterChain;
    ?29import?javax.servlet.FilterConfig;
    ?30import?javax.servlet.ServletException;
    ?31import?javax.servlet.ServletRequest;
    ?32import?javax.servlet.ServletResponse;
    ?33
    ?34
    ?35/**
    ?36?*?<p>Example?filter?that?sets?the?character?encoding?to?be?used?in?parsing?the
    ?37?*?incoming?request,?either?unconditionally?or?only?if?the?client?did?not
    ?38?*?specify?a?character?encoding.??Configuration?of?this?filter?is?based?on
    ?39?*?the?following?initialization?parameters:</p>
    ?40?*?<ul>
    ?41?*?<li><strong>encoding</strong>?-?The?character?encoding?to?be?configured
    ?42?*?????for?this?request,?either?conditionally?or?unconditionally?based?on
    ?43?*?????the?<code>ignore</code>?initialization?parameter.??This?parameter
    ?44?*?????is?required,?so?there?is?no?default.</li>
    ?45?*?<li><strong>ignore</strong>?-?If?set?to?"true",?any?character?encoding
    ?46?*?????specified?by?the?client?is?ignored,?and?the?value?returned?by?the
    ?47?*?????<code>selectEncoding()</code>?method?is?set.??If?set?to?"false,
    ?48?*?????<code>selectEncoding()</code>?is?called?<strong>only</strong>?if?the
    ?49?*?????client?has?not?already?specified?an?encoding.??By?default,?this
    ?50?*?????parameter?is?set?to?"true".</li>
    ?51?*?</ul>
    ?52?*
    ?53?*?<p>Although?this?filter?can?be?used?unchanged,?it?is?also?easy?to
    ?54?*?subclass?it?and?make?the?<code>selectEncoding()</code>?method?more
    ?55?*?intelligent?about?what?encoding?to?choose,?based?on?characteristics?of
    ?56?*?the?incoming?request?(such?as?the?values?of?the?<code>Accept-Language</code>
    ?57?*?and?<code>User-Agent</code>?headers,?or?a?value?stashed?in?the?current
    ?58?*?user's?session.</p>
    ?59?*
    ?60?*?@author?Craig?McClanahan
    ?61?*?@version?$Revision:?1.2?$?$Date:?2004/03/18?16:40:28?$
    ?62?*/

    ?63
    ?64public?class?SetCharacterEncodingFilter?implements?Filter?{
    ?65
    ?66
    ?67????//?-----------------------------------------------------?Instance?Variables
    ?68
    ?69
    ?70????/**
    ?71?????*?The?default?character?encoding?to?set?for?requests?that?pass?through
    ?72?????*?this?filter.
    ?73?????*/

    ?74????protected?String?encoding?=?null;
    ?75
    ?76????/**
    ?77?????*?The?filter?configuration?object?we?are?associated?with.??If?this?value
    ?78?????*?is?null,?this?filter?instance?is?not?currently?configured.
    ?79?????*?
    ?80?????*?@uml.property?name="filterConfig"
    ?81?????*?@uml.associationEnd?multiplicity="(0?1)"
    ?82?????*/

    ?83????protected?FilterConfig?filterConfig?=?null;
    ?84
    ?85
    ?86
    ?87????/**
    ?88?????*?Should?a?character?encoding?specified?by?the?client?be?ignored?
    ?89?????*/

    ?90????protected?boolean?ignore?=?true;
    ?91
    ?92
    ?93????//?---------------------------------------------------------?Public?Methods
    ?94
    ?95
    ?96????/**
    ?97?????*?Take?this?filter?out?of?service.
    ?98?????*/

    ?99????public?void?destroy()?{
    100
    101????????this.encoding?=?null;
    102????????this.filterConfig?=?null;
    103
    104????}

    105
    106
    107????/**
    108?????*?Select?and?set?(if?specified)?the?character?encoding?to?be?used?to
    109?????*?interpret?request?parameters?for?this?request.
    110?????*
    111?????*?@param?request?The?servlet?request?we?are?processing
    112?????*?@param?result?The?servlet?response?we?are?creating
    113?????*?@param?chain?The?filter?chain?we?are?processing
    114?????*
    115?????*?@exception?IOException?if?an?input/output?error?occurs
    116?????*?@exception?ServletException?if?a?servlet?error?occurs
    117?????*/

    118????public?void?doFilter(ServletRequest?request,?ServletResponse?response,
    119?????????????????????????FilterChain?chain)
    120????throws?IOException,?ServletException?{
    121
    122????????//?Conditionally?select?and?set?the?character?encoding?to?be?used
    123????????if?(ignore?||?(request.getCharacterEncoding()?==?null))?{
    124????????????String?encoding?=?selectEncoding(request);
    125????????????if?(encoding?!=?null)
    126????????????????request.setCharacterEncoding(encoding);
    127????????}

    128
    129????//?Pass?control?on?to?the?next?filter
    130????????chain.doFilter(request,?response);
    131
    132????}

    133
    134????/**
    135?????*?Place?this?filter?into?service.
    136?????*?
    137?????*?@param?filterConfig?The?filter?configuration?object
    138?????*?
    139?????*?@uml.property?name="filterConfig"
    140?????*/

    141????public?void?init(FilterConfig?filterConfig)?throws?ServletException?{
    142
    143????????this.filterConfig?=?filterConfig;
    144????????this.encoding?=?filterConfig.getInitParameter("encoding");
    145????????String?value?=?filterConfig.getInitParameter("ignore");
    146????????if?(value?==?null)
    147????????????this.ignore?=?true;
    148????????else?if?(value.equalsIgnoreCase("true"))
    149????????????this.ignore?=?true;
    150????????else?if?(value.equalsIgnoreCase("yes"))
    151????????????this.ignore?=?true;
    152????????else
    153????????????this.ignore?=?false;
    154
    155????}

    156
    157????//?------------------------------------------------------?Protected?Methods
    158
    159
    160????/**
    161?????*?Select?an?appropriate?character?encoding?to?be?used,?based?on?the
    162?????*?characteristics?of?the?current?request?and/or?filter?initialization
    163?????*?parameters.??If?no?character?encoding?should?be?set,?return
    164?????*?<code>null</code>.
    165?????*?<p>
    166?????*?The?default?implementation?unconditionally?returns?the?value?configured
    167?????*?by?the?<strong>encoding</strong>?initialization?parameter?for?this
    168?????*?filter.
    169?????*
    170?????*?@param?request?The?servlet?request?we?are?processing
    171?????*/

    172????protected?String?selectEncoding(ServletRequest?request)?{
    173
    174????????return?(this.encoding);
    175
    176????}

    177
    178
    179}

    180

    web.xml 中的設置
    ?1?<!--?編碼轉換過濾器??-->
    ?2?<filter>
    ?3??<filter-name>Encoding</filter-name>
    ?4??<filter-class>com.zeroidea.common.SetCharacterEncodingFilter</filter-class>
    ?5??<init-param>
    ?6???<param-name>encoding</param-name>
    ?7???<param-value>GBK</param-value>
    ?8??</init-param>
    ?9?</filter>
    10?
    11?<!--?映射過濾器-->
    12?<filter-mapping>
    13??<filter-name>Encoding</filter-name>
    14??<url-pattern>*.jsp</url-pattern>
    15?</filter-mapping>
    16?<filter-mapping>
    17??<filter-name>Encoding</filter-name>
    18??<url-pattern>*.do</url-pattern>
    19?</filter-mapping>

    posted on 2006-11-30 16:32 一手的小窩窩 閱讀(1917) 評論(1)  編輯  收藏 所屬分類: JAVA

    評論:
    # re: STRUTS 字符編碼處理過濾器[未登錄] 2007-12-03 17:03 | shawn
    謝謝

    找了很多都有問題
      回復  更多評論
      
    主站蜘蛛池模板: 67pao强力打造高清免费| 东方aⅴ免费观看久久av | 日亚毛片免费乱码不卡一区 | 亚洲中文字幕无码一区| 一区二区三区精品高清视频免费在线播放| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 亚洲日韩在线第一页| 在线播放国产不卡免费视频| 免费一看一级毛片全播放| 一边摸一边桶一边脱免费视频| 亚洲精品无码激情AV| 中国一级特黄的片子免费 | 免费人成视频在线观看不卡| 国产精品亚洲精品爽爽| 免费一级毛片在线观看| 一级做a爱片特黄在线观看免费看| 国产亚洲精品影视在线产品 | 日韩国产免费一区二区三区| 亚洲视频无码高清在线| 免费看香港一级毛片| 国产亚洲综合精品一区二区三区| 免费看国产曰批40分钟| 成在线人视频免费视频| 亚洲avav天堂av在线不卡| 精品国产无限资源免费观看| 亚洲欧美国产日韩av野草社区| 国产99视频精品免费视频7| 国产精品美女久久久免费| 亚洲AV无码国产丝袜在线观看| 真实国产乱子伦精品免费| 亚洲精品无码你懂的| 中文字幕不卡亚洲| 免费h片在线观看网址最新| 久久精品国产亚洲av品善| 亚洲精品成人网站在线观看 | 黄色免费网址在线观看| 亚洲av之男人的天堂网站| 大学生美女毛片免费视频| 一进一出60分钟免费视频| 亚洲一区在线免费观看|