jsp乱码总结解决方案
	表单提交数据乱码:
	 对于get方法提交:
	找到tomcat安装路径下的conf文件夹下面的server.xml,打开将<Connector>添加URIEncoding=”utf-8”,见红字部分即可。
	  <Connector port="8080" protocol="HTTP/1.1"
	              connectionTimeout="20000"
	               redirectPort="8443" URIEncoding="UTF-8" />
	此方法只适用于get方法。
	对于post方法:
	有几种解决方法,
	①在jsp页中添加如下代码:request.setCharacterEncoding("utf-8");有的时候需要添加respon.setCharacterEncoding(“utf-8”);
	②使用过滤器(比较推荐):
	在项目的src文件夹下面添加新建一个类PageEncodingFilter,代码如下:
	中文过滤器的代码:
	package com.util;
	 
	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;//如上为所用到的类
	 
	//中文过滤器 三个方法,一个属性
	public class PageEncodingFilter implements Filter {
	    private String encode;
	 
	    // 初始化,encoding初始值从“web.xml”而来
	    public void init(FilterConfig arg0) throws ServletException {
	       this.encode = arg0.getInitParameter("encoding");
	 
	    }
	 
	    // 执行过滤
	    public void doFilter(ServletRequest arg0, ServletResponse arg1,
	           FilterChain arg2) throws IOException, ServletException{
	 
	       HttpServletRequest request = (HttpServletRequest) arg0;// 强转HttpServletRequest
	       request.setCharacterEncoding(encode);// 参数encode即为 String,切勿再加"双引号"
	       arg2.doFilter(arg0, arg1);
	 
	    }
	 
	    // 销毁
	    public void destroy() {
	       this.encode = null;
	 
	    }
	}
	说明:
	//创建步骤:
	1.新建 class 实现 接口 Filter (所在包为 带有“javax.servlet.Filter”,依“MyEclips”版本不同,略有不同);
	2.修改代码如上即可;
	3.打开“web.xml”(此文件在webRoot/WEB-INF/web.xml)文件进行 如下配置。
	配置代码:
	<!-- 中文过滤器初始化参数设置 -->
	<filter>
	<filter-name>PageEncodingFilter</filter-name><!--过滤器的名字-->
	
相关新闻>>
- 发表评论
 - 
				
 
- 最新评论 进入详细评论页>>
 


