首页>代码>JSP开发许愿墙模块源代码下载>/许愿墙模块/02/src/com/CharacterEncodingFilter.java
package com;

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 CharacterEncodingFilter implements Filter {
	protected String encoding = null;// 定义编码格式变量
	protected FilterConfig filterConfig = null;// 定义过滤器配置对象

	public void init(FilterConfig filterConfig) throws ServletException {
		this.filterConfig = filterConfig; // 初始化过滤器配置对象
		this.encoding = filterConfig.getInitParameter("encoding");// 获取配置文件中指定的编码格式
	}

	// 过滤器的接口方法,用于执行过滤业务
	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {
		if (encoding != null) {
			HttpServletRequest hsRequest = (HttpServletRequest) request;// 获取HttpServletRequest对象
			String requestedWith = hsRequest.getHeader("x-requested-with");// 获取请求的发出者,该信息由Ajax发送POST请求时设置
			String contentType = request.getContentType();// 获取请求的内容类型
			if (null != contentType
					&& contentType
							.equalsIgnoreCase("application/x-www-form-urlencoded")
					&& null != requestedWith && requestedWith.equals("ajax")) {
				request.setCharacterEncoding("UTF-8");// 设置编码为UTF-8

			} else {
				request.setCharacterEncoding(encoding); // 设置请求的编码
				response.setContentType("text/html; charset=" + encoding);// 设置应答对象的内容类型(包括编码格式)
			}
		}
		chain.doFilter(request, response); // 传递给下一个过滤器
	}

	public void destroy() {
		this.encoding = null;
		this.filterConfig = null;
	}
}
最近下载更多
liu2022  LV14 2022年7月31日
wanglinddad  LV55 2022年6月7日
Start1  LV15 2021年10月30日
夏至  LV3 2021年6月9日
是菲菲菲啦啦  LV3 2021年3月23日
159878  LV2 2020年11月26日
ExamplesDYC  LV13 2020年11月22日
Snly小怪兽  LV4 2020年5月17日
Merlin12345  LV3 2020年3月25日
happy1231  LV7 2020年3月13日
最近浏览更多
噗通123321 6月11日
暂无贡献等级
寒江雪2017  LV10 5月24日
Liang朝伟  LV1 1月5日
wttttts  LV2 1月1日
颜菜菜  LV2 2023年12月23日
yidaaaaaa  LV1 2023年5月10日
95959595959  LV13 2023年4月11日
微信网友_6411724627349504  LV3 2023年4月3日
yanmoumou  LV2 2022年12月22日
flyaing  LV1 2022年12月17日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友