📄 setcharacterencodingfilter.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 SetCharacterEncodingFilter implements Filter { /* * 设置TOMCAT的正确编码格式 * */ protected String encoding=null; protected FilterConfig filterConfig=null; protected boolean ignore=true; //设置申请对象值为空,有利于内存资源的快速释放 public void destroy() { this.encoding="utf-8"; this.filterConfig=null; } //filter的主体操作 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { //判断是否需要进行的编码设置 if(ignore||(request.getCharacterEncoding()==null)) { //得到配置文件的编码类型 String encoding=selectEncoding(request); if(encoding!=null) { request.setCharacterEncoding(encoding); response.setContentType("text/html;charset="+encoding); } } //pass control on to the next filter chain.doFilter(request, response); } //初始化方法,通过配置的参数设置标识变量 public void init(FilterConfig filterConfig) throws ServletException { this.filterConfig=filterConfig; this.encoding=filterConfig.getInitParameter("encoding"); String value=filterConfig.getInitParameter("ignore"); if(value==null) this.ignore=false; else if(value.equalsIgnoreCase("false")) this.ignore=true; else if(value.equalsIgnoreCase("yes")) this.ignore=true; else this.ignore=false; } //得到配置文件的编码类型 protected String selectEncoding(ServletRequest request) { return(this.encoding); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -