characterencodingfilter.java

来自「开发的一个java web的任务管理系统。」· Java 代码 · 共 65 行

JAVA
65
字号
package unicom.filter;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 * @author 陈才旭
 * 日期:Apr 15, 2008
 * 功能:对所有的除登陆页面的jsp进行过滤,防止用户直接访问
 * 优点:
 * 缺点:
 * 建议:此处感觉不容易上手,克服困难
 */
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;
/**
 * @author xiaogang
 * 日期:2008年4月14日
 * 功能:过滤中文字符,防止中文乱码
 * 优点:
 * 缺点:
 * 建议:<1>中文过滤的解决方案很多,如:(1)每次获取都可以进行request.setCharacterEncoding("UTF-8");
 *         (2)定制自己的RequestProcessor类即继承RequestProcessor类,并重写processPreprocess(),在里面可以进行中文过滤,并修改配置文件struts-config.xml
 *         (3)用过滤器进行解决
 *      <2>解决比较好的方案为过滤器
 *      <3>并且权限控制也可以用过滤器,但是在用过滤器的时候,要注意目录的安排结构
 */     
public class CharacterEncodingFilter implements Filter {
	private String encoding;

	public void init(FilterConfig config) throws ServletException {
		encoding = config.getInitParameter("encoding");
	}

	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {
		request.setCharacterEncoding(encoding);
		response.setCharacterEncoding(encoding);
		//跳转下一资源
		chain.doFilter(request, response);
	}

	public void destroy() {
	}

}

⌨️ 快捷键说明

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