过滤器Filter
Filter:过滤器,用来过滤网站的数据;
·处理中文乱码
·登陆验证。。。
Filter开发步骤:
1.导包
2.编写过滤器
1、导包不要导错
import javax.servlet.Filter;
2、代码,实现Filter接口,重写对应的方法即可
//初始化
@Override
public void init(FilterConfig filterConfig) throws ServletException {
// TODO Auto-generated method stub
System.out.println("CharacterEncodingFilter初始化");
}
/*chain:链
* 1.过滤器中所有代码,在过滤特定请求的时候会被执行
* 2.必须要让过滤器继续同行
*
*/
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
// TODO Auto-generated method stub
response.setCharacterEncoding("utf-8");
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=UTF-8");
System.out.println("CharacterEncodingFilter执行前。。。");
chain.doFilter(request, response);//让请求继续走,不写,程序到此被拦截
System.out.println("CharacterEncodingFilter执行后。。。");
}
//销毁 :web服务器关闭时,过滤器会销毁
@Override
public void destroy() {
// TODO Auto-generated method stub
System.out.println("CharacterEncodingFilter销毁");
}
3、在web.xml中配置Filter
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>com.filter.CharacterEncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<!-- 只要是/ShowServlet的任何请求,会经过这个过滤器 -->
<url-pattern>/ShowServlet/*</url-pattern>
</filter-mapping>