国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項超值服

開通VIP
使用 HttpServletRequestWrapper 過濾 GET 請求編碼問題
在 javaee 中我們經(jīng)常會使用 Filter 來解決中文亂碼的問題!
但是使用這種方式我們通常只是用來解決 POST 提交的中文編碼問題, 那對于GET 方式提交的呢? 是不是就不能素手無策了呢 ?

網(wǎng)上有很多解決 GET 方式中文編碼問題,大都千篇一律。 
1,在 Servlet 中手動解碼 
String keyword = new String(request.getParameter("keyword").getBytes("iso-8859-1"),"utf-8");
2, 就是從 tomcat 的配置入手,修改 server.xml 文件 (SUN 不推薦此做法)
<Connector port="8088"  maxThreads="150" 
minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443"
acceptCount="100" debug="0" connectionTimeout="20000"
disableUploadTimeout="true" URIEncoding="UTF-8" />

下面給大家介紹給一勞永逸的做法,搞個過濾器既能解決 GET 編碼,又能解決 POST 編碼,是不是很 cool ?
public class CnRequestWrapper extends HttpServletRequestWrapper {
	public CnRequestWrapper(HttpServletRequest request) {		super(request);	}
   	@Override	public String getParameter(String name) {				String value = super.getParameter(name);		if (value != null && !"".equals(value)) {			try {				value = new String(value.getBytes(), "UTF-8");			} catch (UnsupportedEncodingException e) {				e.printStackTrace();			}		}		return value;	}	
}

然后在自己的 CharsetFilter 中使用這個自定義的包裝器將請求包裝一下即可
	public void doFilter(ServletRequest req, ServletResponse res,			FilterChain chain) throws IOException, ServletException {	
		HttpServletRequest request = (HttpServletRequest) req;		chain.doFilter(new CnRequestWrapper(request), res);	}

最后,在程序中就不用再擔(dān)心編碼的問題了
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Spring cloud zuul 過濾器無法獲取 form-data 參數(shù) getParameter 為空
URL 中文傳參,JAVA后臺 request.getParameterMap()亂碼的解決辦法
Java
防止表單重復(fù)提交
JSP過濾器防止Xss漏洞
struts2中文亂碼解決方法
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服