JAEE中的Filter实现

EncodingFilter.java
package com.zdx.filters;

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;

public class EncodingFilter implements Filter
{
	private FilterConfig filter;
	
	public void init(FilterConfig filter) throws ServletException
	{
		this.filter = filter;
	}
	
	public void destroy()
	{
		this.filter = null;
	}

	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException
	{
		String code = this.filter.getInitParameter("code");
		if(null == code || code.trim().length() == 0)
		{
			code = "UTF-8";
		}
		request.setCharacterEncoding(code);
		response.setCharacterEncoding(code);
		response.setContentType("text/html;charset=" + code);
		chain.doFilter(request, response);
	}
}

\WEB-INF\web.xml
        <!-- 文件编码过滤器 -->
	<filter>
		<filter-name>encodingFilter</filter-name>
		<filter-class>com.zdx.filters.EncodingFilter</filter-class>
		<init-param>
			<param-name>code</param-name>
			<param-value>UTF-8</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>encodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

你可能感兴趣的:(javaee,filter,EncodingFilter)