2Filter應用1統一全站字符編碼的過濾器

通過配置參數encoding指明使用何種字符編碼,以處理Html Form請求參數的中文問題
 
1.新建一個Filter接口的實現類
//解決全站的post亂碼
public class CharacterEncodingFilter implements Filter {

	private FilterConfig filterConfig;
	private String defaultCharset = "UTF-8";
	
	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {
		
		String charset = this.filterConfig.getInitParameter("charset");
		if(charset == null){
			charset = defaultCharset;
		}
		
		request.setCharacterEncoding(charset);  //這句代碼智能解決post方式的亂碼問題,不能解決get方式的亂碼問題
		chain.doFilter(request, response);
	}
	
	public void destroy() {
		// TODO Auto-generated method stub
	}


	public void init(FilterConfig filterConfig) throws ServletException {
		this.filterConfig = filterConfig;
	}

}

 
2.配置web.xml文件
 <filter>
  <filter-name>CharacterEncodingFilter</filter-name>
  <filter-class>cn.itcast.web.filter.example.CharacterEncodingFilter</filter-class>
  <init-param>
   <param-name>charset</param-name>
   <param-value>UTF-8</param-value>
  </init-param>
 </filter>

 <filter-mapping>
  <filter-name>CharacterEncodingFilter</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>

 
 
發佈了65 篇原創文章 · 獲贊 2 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章