日期:2014-05-16  浏览次数:20470 次

jsp乱码问题解决方案
1,页面上编码设置为"UTF-8"   
2,写一个字符编码过滤器, 在web.xml中配置加载过滤器  
3,设置tomcat的属性 在配置端口的节点上加入如下代码:URIEncoding="UTF-8" 
 
1,代码如下:   
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>   
2,实现代码:   
package com.mww.comm;   
 
import java.io.IOException;   
 
import javax.servlet.Filter;   
import javax.servlet.FilterChain;   
import javax.servlet.FilterConfig;   
import javax.servlet.ServletException;   
import javax.servlet.ServletRequest;   
import javax.servlet.ServletResponse;   
import javax.servlet.http.HttpServletRequest;   
import javax.servlet.http.HttpServletResponse;   
 
public class checkEcodingFelter implements Filter {   
 
public void destroy() {   
// TODO Auto-generated method stub   
 
}   
 
public void doFilter(ServletRequest servletrequest,   
ServletResponse servletresponse, FilterChain filterChain)   
throws IOException, ServletException {   
HttpServletRequest request = (HttpServletRequest) servletrequest;   
HttpServletResponse response = (HttpServletResponse) servletresponse;   
request.setCharacterEncoding("UTF-8");   
response.setCharacterEncoding("UTF-8");   
response.setContentType("text/html;charset=UTF-8");   
filterChain.doFilter(servletrequest, servletresponse);   
}   
 
public void init(FilterConfig arg0) throws ServletException {   
// TODO Auto-generated method stub   
 
}   
 
}   
在web.xml中配置过滤器:   
  <!-- 字符编码过滤 -->   
<filter>   
<filter-name>checkEcodingFelter </filter-name>  
<filter-class>com.mww.comm.checkEcodingFelter </filter-class> <!-- 配置过滤器类 包名+类名 -->  
</filter>   
<filter-mapping>   
<filter-name>checkEcodingFelter </filter-name>   
<url-pattern>/* </url-pattern> <!-- 过滤所有页面-->  
</filter-mapping>   
3,在tomcat配置端口的节点上配置该属性URIEncoding="UTF-8" :   
<Connector port="8888" protocol="HTTP/1.1"   
              connectionTimeout="20000"   
              redirectPort="8443"   
  URIEncoding="UTF-8"/>   
 
按这一套下来乱码问题解
资料引用:http://www.knowsky.com/539512.html