Filter 處理 Java 亂碼問題

來源:互聯網
上載者:User
代碼

 1 package com.denley.util;
2
3  import java.io.IOException;
4
5  import javax.servlet.Filter;
6  import javax.servlet.FilterConfig;
7  import javax.servlet.ServletException;
8 import javax.servlet.ServletRequest;
9
10 import javax.servlet.ServletResponse;
11 import javax.servlet.FilterChain;
12
13 public class SetCharacterEncodingFilter implements Filter {
14
15 protected FilterConfig filterConfig;
16 protected String encodingName;
17 protected boolean enable;
18
19 public SetCharacterEncodingFilter() {
20 this.encodingName = "UTF-8";
21 this.enable = false;
22 }
23
24 public void init(FilterConfig filterConfig) throws ServletException {
25 this.filterConfig = filterConfig;
26 loadConfigParams();
27 }
28
29 private void loadConfigParams() {
30 this.encodingName = this.filterConfig.getInitParameter("encoding");
31 String strIgnoreFlag = this.filterConfig.getInitParameter("enable");
32 if (strIgnoreFlag.equalsIgnoreCase("true")) {
33 this.enable = true;
34 } else {
35 this.enable = false;
36 }
37 }
38
39 public void doFilter(ServletRequest request, ServletResponse response,
40 FilterChain chain) throws IOException, ServletException {
41 if (this.enable) {
42 request.setCharacterEncoding(this.encodingName);
43 response.setCharacterEncoding(this.encodingName);
44 }
45 chain.doFilter(request, response);
46 }
47
48 public void destroy() {
49 }
50
51 }
52

 

 

 

代碼

 1     <filter>
2 <filter-name>SetCharacterEncoding</filter-name>
3 <filter-class>com.denley.util.SetCharacterEncodingFilter</filter-class>
4 <init-param>
5 <param-name>encoding</param-name>
6 <param-value>UTF-8</param-value>
7 </init-param>
8 <init-param>
9 <param-name>enable</param-name>
10 <param-value>true</param-value>
11 </init-param>
12 </filter>
13 <filter-mapping>
14 <filter-name>SetCharacterEncoding</filter-name>
15 <servlet-name>action</servlet-name>
16 </filter-mapping>

 

加入Java代碼 和 web.xml 代碼 就OK了

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.