? 上周更新了一下myblog,添加了一個(gè)Filter,做統(tǒng)計(jì)訪問(wèn)用??墒呛髞?lái)發(fā)現(xiàn)出現(xiàn)亂碼問(wèn)題了。找了很久都沒(méi)有找到問(wèn)題。debug的時(shí)候看到 CharacterEncodingFilter確實(shí)是執(zhí)行了。不過(guò)就是沒(méi)有效果。執(zhí)行之前是ISO-8859-1編碼的,執(zhí)行之后還是, CharacterEncodingFilter就沒(méi)有起到作用。后來(lái)終于找到問(wèn)題的原因了。原來(lái)是Filter配置先后順序的原因。
?????? 剛開(kāi)始的配置是這樣的:
????
<
filter-mapping
>
???????? < filter-name > requestCounterFilter </ filter-name >
???????? < url-pattern > *.jhtml </ url-pattern >
???? </ filter-mapping >
??
???? < filter-mapping >
???????? < filter-name > encodingFilter </ filter-name >
???????? < url-pattern > /dwr/* </ url-pattern >
???? </ filter-mapping >
????
???? < filter-mapping >
???????? < filter-name > encodingFilter </ filter-name >
???????? < url-pattern > *.jhtml </ url-pattern >
???? </ filter-mapping >
????
???? < filter-mapping >
???????? < filter-name > encodingFilter </ filter-name >
???????? < url-pattern > *.jsp </ url-pattern >
???? </ filter-mapping >
???????? < filter-name > requestCounterFilter </ filter-name >
???????? < url-pattern > *.jhtml </ url-pattern >
???? </ filter-mapping >
??
???? < filter-mapping >
???????? < filter-name > encodingFilter </ filter-name >
???????? < url-pattern > /dwr/* </ url-pattern >
???? </ filter-mapping >
????
???? < filter-mapping >
???????? < filter-name > encodingFilter </ filter-name >
???????? < url-pattern > *.jhtml </ url-pattern >
???? </ filter-mapping >
????
???? < filter-mapping >
???????? < filter-name > encodingFilter </ filter-name >
???????? < url-pattern > *.jsp </ url-pattern >
???? </ filter-mapping >
? 先經(jīng)過(guò)那個(gè)統(tǒng)計(jì)的filter然后再經(jīng)過(guò)編碼的filter。這樣的話編碼的filter就不起作用了。只要吧編碼的filter放到最前面就沒(méi)有問(wèn)題了。改成這樣就好。
????
<
filter-mapping
>
???????? < filter-name > encodingFilter </ filter-name >
???????? < url-pattern > /dwr/* </ url-pattern >
???? </ filter-mapping >
????
???? < filter-mapping >
???????? < filter-name > encodingFilter </ filter-name >
???????? < url-pattern > *.jhtml </ url-pattern >
???? </ filter-mapping >
????
???? < filter-mapping >
???????? < filter-name > encodingFilter </ filter-name >
???????? < url-pattern > *.jsp </ url-pattern >
???? </ filter-mapping >
????
???? < filter-mapping >
???????? < filter-name > requestCounterFilter </ filter-name >
???????? < url-pattern > *.jhtml </ url-pattern >
???? </ filter-mapping >
???????? < filter-name > encodingFilter </ filter-name >
???????? < url-pattern > /dwr/* </ url-pattern >
???? </ filter-mapping >
????
???? < filter-mapping >
???????? < filter-name > encodingFilter </ filter-name >
???????? < url-pattern > *.jhtml </ url-pattern >
???? </ filter-mapping >
????
???? < filter-mapping >
???????? < filter-name > encodingFilter </ filter-name >
???????? < url-pattern > *.jsp </ url-pattern >
???? </ filter-mapping >
????
???? < filter-mapping >
???????? < filter-name > requestCounterFilter </ filter-name >
???????? < url-pattern > *.jhtml </ url-pattern >
???? </ filter-mapping >
以后大家一定要注意啊。順序問(wèn)題也是很重要的。?? 除經(jīng)特別注明外,本文章版權(quán)歸莫多泡泡所有.
署名,非商業(yè)用途,保持一致.???somebody(莫多)