sevlet 乱码

转载 2016年08月31日 16:15:52

JavaWeb中交中文经常会出现乱码,想必各位都遇到过吧。今天跟大家聊聊一种比较常用的方式——Filter过滤。Filter就是起到一个过滤器的作用,当提交或者获取信息的时候,都会经过Filter,然后Filter会将你传递的信息转换成你设置好的编码格式,从而避免一些中文乱码的情况。

使用Filter过滤需要添加两部分代码,一是配置文件里关于Filter的配置信息;另一个就是Filter里面的过滤代码。下面一起看一下吧。


web.xml中的配置代码:

 

  <filter>
  	<filter-name>CharsetEncodingFilter</filter-name>
  	<filter-class>
  		com.tgb.drp.util.filter.CharsetEncodingFilter
  	</filter-class>
  	<init-param>
  		<param-name>endcoding</param-name>
  		<param-value>GB18030</param-value> <!--设置你想用的字符集,我这里用的是GB18030-->
  	</init-param>
  </filter>
  
  <filter-mapping>
  	<filter-name>CharsetEncodingFilter</filter-name>
  	<url-pattern>*.jsp</url-pattern>
  </filter-mapping>


 

Filter中的过滤代码:

 

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;


/**
 * 采用Filter统一处理字符集
 * @author Ronaldinho
 *
 */
public class CharsetEncodingFilter implements Filter {

	private String endcoding;
	

	@Override
	public void destroy() {
	}
	
	@Override
	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {
		
		System.out.println("CharsetEncodingFilter--->>>begin");
		
		//设置web.xml中配置的字符集
		request.setCharacterEncoding(endcoding);
		
		System.out.println("CharsetEncodingFilter--->>>doing");
		
		//继续执行
		chain.doFilter(request, response);
		
		System.out.println("CharsetEncodingFilter--->>>end");
	}
	
	@Override
	public void init(FilterConfig filterConfig) throws ServletException {
		this.endcoding = filterConfig.getInitParameter("endcoding");
		System.out.println("CharsetEncodingFilter.init()-->> endcoding=" + endcoding);
	}

}

相关文章推荐

J2EE中解决sevlet提交给mysql中文出现乱码问题

问题描述 在java的servlet提交给mysql的中文数据后,在数据库中显示是乱码, 解决方法 第一步:上网查资料发现是编码字符集的问题,设置本地的数据库的编码,将其...

黑马程序员 jsp乱码,sevlet乱码,struts乱码,tomcat乱码,get乱码,post乱码 解决方式

一、Servlet,jsp,输出乱码 第1种方式:t.write(str.getBytes("utf-8"))。        第2种方式:response.setHeader("content-ty...

必背代码-Sevlet实现验证码

package cn.lijun; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import jav...

验证码 jsp 版 和sevlet版

  • 2014年11月27日 21:51
  • 3KB
  • 下载

eclipse新建Sevlet报错的两种解决方法

刚开始学习javaweb的时候总是会遇到各种各样的问题.今天我就碰到了新建servlet总是显示错误的问题:                    如上图所示,这种的解决办法有两种: 第一种:没...

Pony漂流瓶毕设开发(android+jsp+mysql+sevlet)

代码就不在这里演示了,直接看效果吧! 需要的童鞋可以加群:316772240(青春不毕业) 服务端界面展示: 1:登录界面 2:管理后台界面 客户端界面展示:...

sevlet上传文件代码

public class FileUpLoadServlet extends HttpServlet { public void service(HttpServletRequest requ...

jsp+tomcat+mysql&sevlet&javabean配置全过程

软件下载 Mysql 下载版本:mysql-4.1.13-win32.zip(Windows downloads) http://dev.mysql.com/downloads/mysql/4...

Sevlet基础(三)

会话技术:当用户打开浏览器的时候,访问不同的资源,知道用户将浏览器关闭,可以认为这是一次会话. 作用: 因为http协议是一个无状态的协议,它记录不论上次访问的内容.用户在访问过程...

关于sevlet中request,session,application三者关系的形象解析

几乎所有的Web开发语言都支持Session功能,Servlet也不例外。 Servlet/JSP中的Session功能是通过作用域(scope)这个概念来实现的。 作用域分为四种,分别为:  pa...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sevlet 乱码
举报原因:
原因补充:

(最多只允许输入30个字)