当前位置: 首页 > news >正文

江苏个人备案网站内容市场调查报告模板及范文

江苏个人备案网站内容,市场调查报告模板及范文,利用虚拟主机建设企业网站实验报告,做网站的公司利润多少呢一般我们会在InterceptorAdapter拦截器中对请求进行验证 正常普通接口请求,request.getParameter()可以获取,能多次读取 如果我们的接口是用RequestBody来接受数据,那么我们在拦截器中 需要读取request的输入流 ,因为 ServletReq…

一般我们会在InterceptorAdapter拦截器中对请求进行验证

正常普通接口请求,request.getParameter()可以获取,能多次读取

如果我们的接口是用@RequestBody来接受数据,那么我们在拦截器中

需要读取request的输入流  ,因为 ServletRequest中getReader()和getInputStream()只能调用一次

这样就会导致controller 无法拿到数据。

解决方法 :

1、自定义一个类 BodyReaderHttpServletRequestWrapper.java 

import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStreamReader;import javax.servlet.ReadListener;
import javax.servlet.ServletInputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;import org.springframework.util.StreamUtils;/*** @author WBG* @date 2020/6/22 10:42* @describe*/
public class BodyReaderHttpServletRequestWrapper extends HttpServletRequestWrapper{private byte[] requestBody = null;//用于将流保存下来public BodyReaderHttpServletRequestWrapper(HttpServletRequest request) throws IOException {super(request);requestBody = StreamUtils.copyToByteArray(request.getInputStream());}@Overridepublic ServletInputStream getInputStream() throws IOException {final ByteArrayInputStream bais = new ByteArrayInputStream(requestBody);return new ServletInputStream() {@Overridepublic int read() throws IOException {return bais.read();}@Overridepublic boolean isFinished() {return false;}@Overridepublic boolean isReady() {return false;}@Overridepublic void setReadListener(ReadListener readListener) {}};}@Overridepublic BufferedReader getReader() throws IOException{return new BufferedReader(new InputStreamReader(getInputStream()));}
}
View Code

2、自定义 MyFilter  继承Filter

import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import java.io.BufferedReader;
import java.io.IOException;/*** @author WBG* @date 2020/6/22 14:32* @describe*/
public class MyFilter implements Filter {@Overridepublic void init(FilterConfig filterConfig) throws ServletException {System.out.println("开始");}@Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {ServletRequest requestWrapper=null;if(request instanceof HttpServletRequest) {requestWrapper=new BodyReaderHttpServletRequestWrapper((HttpServletRequest)request);}if(requestWrapper==null) {chain.doFilter(request, response);}else {System.out.println("------------------------------请求报文----------------------------------");System.out.println(getParamsFromRequestBody((HttpServletRequest) requestWrapper));System.out.println("------------------------------请求报文----------------------------------");chain.doFilter(requestWrapper, response);}}/* ** 获取请求体内容* @return* @throws IOException*/private String getParamsFromRequestBody(HttpServletRequest request) throws IOException {BufferedReader br = null;String listString = "";try {br = request.getReader();String str = "";while ((str = br.readLine()) != null) {listString += str;}} catch (IOException e) {e.printStackTrace();}return listString;}@Overridepublic void destroy() {System.out.println("destroy");}
}
View Code

3、web.xm配置过滤器

  <!--定义过滤器--><filter><!--定义过滤器拦截URL地址--><filter-name>test2</filter-name><!--过滤器的文件--><filter-class>com.zhhy.hy2000interface.utils.filter.MyFilter</filter-class></filter><filter-mapping><!--过滤器的名称--><filter-name>test2</filter-name><!--过滤器负责拦截的URL--><!-- /* 会把所有的请求拦截下来 --><url-pattern>/*</url-pattern></filter-mapping>
View Code

(如果是Springboot,使用注解即可)

http://www.zhongyajixie.com/news/33229.html

相关文章:

  • 做网站建设工资高吗seo排名优化培训怎样
  • 商城网站的建设定位网站建设与网页设计制作
  • 自己怎么做拼单网站合理使用说明
  • 广告视频网站sem推广案例
  • asia域名的网站网络推广费用预算表
  • 5建网站点石关键词排名优化软件
  • 网站开发论文题目审核表网站关键词百度自然排名优化
  • wordpress客户端不能用纯手工seo公司
  • 淘宝客网站做seo深圳企业网站制作
  • 网站广告招商应该怎么做青岛网站建设培训学校
  • 外贸企业网站源码下载互联网营销师报名入口
  • wordpress推荐好友搜索引擎优化seo是什么
  • 小程序做网站百度手机应用市场
  • 网站费有发票怎么做会计分录腾讯企点app
  • 企业为什么要做推广江苏关键词推广seo
  • 用什么技术可以做web网站seo免费培训教程
  • 合肥网络科技有限公司做网站行业关键词搜索量排名
  • 网站开发定制哈尔滨网络seo公司
  • 网站建设和域名的关系百度图片收录提交入口
  • 自己做网站卖阀门北京培训seo哪个好
  • 天津网站页面设计全网网站快速排名推广软件
  • 顺德哪家做网站东莞做好网络推广
  • 网站收录怎么做宁波seo搜索优化费用
  • 安徽网站设计平台如何查询百度收录情况
  • 手机做网站知乎广西seo公司
  • 网站设计遇到难题网站搜索查询
  • 微信公众号免费模板素材网站百度本地惠生活推广
  • 视觉差网站插件信息发布推广方法
  • 做网站每个月可以赚多少钱中牟网络推广
  • 网站建设流程案例百度获客平台