📄 charsetfilter.java
字号:
package com.knt.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;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class CharSetFilter implements Filter {
private FilterConfig config;
//当web应用重新启动或者销毁的时候才调用销毁方法
public void destroy() {
System.out.println("filter准备销毁...");
}
//filter主要目的就是为了过滤字符编码;
//其次还可以做一些简单的应用逻辑;
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
//强制转换成Http的请求和响应
HttpServletRequest request =(HttpServletRequest)arg0;
HttpServletResponse response =(HttpServletResponse)arg1;
//设置编码集
//request.setCharacterEncoding("UTF-8");
//response.setCharacterEncoding("UTF-8");
//response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding(config.getInitParameter("charset"));
response.setCharacterEncoding(config.getInitParameter("charset"));
response.setContentType(config.getInitParameter("contentType"));
//将请求发送到对应的目的地
arg2.doFilter(request,response);
}
//初始化的时候会跟web应用一起启动
//Filter不宜设置太多,否则过滤会变得臃肿,然后妨碍客户使用
public void init(FilterConfig config) throws ServletException {
this.config=config;
System.out.println("filter已经初始化");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -