setcharacterencodingfilter.java

来自「基于Sturts+Spring+Hibernate的一个高级销售管理系统。内容丰」· Java 代码 · 共 67 行

JAVA
67
字号
package com.yuanchung.sales.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;
import javax.servlet.http.HttpServletResponse;

public class SetCharacterEncodingFilter implements Filter {

	private String targetEncoding = "utf-8";

	protected FilterConfig filterConfig = null;

	private boolean ignore = true;

	public void destroy() {

		this.targetEncoding = null;
		this.filterConfig = null;

	}

	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {
		
		//转成http协议的api;
		HttpServletRequest req = (HttpServletRequest) request;
		HttpServletResponse res = (HttpServletResponse) response;
		
		//组装回填浏览器地址;
		String basePath = req.getScheme()+"://"+req.getServerName()+":"+req.getServerPort()+req.getContextPath()+"/";
		req.setAttribute("basePath", basePath);
		
		
		if (!ignore && targetEncoding != null) {
			request.setCharacterEncoding(targetEncoding);
			response.setCharacterEncoding(targetEncoding);
		}

		chain.doFilter(req, res);

	}

	public void init(FilterConfig filterConfig) throws ServletException {

		this.filterConfig = filterConfig;

		String encoding = filterConfig.getInitParameter("encoding");
		if(encoding != null){
			this.targetEncoding = encoding;
		}
		
		String value = filterConfig.getInitParameter("ignore");

		if(value != null && value.equalsIgnoreCase("false"))
			ignore = false;

	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?