package com.fzw.util;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.Enumeration;
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 EncodingFilter implements Filter{
private String encoding = "UTF-8";
public String toGBK(String inStr) throws UnsupportedEncodingException{
String outStr = "";
if(inStr != null){
outStr = new String(inStr.getBytes("ISO-8859-1"),"GBK");
}
return outStr;
}
public void destroy() {
// TODO Auto-generated method stub
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest)request;
HttpServletResponse res = (HttpServletResponse)response;
String method = req.getMethod();
if(method.equals("post")){
req.setCharacterEncoding(this.encoding);
}else{
Enumeration<String> paramNames = req.getParameterNames();
while(paramNames.hasMoreElements()){
String name = paramNames.nextElement();
String[] values = req.getParameterValues(name);
if(values != null){
for(int i = 0;i<values.length;i++){
String vluStr = toGBK(values[i]);
values[i] = vluStr;
}
req.setAttribute(name, values);
}
}
}
res.setContentType("text/html;charset=GBK");
filterChain.doFilter(request, response);
}
public void init(FilterConfig config) throws ServletException {
String encoding = config.getInitParameter("encoding");
if(encoding != null && encoding.trim().length()>0){
this.encoding = encoding;
}
}
}
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.Enumeration;
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 EncodingFilter implements Filter{
private String encoding = "UTF-8";
public String toGBK(String inStr) throws UnsupportedEncodingException{
String outStr = "";
if(inStr != null){
outStr = new String(inStr.getBytes("ISO-8859-1"),"GBK");
}
return outStr;
}
public void destroy() {
// TODO Auto-generated method stub
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest)request;
HttpServletResponse res = (HttpServletResponse)response;
String method = req.getMethod();
if(method.equals("post")){
req.setCharacterEncoding(this.encoding);
}else{
Enumeration<String> paramNames = req.getParameterNames();
while(paramNames.hasMoreElements()){
String name = paramNames.nextElement();
String[] values = req.getParameterValues(name);
if(values != null){
for(int i = 0;i<values.length;i++){
String vluStr = toGBK(values[i]);
values[i] = vluStr;
}
req.setAttribute(name, values);
}
}
}
res.setContentType("text/html;charset=GBK");
filterChain.doFilter(request, response);
}
public void init(FilterConfig config) throws ServletException {
String encoding = config.getInitParameter("encoding");
if(encoding != null && encoding.trim().length()>0){
this.encoding = encoding;
}
}
}