MyEclipse中解决JSP中文乱码的问题

遇到乱码,此时需要添加Filter

 

 1 package com.hello.filter;
 2 
 3 
 4 
 5 import java.io.IOException;
 6 
 7 import javax.servlet.*;
 8 
 9 public class CharacterEncodingFilter implements Filter {
10     private String characterEncoding;
11     private boolean enabled;
12     public void init(FilterConfig config) throws ServletException{
13         characterEncoding=config.getInitParameter("characterEncoding");
14         enabled="true".equalsIgnoreCase(config.getInitParameter("enabled").trim());
15     }
16     public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)throws IOException,ServletException{
17         if(enabled||characterEncoding!=null){
18             request.setCharacterEncoding(characterEncoding);
19             response.setCharacterEncoding(characterEncoding);
20             
21         }
22         chain.doFilter(request, response);
23     }
24     
25     public void destroy(){
26         characterEncoding=null;
27     }
28 
29 }

 

characterEncoding表示编码方式,enabled表示是否启用编码,分辨从初始化中取值;

 

 

 1 web.xml配置代码:
 2   <filter>
 3       <filter-name>characterEncodingFilter</filter-name>
 4       <filter-class>com.hello.filter.CharacterEncodingFilter</filter-class>
 5       <init-param>
 6           <param-name>characterEncoding</param-name>
 7           <param-value>UTF-8</param-value>
 8       </init-param>
 9       <init-param>
10           <param-name>enabled</param-name>
11           <param-value>true</param-value>
12       </init-param>
13   </filter>
14   
15   <filter-mapping>
16       <filter-name>characterEncodingFilter</filter-name>
17       <url-pattern>/*</url-pattern>
18   </filter-mapping>

 

 

posted @ 2012-11-20 17:54  i Traveling Light  阅读(370)  评论(0)    收藏  举报