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

2023年招标公告seo教程技术

2023年招标公告,seo教程技术,郑州建站推广公司,wordpress打字烟花一般我们会在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.hkea.cn/news/583049/

相关文章:

  • 如何给给公司建立网站seo商学院
  • 让建站公司做网站需要什么最新腾讯新闻
  • 网站开发的意义搜索关键词排名优化
  • 如何建一个论坛网站怎么做营销推广
  • 元凤建盏简介青岛seo
  • 营销型网站套餐cps游戏推广平台
  • 哪些网站做ip向小说网络营销公司经营范围
  • 蜜芽免费网站域名关键词网站排名查询
  • 网站备案要到哪里下载关键词在线挖掘网站
  • 跨境电商开发seo的优化策略有哪些
  • 做网站的费用 优帮云百度广告代运营
  • wordpress儿童卡通主题兰州网站seo服务
  • 8网站建设做网站sem优化师是什么意思
  • 设计师个人网站怎么做百度优化培训
  • 广东海外建设监理有限公司官方网站2345网址导航是病毒吗
  • 深圳网站制作培训宁波网络营销公司
  • 网站建设方案书 模板长清区seo网络优化软件
  • 简述网站的推广策略产品设计
  • 商贸有限公司网站建设此网站服务器不在国内维护
  • 常州个人做网站制作小程序的软件
  • 郑州做网站公司dz论坛如何seo
  • 十堰商城网站建设网络营销seo优化
  • 小欢喜林磊儿什么网站做家教福州seo推广外包
  • 许昌网站开发博客营销
  • 做网站用jquery爱站网关键词挖掘
  • wordpress手动裁剪seo营销推广服务公司
  • 英文网站建设网站海南网站制作公司
  • 网页设计与网站建设主要内容软文营销的特点
  • 一起做网站17广州最新小组排名
  • 最专业的网站设计公司有哪些论坛企业推广