使用filter统一设置编码
1.写一个类EncodingFilter.java,实现javax.servlet.Filter(文件命名做到见名知意)
package com.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;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; public class EncodingFilter implements Filter { private String encoding = null; /**
* 初始化方法,从web.xml中获取配置的初始化参数
*/
@Override
public void init(FilterConfig filterConfig) throws ServletException {
this.encoding = filterConfig.getInitParameter("encode"); } /**
* 设置编码
*/
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest httpRequest = (HttpServletRequest)request;
HttpServletResponse httpResponse = (HttpServletResponse)response; httpRequest.setCharacterEncoding(encoding);
httpResponse.setCharacterEncoding(encoding); //调用doFIlter方法,如果还有别的过滤器会自动向下调用
chain.doFilter(httpRequest, httpResponse); } @Override
public void destroy() { } }
2.配置web.xml,使自定义的过滤器生效(如果有其他的过滤器,请放到最前面)
<filter>
<filter-name>encode</filter-name>
<filter-class>com.filter.EncodingFilter</filter-class>
<init-param>
<param-name>encode</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encode</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
使用filter统一设置编码的更多相关文章
- eclipse 统一设置编码_项目工程统一设置成utf8编码_eclipse代码规范
		
在做项目的时候文件有的时候编码不同一 经常出现乱码,eclipse统一设置编码 可以解决项目编码混乱的问题, 设置eclipse java,jsp,css,js文件编码的方法如下: 1.在工具栏中点击 ...
 - IntelliJ IDEA 统一设置编码为utf-8编码 /idea设置编码
		
问题一. File->Settings->Editor->File Encodings 问题二. File->Other Settings->Default Settin ...
 - IntelliJ IDEA 统一设置编码为utf-8编码
		
问题一: File->Settings->Editor->File Encodings 问题二: File->Other Settings->Default Settin ...
 - JavaWeb乱码问题及统一全站编码(通过Filter实现)
		
1. public class CharacterFilter implements Filter { private String characterEncoding = null; FilterC ...
 - ThinkPHP统一设置utf-8编码
		
1.项目编码 在编辑器中设置编码utf-8 2.在浏览器中设置编码 //Thinkphp方法中添加header设置utf-8只有index方法解决了乱码 class UserAction extend ...
 - IDEA设置换行符为Unix编码格式,设置编码统一为UTF-8,自动生成serialVersionUID
		
设置换行符为Unix编码格式 设置编码统一为UTF-8 自动生成serialVersionUID.勾选"Serializable class without serialVersionUID ...
 - Filter实现字符集统一设置
		
Filter实现字符集统一设置 其实是对request和response请求进行了拦截 1.创建Filter类,实现javax.Servlet接口 doFilter方法 //设置字符集 request ...
 - javaweb的Filter过滤器设置全站编码
		
FIlter配置全站编码有一种方法是重写getParameter方法,也就是继承HttpServletRequestWrapper在重写getParameter方法,还有一种就是如下: public ...
 - 详解Spring中的CharacterEncodingFilter--forceEncoding为true在java代码中设置失效--html设置编码无效
		
在项目中有很多让人头疼的问题,其中,编码问题位列其一,那么在Spring框架中是如何解决从页面传来的字符串的编码问题的呢?下面我们来看看Spring框架给我们提供过滤器CharacterEncodin ...
 
随机推荐
- 创建一个自己的动态HTML-备
			
-.获取元素 改变属性 通过id来获取HTML元素 通过标签名找到HTML元素 通过类名来找到HTML元素 举个
 - Gradle Android客户端程序打包(基于gradle 2.10版本验证通过)
			
一.前言 目前正在准备从eclipse开发环境向AndroidStudio迁移,提前过去探探路,不出所料,原来gradle脚本果然报错,无法运行,想想索性把本地的gradle一起升级到最新版本,毕竟1 ...
 - 利用php unpack读取c struct的二进制数据,struct内存对齐引起的一些问题
			
c语言代码 #include <stdio.h> struct test{ int a; unsigned char b; int c; }; int main(){ FILE *fp; ...
 - Java 8 新特性终极版
			
声明:本文翻译自Java 8 Features Tutorial – The ULTIMATE Guide,翻译过程中发现并发编程网已经有同学翻译过了:Java 8 特性 – 终极手册,我还是坚持自己 ...
 - Entify Framewrok - Join的使用方法
			
问题:有2个表,使用id相连,如何用Join语法将其连接起来? 如下代码 List<tblAssociation> assoList = dataContext.tblAssociatio ...
 - 获取java类和方法名
			
String clazz = this.getClass().getName(); String method = Thread.currentThread() .getStackTrace()[1] ...
 - ServletRequest中getReader()和getInputStream()只能调用一次的解决办法(转)
			
原文地址:http://liwx2000.iteye.com/blog/1542431 原文作者:liwx2000 为了提高项目安全性,拦截非法访问,要给项目增加了一个过滤器,拦截所有的请求,校验是否 ...
 - WebService-调用第三方提供的webService服务
			
互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web应用中显示,下面就以获取天气预报数据和查询国内手机号码归属地为 ...
 - android中使用哪种方式解析XML比較好
			
SAX是一个用于处理XML事件驱动的"推"模型. 长处是一种解析速度快而且占用内存少的xml解析器,它须要哪些数据再载入和解析哪些内容. 缺点是它不会记录标签的关系.而要让你的应用 ...
 - c++ 依据输入动态声明数组(一维,二维)
			
较早的编译器是不同意这样做的,所以一些书籍比方以Tc解说的书本都说数组的下标不能是变量.在vc6.0下亦是如此. 只是在一些较新的编译器如dev c++已经支持了,例如以下代码不会报错 #includ ...