文档章节

Java编码过滤器

IceRainYWC
 IceRainYWC
发布于 2015/04/02 13:42
字数 212
阅读 40
收藏 0

代码如下:

/**
 * 编码过滤器
 */
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;

/**
 * @author Admin
 *
 */
public class EncodingFilter implements Filter {
	
	private FilterConfig filterConfig = null;
	private String targetEncoding = "UTF-8";//默认系统过滤编码
	private boolean isEnabled = true;//是否启用编码过滤
	
	/**
	 * 编码过滤
	 */
	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {

		if (this.isEnabled) {// 使用编码过滤
			HttpServletRequest req = (HttpServletRequest) request;
			HttpServletResponse res = (HttpServletResponse) response;
			req.setCharacterEncoding(targetEncoding);
			res.setCharacterEncoding(targetEncoding);
		}
		chain.doFilter(request, response);
	}

	/**
	 * 过滤器初始化
	 */
	public void init(FilterConfig config) throws ServletException {
		this.filterConfig = config;
		String encoding = filterConfig.getInitParameter("Encoding").trim();
		this.targetEncoding = encoding.equals("")?this.targetEncoding:encoding;
		this.isEnabled = Boolean.valueOf(filterConfig.getInitParameter("Enabled"));
	}
	
	public EncodingFilter() {
	}

	public void destroy() {
	}
}

web.xml配置:

<!-- 编码过滤 -->
	<filter>
		<display-name>EncodingFilter</display-name>
		<filter-name>EncodingFilter</filter-name>
		<filter-class>com.map.pgis.popu.filter.EncodingFilter</filter-class>
		<init-param>
			<description>过滤字符编码</description>
			<param-name>Encoding</param-name>
			<param-value>UTF-8</param-value>
		</init-param>
		<init-param>
			<description>是否启用编码过滤器</description>
			<param-name>Enabled</param-name>
			<param-value>true</param-value>
		</init-param>
	</filter>
	
	<filter-mapping>
		<filter-name>EncodingFilter</filter-name>
		<url-pattern>/EncodingFilter</url-pattern>
	</filter-mapping>
	<filter-mapping>
		<filter-name>EncodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>


© 著作权归作者所有

共有 人打赏支持
IceRainYWC
粉丝 13
博文 111
码字总数 49297
作品 0
石家庄
程序员
私信 提问
tomcat的编码设置 tomcat中文问题的解决

tomcat的编码设置tomcat中文问题的解决 第一,存文件必须以一种编码存;读文件也必须以一种编码读,如不特别设置,去系统默认的编码,中文windows为GBK编码。 从.java->.class过程是,先编写...

jiefalcon
2013/08/08
0
0
JSP中request.getParameter()乱码问题

【转】JSP中request.getParameter()乱码问题 博客分类: java中的字符编码 第一,存文件必须以一种编码存;读文件也必须以一种编码读,如不特别设置,去系统默认的编码,中文windows为GBK编码...

liango
2012/11/11
0
0
Spring Shiro CAS 客户端集成配置

如果不熟悉Shiro 和CAS的概念,可以在网上搜索一下这方面的资料, 在配置CAS客户端配置之前,首先要进行CAS服务端配置 配置之前需要引入一些jar包具体如下: (一)cas登录 web.xml配置 shir...

zbbmaster
2017/05/12
0
0
Apache Mina 网络通信

Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP、UDP/IP协议栈的通信框架(当然,也可以提供JAVA 对象的序列化服务、虚拟机管道通信服务等),Mina 可以帮助我...

Mr&Cheng
2013/01/20
0
0
eclipse maven创建servlet3.0项目

1、打开Eclipse4.2,新建一个Maven项目     1)选择maven的archetype为maven-archetype-webapp     2)填写项目信息   2、完善项目目录结构     1)手工添加 src/main/java、s...

开源中国搬砖小能手
2013/09/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

刚入职阿里,告诉你真实的职场生活,兼谈P6、P7、P8的等级

一:拿下offer的人,基本上都有什么特征? 二:为什么选择阿里? 三:阿里的工作氛围什么样? 四:阿里的薪资情况? 五:阿里的晋升空间有多大? 最近部门招聘,很多工程师,包括我在内都参与...

java知识分子
14分钟前
1
0

中国龙-扬科
17分钟前
1
0
深入理解定时器系列第一篇——理解setTimeout和setInterval

很长时间以来,定时器一直是javascript动画的核心技术。但是,关于定时器,人们通常只了解如何使用setTimeout()和setInterval(),对它们的内在运行机制并不理解,对于与预想不同的实际运行状...

Jack088
19分钟前
1
0
windows 安装nvm

1、nvw-windows的官网:https://github.com/coreybutler/nvm-windows/releases 2、选择nvm-setup.zip安装 3、配置环境变量 4、检查nvm是否安装成功 使用管理员权限打开一个命令行。输入nvm v...

灰白发
30分钟前
1
0
MySQL

慢日志查询作用 慢日志查询的主要功能就是,记录sql语句中超过设定的时间阈值的查询语句。例如,一条查询sql语句,我们设置的阈值为1s,当这条查询语句的执行时间超过了1s,则将被写入到慢查...

士兵7
32分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部