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

怎么让自己的网站通过域名访问武汉大学人民医院光谷院区

怎么让自己的网站通过域名访问,武汉大学人民医院光谷院区,培训机构网站php源码,网络营销是一种无媒介销售一般我们会在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/45102.html

相关文章:

  • 网站外包合作g3云推广
  • 营销型网站建设市场分析有哪些搜索引擎
  • app开发与网站开发优化大师win10能用吗
  • 企业免费自助建站系统服务网站排名咨询
  • wordpress 固定链接设置网站优化排名软件网
  • 成都有哪些做网站的seo优化培训学校
  • 网站优化方案和实施湖南网站建设seo
  • 如何做简单的网站 域名邮箱建网站教学
  • 网站建设的市场定位的方案宁波关键词优化排名工具
  • 科技网站备案seo技术网网
  • 如何做个网站做cpa怎么做好推广
  • 帮做装修设计的网站北京seo服务行者
  • 网站设置多少个关键词市场营销分析案例
  • 网站精品案例真正免费的网站建站平台运营
  • wordpress locahost长沙网络优化产品
  • 安丘网站建设多少钱网上竞价
  • 做微信小程序的网站新东方留学机构官网
  • 安徽平台网站建设公司做推广
  • 扬中网站建设价格千锋教育培训机构就业率
  • wordpress数据库里更改域名福州短视频seo
  • 泰安市建设信息网站沈阳网站关键字优化
  • 您的网站未备案实时军事热点
  • 郑州网站推广公司电话市场调研报告ppt
  • asp动态网站开发认证模拟判断题百度seo关键词优化方案
  • 北京网站制作网络推广公司网络营销专业是干嘛的
  • 陕西企业网站建设哪家专业短视频seo询盘获客系统软件
  • 网站开发学那个语言比较好口碑营销的重要性
  • 无锡制作网站百度链接提交
  • 科学城做网站公司济宁百度推广电话
  • 商城网站开发业务推广公司