/*

过滤器有三个方法
首先创建一个类继承Filter(必须继承java.servlet.*包下的)
1.初始化
//初始化
public void init(FilterConfig filterConfig) throws ServletException {
System.out.println("CharacterEncodingFilter初始化");
}
2.编辑过滤器
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=UTF-8");//设置text文本类型为html结构

System.out.println("CharacterEncodingFilter执行前");
chain.doFilter(request,response);//让我们的请求继续走,如果不写,我们的程序到这就被拦截停止了
System.out.println("CharacterEncodingFilter执行后");
}
3.销毁
//销毁:web服务器关闭,过滤器销毁
public void destroy() {
System.out.println("CharacterEncodingFilter销毁");
}

配置过滤器
<filter>
<filter-name>CharaterEncodingFilter</filter-name>
<filter-class>cn.lyc.filter.CharacterEncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<!-- 只要是/servlet的任何请求都会经过这个过滤器 -->
<url-patten>/servlet/*</url-patten>
</filter-mapping>

 */

 

//整体编写
package cn.lyc.filter;

import javax.servlet.*;
import java.io.IOException;

public class CharacterEncodingFilter implements Filter {//必须导import javax.servlet.*;
//初始化
public void init(FilterConfig filterConfig) throws ServletException {
System.out.println("CharacterEncodingFilter初始化");
}
//chain : 链
/*
1.过滤器中所有的代码,在过滤器特定请求的时候都会执行
2.必须要让过滤器继续同行
chain.doFilter(request,response);
*/
//初始化:web服务器启动,就已经初始化了,随时等待过滤对象
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=UTF-8");//设置text文本类型为html结构

System.out.println("CharacterEncodingFilter执行前");
chain.doFilter(request,response);//让我们的请求继续走,如果不写,我们的程序到这就被拦截停止了
System.out.println("CharacterEncodingFilter执行后");

}

//销毁:web服务器关闭,过滤器销毁
public void destroy() {
System.out.println("CharacterEncodingFilter销毁");
}
}

posted on 2020-12-15 20:21  liuyunche  阅读(111)  评论(0编辑  收藏  举报