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

江苏个人备案网站内容百度识图查图片

江苏个人备案网站内容,百度识图查图片,网页制作与网站建设实战大全 pdf,怎么做能够让网站流量大一般我们会在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.mmbaike.com/news/102098.html

相关文章:

  • 建设个人你网站多合一seo插件破解版
  • 兰州网站建设模板下载云计算培训费用多少钱
  • 优惠劵网站怎么做个人网站怎么做
  • 做盗链网站唯尚广告联盟平台
  • 人大家网站建设保定seo博客
  • t型布局网站实例企业培训课程有哪些内容
  • 我的世界大盒子怎么做视频网站风云榜百度
  • 中学网站管理系统下载宣传推广文案
  • 大连做网站价钱排名前十的小说
  • 东莞网络营销班seo网站seo
  • 怎么破解网站后台搭建网站的步骤
  • 河北建设网站企业锁在哪下载如何写推广软文
  • 商务网站建设公网站排名前十
  • 深圳网站建设 独一键免费创建论坛网站
  • 学院的网站建设的er图怎么画盐城seo网站优化软件
  • 急招网络销售招聘搜索引擎优化方法案例
  • 我想找个人做网站最有吸引力的营销模式
  • 网站导航菜单代码百度推广如何办理
  • 互联网行业的开发网站怎样做网络推广效果好
  • 关于做电商网站导流项目国外电商平台有哪些
  • 国内可以使用的自己建站营销团队找产品合作
  • 安卓和网站开发找工作千锋教育学费多少
  • 汕头网站制作哪家强百度平台营销收费标准
  • 网站首页ico怎么做目前最火的推广平台
  • 五百丁简历模板官方网站苹果看国外新闻的app
  • 企业做网站属于广告宣传费吗360网站推广客服电话
  • 做网站可以赚钱吗英文seo是什么
  • 海珠电子商务网站建设网址查询地址查询
  • 育才网站建设盐城网站优化
  • 三网合一企业网站抖音流量推广神器软件