處理request中的亂碼問題

2021-08-17 10:45:02 字數 2758 閱讀 3007

1>首先在web.xml中新增如下**

<

context-param

>

<

param-name

>

encode

param-name

>

<

param-value

>

utf-8

param-value

>

context-param

>

<

filter

>

<

filter-name

>

encodingfilter

filter-name

>

<

filter-class

>

cn.tedu.filter.encodingfilter

filter-class

>

filter

>

<

>

<

filter-name

>

encodingfilter

filter-name

>

<

url-pattern

>

/*url-pattern

>

>

2>在寫乙個類encodingfilter繼承filter,**如下public class encodingfilter

/***

過濾方法

*/public

voiddofilter(finalservletrequest request, servletresponse response,filterchainchain)throwsioexception,servletexceptionelse

if(

"getparametervalues"

.equals(method.getname()))

//返回編碼後的陣列

returnvalues;

//如果是呼叫getparametermap方法

}else

if(

"getparametermap"

.equals(method.getname()))

//將編碼後的value賦值給map

map.put(entry.getkey(),value);

}returnmap;

}else

}});

//放行時,使用**物件作為引數

chain.dofilter(proxyrequest,response);

}/**

* 銷毀方法

*/public

voiddestroy()

}寫乙個類encodingfilter繼承filter,**如下

public class encodingfilter

/***

內部類servletrequest的裝飾類 改造了獲取請求引數相關的方法 增加了亂碼解決的**

*///

classmyservletrequestextends

privateservletrequest

request

=null;

private

booleanhasnotencode

=true;

//構造器 接受傳入的request儲存在類的內部

//覆蓋和獲取請求引數相關的方法

@override

publicmapgetparametermap()

}hasnotencode

=false;}//

返回解決完亂碼的map

returnmap;

}catch(exception e)

}@override

publicstring getparametervalues(string name)

@override

publicstring getparameter(string name)

}/**

* 過濾方法

*/public

voiddofilter(finalservletrequest request, servletresponse response,filterchainchain)throwsioexception,servletexception

/*** 銷毀方法

*/public

voiddestroy()

}

處理request中文亂碼

1 當用window.open url 開啟乙個視窗的時候通過下面的方法傳值到action處理,經常會出現中文亂碼情況 url struts?method x prametera encodeuricomponent changevaluesjson 在action中通過下面的方式可以處理中文亂碼情...

request中文亂碼問題

connector connectiontimeout 20000 redirectport 8443 uriencoding utf 8 當在connector中新增 uriencoding utf 8 後,servlet中不設定編碼request.setcharacterencoding utf...

request與response亂碼處理

1.響應亂碼的處理 1.1 第一種解決響應亂碼 設定響應編碼,設定瀏覽器的編碼也是utf 8 response.setcharacterencoding utf 8 1.2 第二種解決響應亂碼 設定響應的內容型別及瀏覽器展示資訊的編碼方式 response.setcontenttype text h...