📄 encodingfilter.java
字号:
package filter;
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;
public class EncodingFilter implements Filter {
public EncodingFilter(){
System.out.println("过滤器构造函数");
}
private String encodingName;
public void init(FilterConfig fc) throws ServletException {
//初始化函数,服务器运行能自动运行一次
System.out.println("过滤器init函数");
//fc.getServletContext().getInitParameter(arg0)得到全局参数
encodingName = fc.getInitParameter("encodingName");//得到局部参数
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
//每次提交都会运行
System.out.println("过滤器doFilter函数");
request.setCharacterEncoding(encodingName);//解决中文问题
//过滤器是在提交到达处理模块之前运行,所以这里要将请求向后传递
chain.doFilter(request, response);
}
public void destroy() {
//消亡时运行
System.out.println("过滤器destroy函数");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -