BackFilter.java
主要解决基于HttpGet/HttpPost以及基于HttpPost的附件流转发
import java.io.IOException;
import java.io.InputStream;
import java.util.Collection;
import java.util.Date;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
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;
import org.apache.http.Header;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.multipart.commons.CommonsMultipartResolver;
import com.xinhe99.utils.DateUtil;
public class BackFilter implements Filter{
public void destroy() {
}
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException {
System.out.println("--------------filter--------------------------");
HttpServletRequest request=(HttpServletRequest) req;
HttpServletResponse response=(HttpServletResponse) res;
request.setCharacterEncoding(HttpClientBack.encodeUTF);
Map params = new HashMap();
String method = request.getMethod(); //获取提交类型
String IP = getRemoteHost(request); //获取真实Ip
String requestURI = request.getRequestURI();//获取请求URI
System.out.println(request.getRequestURI());
System.out.println(request.getRequestURL());
System.out.println(request.getQueryString());
String scheme = request.getScheme(); //获取协议名称(http或https)
String realName = "10.168.110.247:8080"; //读取的域名
String strUr="://";
String url=scheme + strUr + realName + requestURI;
Enumeration parameterNames = request.getParameterNames();
while(parameterNames.hasMoreElements()){
String key = parameterNames.nextElement();
String value = request.getParameter(key);
params.put(key, value);
}
byte[]b=new byte[1024];
ResponseResult result = null;
//if("post".equalsIgnoreCase(method)){
//b = HttpClientBack.post(url, params,IP);
//}
//if("get".equalsIgnoreCase(method)){
//b= HttpClientBack.get(url,IP);
//}
if("post".equalsIgnoreCase(method)){
// 创建一个通用的多部分解析器
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(
request.getSession().getServletContext());
//