| @@ -6,6 +6,7 @@ import com.fasterxml.jackson.databind.DeserializationFeature; | |||||
| import com.fasterxml.jackson.databind.ObjectMapper; | import com.fasterxml.jackson.databind.ObjectMapper; | ||||
| import com.fasterxml.jackson.databind.module.SimpleModule; | import com.fasterxml.jackson.databind.module.SimpleModule; | ||||
| import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; | import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; | ||||
| import com.iformall.interceptor.HttpServletRequestWrapperFilter; | |||||
| import com.iformall.interceptor.RequestInterceptor; | import com.iformall.interceptor.RequestInterceptor; | ||||
| import com.iformall.ueditor.ActionEnter; | import com.iformall.ueditor.ActionEnter; | ||||
| import com.iformall.ueditor.ConfigManager; | import com.iformall.ueditor.ConfigManager; | ||||
| @@ -13,6 +14,7 @@ import com.iformall.ueditor.UEditorConfig; | |||||
| import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; | import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; | ||||
| import org.springframework.boot.context.properties.EnableConfigurationProperties; | import org.springframework.boot.context.properties.EnableConfigurationProperties; | ||||
| import org.springframework.boot.web.servlet.FilterRegistrationBean; | |||||
| import org.springframework.context.annotation.Bean; | import org.springframework.context.annotation.Bean; | ||||
| import org.springframework.context.annotation.Configuration; | import org.springframework.context.annotation.Configuration; | ||||
| import org.springframework.http.converter.HttpMessageConverter; | import org.springframework.http.converter.HttpMessageConverter; | ||||
| @@ -133,4 +135,13 @@ public class WebConfig implements WebMvcConfigurer { | |||||
| jackson2HttpMessageConverter.setObjectMapper(objectMapper); | jackson2HttpMessageConverter.setObjectMapper(objectMapper); | ||||
| converters.add(jackson2HttpMessageConverter); | converters.add(jackson2HttpMessageConverter); | ||||
| } | } | ||||
| @Bean | |||||
| public FilterRegistrationBean<HttpServletRequestWrapperFilter> Filters() { | |||||
| FilterRegistrationBean<HttpServletRequestWrapperFilter> registrationBean = new FilterRegistrationBean<HttpServletRequestWrapperFilter>(); | |||||
| registrationBean.setFilter(new HttpServletRequestWrapperFilter()); | |||||
| registrationBean.addUrlPatterns("/*"); | |||||
| registrationBean.setName("koalaSignFilter"); | |||||
| return registrationBean; | |||||
| } | |||||
| } | } | ||||
| @@ -0,0 +1,77 @@ | |||||
| package com.iformall.interceptor; | |||||
| import javax.servlet.ReadListener; | |||||
| import javax.servlet.ServletInputStream; | |||||
| import javax.servlet.http.HttpServletRequest; | |||||
| import javax.servlet.http.HttpServletRequestWrapper; | |||||
| import java.io.*; | |||||
| public class BodyReaderHttpServletRequestWrapper extends HttpServletRequestWrapper { | |||||
| private final String body; | |||||
| public BodyReaderHttpServletRequestWrapper(HttpServletRequest request) throws IOException { | |||||
| super(request); | |||||
| StringBuffer stringBuilder = new StringBuffer(); | |||||
| BufferedReader bufferedReader = null; | |||||
| try { | |||||
| InputStream inputStream = request.getInputStream(); | |||||
| if (inputStream != null) { | |||||
| bufferedReader = new BufferedReader(new InputStreamReader(inputStream,"utf-8")); | |||||
| char[] charBuffer = new char[1024]; | |||||
| int bytesRead = -1; | |||||
| while ((bytesRead = bufferedReader.read(charBuffer)) > 0) { | |||||
| stringBuilder.append(charBuffer, 0, bytesRead); | |||||
| } | |||||
| } else { | |||||
| stringBuilder.append(""); | |||||
| } | |||||
| } catch (IOException ex) { | |||||
| throw ex; | |||||
| } finally { | |||||
| if (bufferedReader != null) { | |||||
| try { | |||||
| bufferedReader.close(); | |||||
| } catch (IOException ex) { | |||||
| throw ex; | |||||
| } | |||||
| } | |||||
| } | |||||
| body = stringBuilder.toString(); | |||||
| } | |||||
| @Override | |||||
| public ServletInputStream getInputStream() throws IOException { | |||||
| final ByteArrayInputStream byteArrayInputStream = | |||||
| new ByteArrayInputStream(body.getBytes("utf-8")); | |||||
| return new ServletInputStream() { | |||||
| @Override | |||||
| public boolean isFinished() { | |||||
| return false; | |||||
| } | |||||
| @Override | |||||
| public boolean isReady() { | |||||
| return false; | |||||
| } | |||||
| @Override | |||||
| public void setReadListener(ReadListener readListener) { | |||||
| } | |||||
| @Override | |||||
| public int read() throws IOException { | |||||
| return byteArrayInputStream.read(); | |||||
| } | |||||
| }; | |||||
| } | |||||
| @Override | |||||
| public BufferedReader getReader() throws IOException { | |||||
| return new BufferedReader(new InputStreamReader(this.getInputStream())); | |||||
| } | |||||
| public String getBody() { | |||||
| return this.body; | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,33 @@ | |||||
| package com.iformall.interceptor; | |||||
| import javax.servlet.*; | |||||
| import javax.servlet.http.HttpServletRequest; | |||||
| import java.io.IOException; | |||||
| public class HttpServletRequestWrapperFilter implements Filter { | |||||
| @Override | |||||
| public void init(FilterConfig filterConfig) throws ServletException { | |||||
| } | |||||
| @Override | |||||
| public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) | |||||
| throws IOException, ServletException { | |||||
| ServletRequest requestWrapper = null; | |||||
| if (request instanceof HttpServletRequest) { | |||||
| requestWrapper = new BodyReaderHttpServletRequestWrapper((HttpServletRequest) request); | |||||
| } | |||||
| if (null == requestWrapper) { | |||||
| chain.doFilter(request, response); | |||||
| } else { | |||||
| chain.doFilter(requestWrapper, response); | |||||
| } | |||||
| } | |||||
| @Override | |||||
| public void destroy() { | |||||
| } | |||||
| } | |||||
| @@ -14,6 +14,9 @@ import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; | |||||
| import javax.annotation.Resource; | import javax.annotation.Resource; | ||||
| import javax.servlet.http.HttpServletRequest; | import javax.servlet.http.HttpServletRequest; | ||||
| import javax.servlet.http.HttpServletResponse; | import javax.servlet.http.HttpServletResponse; | ||||
| import java.io.ByteArrayOutputStream; | |||||
| import java.io.InputStream; | |||||
| import java.nio.charset.Charset; | |||||
| import java.util.Enumeration; | import java.util.Enumeration; | ||||
| import java.util.concurrent.TimeUnit; | import java.util.concurrent.TimeUnit; | ||||
| @@ -37,20 +40,16 @@ public class RequestInterceptor extends HandlerInterceptorAdapter { | |||||
| // 获取不检查幂等 | // 获取不检查幂等 | ||||
| return true; | return true; | ||||
| } | } | ||||
| String ipaddress = IPUtil.getIpAddr(request); | |||||
| String url = request.getRequestURL().toString(); | String url = request.getRequestURL().toString(); | ||||
| if(url.contains("pvlog")) { | if(url.contains("pvlog")) { | ||||
| // pvlog不检查幂等 | // pvlog不检查幂等 | ||||
| return true; | return true; | ||||
| } | } | ||||
| StringBuilder sb = new StringBuilder(); | StringBuilder sb = new StringBuilder(); | ||||
| sb.append(url); | sb.append(url); | ||||
| sb.append("method=").append(request.getMethod()).append("&"); | sb.append("method=").append(request.getMethod()).append("&"); | ||||
| String ipaddress = IPUtil.getIpAddr(request); | |||||
| sb.append("ip=").append(ipaddress).append("&"); | sb.append("ip=").append(ipaddress).append("&"); | ||||
| final Enumeration parameterNames = request.getParameterNames(); | final Enumeration parameterNames = request.getParameterNames(); | ||||
| @@ -61,7 +60,7 @@ public class RequestInterceptor extends HandlerInterceptorAdapter { | |||||
| String parameter = request.getParameter(key); | String parameter = request.getParameter(key); | ||||
| sb.append(key).append("=").append(parameter).append("&"); | sb.append(key).append("=").append(parameter).append("&"); | ||||
| } | } | ||||
| /* | |||||
| InputStream inStream = request.getInputStream(); | InputStream inStream = request.getInputStream(); | ||||
| ByteArrayOutputStream outSteam = new ByteArrayOutputStream(); | ByteArrayOutputStream outSteam = new ByteArrayOutputStream(); | ||||
| byte[] buffer = new byte[1024]; | byte[] buffer = new byte[1024]; | ||||
| @@ -69,14 +68,13 @@ public class RequestInterceptor extends HandlerInterceptorAdapter { | |||||
| while ((len = inStream.read(buffer)) != -1) { | while ((len = inStream.read(buffer)) != -1) { | ||||
| outSteam.write(buffer, 0, len); | outSteam.write(buffer, 0, len); | ||||
| } | } | ||||
| String resultxml = new String(outSteam.toByteArray(), Charset.forName("UTF-8")); | |||||
| String resultBody = new String(outSteam.toByteArray(), Charset.forName("UTF-8")); | |||||
| inStream.close(); | inStream.close(); | ||||
| outSteam.close(); | outSteam.close(); | ||||
| sb.append(resultxml); | |||||
| */ | |||||
| sb.append(resultBody); | |||||
| String key = "request:" + HashUtil.md5(sb.toString()); | |||||
| String key = "request: " + HashUtil.md5(sb.toString()); | |||||
| if (redisTemplate.opsForValue().setIfAbsent(key, key)) { | if (redisTemplate.opsForValue().setIfAbsent(key, key)) { | ||||
| redisTemplate.expire(key, 3, TimeUnit.SECONDS); | redisTemplate.expire(key, 3, TimeUnit.SECONDS); | ||||
| logger.info(key + ": 第一次提交"); | logger.info(key + ": 第一次提交"); | ||||
| @@ -7,9 +7,12 @@ import com.fasterxml.jackson.databind.ObjectMapper; | |||||
| import com.fasterxml.jackson.databind.module.SimpleModule; | import com.fasterxml.jackson.databind.module.SimpleModule; | ||||
| import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; | import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; | ||||
| import com.iformall.interceptor.AuthorizationInterceptor; | import com.iformall.interceptor.AuthorizationInterceptor; | ||||
| import com.iformall.interceptor.HttpServletRequestWrapperFilter; | |||||
| import com.iformall.interceptor.RequestInterceptor; | import com.iformall.interceptor.RequestInterceptor; | ||||
| import com.iformall.resolver.LoginUserHandlerMethodArgumentResolver; | import com.iformall.resolver.LoginUserHandlerMethodArgumentResolver; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.boot.web.servlet.FilterRegistrationBean; | |||||
| import org.springframework.context.annotation.Bean; | |||||
| import org.springframework.context.annotation.Configuration; | import org.springframework.context.annotation.Configuration; | ||||
| import org.springframework.http.converter.HttpMessageConverter; | import org.springframework.http.converter.HttpMessageConverter; | ||||
| import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; | import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; | ||||
| @@ -99,4 +102,13 @@ public class WebMvcConfig implements WebMvcConfigurer { | |||||
| jackson2HttpMessageConverter.setObjectMapper(objectMapper); | jackson2HttpMessageConverter.setObjectMapper(objectMapper); | ||||
| converters.add(jackson2HttpMessageConverter); | converters.add(jackson2HttpMessageConverter); | ||||
| } | } | ||||
| @Bean | |||||
| public FilterRegistrationBean<HttpServletRequestWrapperFilter> Filters() { | |||||
| FilterRegistrationBean<HttpServletRequestWrapperFilter> registrationBean = new FilterRegistrationBean<HttpServletRequestWrapperFilter>(); | |||||
| registrationBean.setFilter(new HttpServletRequestWrapperFilter()); | |||||
| registrationBean.addUrlPatterns("/*"); | |||||
| registrationBean.setName("koalaSignFilter"); | |||||
| return registrationBean; | |||||
| } | |||||
| } | } | ||||
| @@ -0,0 +1,77 @@ | |||||
| package com.iformall.interceptor; | |||||
| import javax.servlet.ReadListener; | |||||
| import javax.servlet.ServletInputStream; | |||||
| import javax.servlet.http.HttpServletRequest; | |||||
| import javax.servlet.http.HttpServletRequestWrapper; | |||||
| import java.io.*; | |||||
| public class BodyReaderHttpServletRequestWrapper extends HttpServletRequestWrapper { | |||||
| private final String body; | |||||
| public BodyReaderHttpServletRequestWrapper(HttpServletRequest request) throws IOException { | |||||
| super(request); | |||||
| StringBuffer stringBuilder = new StringBuffer(); | |||||
| BufferedReader bufferedReader = null; | |||||
| try { | |||||
| InputStream inputStream = request.getInputStream(); | |||||
| if (inputStream != null) { | |||||
| bufferedReader = new BufferedReader(new InputStreamReader(inputStream,"utf-8")); | |||||
| char[] charBuffer = new char[1024]; | |||||
| int bytesRead = -1; | |||||
| while ((bytesRead = bufferedReader.read(charBuffer)) > 0) { | |||||
| stringBuilder.append(charBuffer, 0, bytesRead); | |||||
| } | |||||
| } else { | |||||
| stringBuilder.append(""); | |||||
| } | |||||
| } catch (IOException ex) { | |||||
| throw ex; | |||||
| } finally { | |||||
| if (bufferedReader != null) { | |||||
| try { | |||||
| bufferedReader.close(); | |||||
| } catch (IOException ex) { | |||||
| throw ex; | |||||
| } | |||||
| } | |||||
| } | |||||
| body = stringBuilder.toString(); | |||||
| } | |||||
| @Override | |||||
| public ServletInputStream getInputStream() throws IOException { | |||||
| final ByteArrayInputStream byteArrayInputStream = | |||||
| new ByteArrayInputStream(body.getBytes("utf-8")); | |||||
| return new ServletInputStream() { | |||||
| @Override | |||||
| public boolean isFinished() { | |||||
| return false; | |||||
| } | |||||
| @Override | |||||
| public boolean isReady() { | |||||
| return false; | |||||
| } | |||||
| @Override | |||||
| public void setReadListener(ReadListener readListener) { | |||||
| } | |||||
| @Override | |||||
| public int read() throws IOException { | |||||
| return byteArrayInputStream.read(); | |||||
| } | |||||
| }; | |||||
| } | |||||
| @Override | |||||
| public BufferedReader getReader() throws IOException { | |||||
| return new BufferedReader(new InputStreamReader(this.getInputStream())); | |||||
| } | |||||
| public String getBody() { | |||||
| return this.body; | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,33 @@ | |||||
| package com.iformall.interceptor; | |||||
| import javax.servlet.*; | |||||
| import javax.servlet.http.HttpServletRequest; | |||||
| import java.io.IOException; | |||||
| public class HttpServletRequestWrapperFilter implements Filter { | |||||
| @Override | |||||
| public void init(FilterConfig filterConfig) throws ServletException { | |||||
| } | |||||
| @Override | |||||
| public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) | |||||
| throws IOException, ServletException { | |||||
| ServletRequest requestWrapper = null; | |||||
| if (request instanceof HttpServletRequest) { | |||||
| requestWrapper = new BodyReaderHttpServletRequestWrapper((HttpServletRequest) request); | |||||
| } | |||||
| if (null == requestWrapper) { | |||||
| chain.doFilter(request, response); | |||||
| } else { | |||||
| chain.doFilter(requestWrapper, response); | |||||
| } | |||||
| } | |||||
| @Override | |||||
| public void destroy() { | |||||
| } | |||||
| } | |||||
| @@ -55,7 +55,7 @@ public class RequestInterceptor extends HandlerInterceptorAdapter { | |||||
| String parameter = request.getParameter(key); | String parameter = request.getParameter(key); | ||||
| sb.append(key).append("=").append(parameter).append("&"); | sb.append(key).append("=").append(parameter).append("&"); | ||||
| } | } | ||||
| /* | |||||
| InputStream inStream = request.getInputStream(); | InputStream inStream = request.getInputStream(); | ||||
| ByteArrayOutputStream outSteam = new ByteArrayOutputStream(); | ByteArrayOutputStream outSteam = new ByteArrayOutputStream(); | ||||
| byte[] buffer = new byte[1024]; | byte[] buffer = new byte[1024]; | ||||
| @@ -63,14 +63,13 @@ public class RequestInterceptor extends HandlerInterceptorAdapter { | |||||
| while ((len = inStream.read(buffer)) != -1) { | while ((len = inStream.read(buffer)) != -1) { | ||||
| outSteam.write(buffer, 0, len); | outSteam.write(buffer, 0, len); | ||||
| } | } | ||||
| String resultxml = new String(outSteam.toByteArray(), Charset.forName("UTF-8")); | |||||
| String resultBody = new String(outSteam.toByteArray(), Charset.forName("UTF-8")); | |||||
| inStream.close(); | inStream.close(); | ||||
| outSteam.close(); | outSteam.close(); | ||||
| sb.append(resultxml); | |||||
| */ | |||||
| sb.append(resultBody); | |||||
| String key = "request:" + HashUtil.md5(sb.toString()); | |||||
| String key = "request: " + HashUtil.md5(sb.toString()); | |||||
| if (redisTemplate.opsForValue().setIfAbsent(key, key)) { | if (redisTemplate.opsForValue().setIfAbsent(key, key)) { | ||||
| redisTemplate.expire(key, 3, TimeUnit.SECONDS); | redisTemplate.expire(key, 3, TimeUnit.SECONDS); | ||||
| logger.info(key + ": 第一次提交"); | logger.info(key + ": 第一次提交"); | ||||
| @@ -7,9 +7,12 @@ import com.fasterxml.jackson.databind.ObjectMapper; | |||||
| import com.fasterxml.jackson.databind.module.SimpleModule; | import com.fasterxml.jackson.databind.module.SimpleModule; | ||||
| import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; | import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; | ||||
| import com.iformall.interceptor.AuthorizationInterceptor; | import com.iformall.interceptor.AuthorizationInterceptor; | ||||
| import com.iformall.interceptor.HttpServletRequestWrapperFilter; | |||||
| import com.iformall.interceptor.RequestInterceptor; | import com.iformall.interceptor.RequestInterceptor; | ||||
| import com.iformall.resolver.LoginUserHandlerMethodArgumentResolver; | import com.iformall.resolver.LoginUserHandlerMethodArgumentResolver; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.boot.web.servlet.FilterRegistrationBean; | |||||
| import org.springframework.context.annotation.Bean; | |||||
| import org.springframework.context.annotation.Configuration; | import org.springframework.context.annotation.Configuration; | ||||
| import org.springframework.http.converter.HttpMessageConverter; | import org.springframework.http.converter.HttpMessageConverter; | ||||
| import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; | import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; | ||||
| @@ -99,4 +102,13 @@ public class WebMvcConfig implements WebMvcConfigurer { | |||||
| jackson2HttpMessageConverter.setObjectMapper(objectMapper); | jackson2HttpMessageConverter.setObjectMapper(objectMapper); | ||||
| converters.add(jackson2HttpMessageConverter); | converters.add(jackson2HttpMessageConverter); | ||||
| } | } | ||||
| @Bean | |||||
| public FilterRegistrationBean<HttpServletRequestWrapperFilter> Filters() { | |||||
| FilterRegistrationBean<HttpServletRequestWrapperFilter> registrationBean = new FilterRegistrationBean<HttpServletRequestWrapperFilter>(); | |||||
| registrationBean.setFilter(new HttpServletRequestWrapperFilter()); | |||||
| registrationBean.addUrlPatterns("/*"); | |||||
| registrationBean.setName("koalaSignFilter"); | |||||
| return registrationBean; | |||||
| } | |||||
| } | } | ||||
| @@ -0,0 +1,77 @@ | |||||
| package com.iformall.interceptor; | |||||
| import javax.servlet.ReadListener; | |||||
| import javax.servlet.ServletInputStream; | |||||
| import javax.servlet.http.HttpServletRequest; | |||||
| import javax.servlet.http.HttpServletRequestWrapper; | |||||
| import java.io.*; | |||||
| public class BodyReaderHttpServletRequestWrapper extends HttpServletRequestWrapper { | |||||
| private final String body; | |||||
| public BodyReaderHttpServletRequestWrapper(HttpServletRequest request) throws IOException { | |||||
| super(request); | |||||
| StringBuffer stringBuilder = new StringBuffer(); | |||||
| BufferedReader bufferedReader = null; | |||||
| try { | |||||
| InputStream inputStream = request.getInputStream(); | |||||
| if (inputStream != null) { | |||||
| bufferedReader = new BufferedReader(new InputStreamReader(inputStream,"utf-8")); | |||||
| char[] charBuffer = new char[1024]; | |||||
| int bytesRead = -1; | |||||
| while ((bytesRead = bufferedReader.read(charBuffer)) > 0) { | |||||
| stringBuilder.append(charBuffer, 0, bytesRead); | |||||
| } | |||||
| } else { | |||||
| stringBuilder.append(""); | |||||
| } | |||||
| } catch (IOException ex) { | |||||
| throw ex; | |||||
| } finally { | |||||
| if (bufferedReader != null) { | |||||
| try { | |||||
| bufferedReader.close(); | |||||
| } catch (IOException ex) { | |||||
| throw ex; | |||||
| } | |||||
| } | |||||
| } | |||||
| body = stringBuilder.toString(); | |||||
| } | |||||
| @Override | |||||
| public ServletInputStream getInputStream() throws IOException { | |||||
| final ByteArrayInputStream byteArrayInputStream = | |||||
| new ByteArrayInputStream(body.getBytes("utf-8")); | |||||
| return new ServletInputStream() { | |||||
| @Override | |||||
| public boolean isFinished() { | |||||
| return false; | |||||
| } | |||||
| @Override | |||||
| public boolean isReady() { | |||||
| return false; | |||||
| } | |||||
| @Override | |||||
| public void setReadListener(ReadListener readListener) { | |||||
| } | |||||
| @Override | |||||
| public int read() throws IOException { | |||||
| return byteArrayInputStream.read(); | |||||
| } | |||||
| }; | |||||
| } | |||||
| @Override | |||||
| public BufferedReader getReader() throws IOException { | |||||
| return new BufferedReader(new InputStreamReader(this.getInputStream())); | |||||
| } | |||||
| public String getBody() { | |||||
| return this.body; | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,33 @@ | |||||
| package com.iformall.interceptor; | |||||
| import javax.servlet.*; | |||||
| import javax.servlet.http.HttpServletRequest; | |||||
| import java.io.IOException; | |||||
| public class HttpServletRequestWrapperFilter implements Filter { | |||||
| @Override | |||||
| public void init(FilterConfig filterConfig) throws ServletException { | |||||
| } | |||||
| @Override | |||||
| public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) | |||||
| throws IOException, ServletException { | |||||
| ServletRequest requestWrapper = null; | |||||
| if (request instanceof HttpServletRequest) { | |||||
| requestWrapper = new BodyReaderHttpServletRequestWrapper((HttpServletRequest) request); | |||||
| } | |||||
| if (null == requestWrapper) { | |||||
| chain.doFilter(request, response); | |||||
| } else { | |||||
| chain.doFilter(requestWrapper, response); | |||||
| } | |||||
| } | |||||
| @Override | |||||
| public void destroy() { | |||||
| } | |||||
| } | |||||
| @@ -55,7 +55,7 @@ public class RequestInterceptor extends HandlerInterceptorAdapter { | |||||
| String parameter = request.getParameter(key); | String parameter = request.getParameter(key); | ||||
| sb.append(key).append("=").append(parameter).append("&"); | sb.append(key).append("=").append(parameter).append("&"); | ||||
| } | } | ||||
| /* | |||||
| InputStream inStream = request.getInputStream(); | InputStream inStream = request.getInputStream(); | ||||
| ByteArrayOutputStream outSteam = new ByteArrayOutputStream(); | ByteArrayOutputStream outSteam = new ByteArrayOutputStream(); | ||||
| byte[] buffer = new byte[1024]; | byte[] buffer = new byte[1024]; | ||||
| @@ -63,14 +63,13 @@ public class RequestInterceptor extends HandlerInterceptorAdapter { | |||||
| while ((len = inStream.read(buffer)) != -1) { | while ((len = inStream.read(buffer)) != -1) { | ||||
| outSteam.write(buffer, 0, len); | outSteam.write(buffer, 0, len); | ||||
| } | } | ||||
| String resultxml = new String(outSteam.toByteArray(), Charset.forName("UTF-8")); | |||||
| String resultBody = new String(outSteam.toByteArray(), Charset.forName("UTF-8")); | |||||
| inStream.close(); | inStream.close(); | ||||
| outSteam.close(); | outSteam.close(); | ||||
| sb.append(resultxml); | |||||
| */ | |||||
| sb.append(resultBody); | |||||
| String key = "request:" + HashUtil.md5(sb.toString()); | |||||
| String key = "request: " + HashUtil.md5(sb.toString()); | |||||
| if (redisTemplate.opsForValue().setIfAbsent(key, key)) { | if (redisTemplate.opsForValue().setIfAbsent(key, key)) { | ||||
| redisTemplate.expire(key, 3, TimeUnit.SECONDS); | redisTemplate.expire(key, 3, TimeUnit.SECONDS); | ||||
| logger.info(key + ": 第一次提交"); | logger.info(key + ": 第一次提交"); | ||||