过滤器
1.什么是过滤器?
就是一个java类,需要实现接口来进行交互(jsp和servlet之间的交互)
如:烟: 烟嘴 烟体
过滤(尼古丁、焦油) 吸
减少烟对人的危害
在程序中也需要过滤
在游戏中骂人的时候,自动被屏蔽(****),过滤
访问某些页面时,未登录时会有未登录提示,过滤
浏览器向服务器发送请求时,过滤
2.过滤器的使用
a.创建过滤器处理类
普通的java类,实现Filter接口
b.在web.xml文件中配置过滤器
完成:中文乱码处理的过滤
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 String encod;
/**
*销毁销毁过滤器(服务器关闭时)
*/
public void destroy() {
}
/**
* 过滤器的核心方法
*/
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding(encod);
chain.doFilter(request, response);
}
/**
* 初始化过滤器(服务器开启时)
*/
public void init(FilterConfig config) throws ServletException {
encod = config.getInitParameter("encod");
}
}
/*在web.xml中配置过滤器*/
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>com.zuxia.filter.EncodingFilter</filter-class>
<init-param>
<param-name>encod</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>