setcharacterencodingfilter.java

来自「jaguey,网上的一个朋友给我的」· Java 代码 · 共 45 行

JAVA
45
字号
package net.javapassion.jaguey.filter;

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterConfig;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.*;
import javax.servlet.http.HttpServlet;

//版本: JagueyBBS 1.1
//功能: 论坛字符过滤器Servlet
//作者: 赵程佳
//时间: 2006-02-09 12:14:13

public class SetCharacterEncodingFilter extends HttpServlet implements Filter {
	private FilterConfig filterConfig;
	private String targetEncoding = "ASCII";
	
	public void init(FilterConfig filterConfig) throws ServletException {
	    this.filterConfig = filterConfig;
	    this.targetEncoding = filterConfig.getInitParameter("encoding");
	}
	
	public void doFilter(ServletRequest srequest, ServletResponse sresponse, FilterChain chain) 
	throws IOException, ServletException {
	    try {
	    	HttpServletRequest request = (HttpServletRequest) srequest;
	    	request.setCharacterEncoding(targetEncoding);
	    	chain.doFilter(srequest, sresponse);
	    } catch (ServletException se) {
	    	filterConfig.getServletContext().log(se.getMessage());
	    } catch (IOException ioe) {
	    	filterConfig.getServletContext().log(ioe.getMessage());
	    }
	}
	
	public void destroy() {
	    filterConfig = null;
	    targetEncoding = null;
	}
}

⌨️ 快捷键说明

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