setencodingfilter.java

来自「主要实现的是用户注册」· Java 代码 · 共 60 行

JAVA
60
字号
package com.hh.setChinese;

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 SetEncodingFilter implements Filter {

 protected String encoding=null;
 protected boolean ignore=true;
 protected FilterConfig filterConfig=null;
 public void init(FilterConfig filterConfig)throws ServletException
 {
     this.filterConfig=filterConfig;
     this.encoding=filterConfig.getInitParameter("encoding");
     String value=filterConfig.getInitParameter("ignore");
   if(value==null)
       ignore=true;
   else if(value.equalsIgnoreCase("true"))
       ignore=true;
   else if(value.equalsIgnoreCase("yes"))
       ignore=true;
   else
       ignore=false;

  }
 

 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);
    }
    
        chain.doFilter(request, response);

	}
  

protected String selectEncoding(ServletRequest request)
{
    return this.encoding;
}
public void destroy()
{
    this.encoding=null;
    this.filterConfig=null;
  
}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?