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

网站怎么做聚合页面wordpress rss 下一页

网站怎么做聚合页面,wordpress rss 下一页,wordpress标题字体大小,苏州公司网站建设公司post请求体内容无法重复获取 为什么会无法重复读取呢#xff1f; 以tomcat为例#xff0c;在进行请求体读取时实际底层调用的是org.apache.catalina.connector.Request的getInputStream()方法#xff0c;而该方法返回的是CoyoteInputStream输入流 public ServletInputStream… post请求体内容无法重复获取 为什么会无法重复读取呢 以tomcat为例在进行请求体读取时实际底层调用的是org.apache.catalina.connector.Request的getInputStream()方法而该方法返回的是CoyoteInputStream输入流 public ServletInputStream getInputStream() throws IOException {    if (usingReader) {        throw new IllegalStateException(sm.getString(coyoteRequest.getInputStream.ise));    }    usingInputStream  true;    if (inputStream  null) {        inputStream  new CoyoteInputStream(inputBuffer);    }    return inputStream;} 在使用CoyoteInputStream进行读取时 public int read(byte[] b, int off, int len) throws IOException {  // 如果流关闭则抛出异常    if (closed) {        throw new IOException(sm.getString(inputBuffer.streamClosed));    }// 如果已经读完了则返回-1    if (checkByteBufferEof()) {        return -1;    }    int n  Math.min(len, bb.remaining());    bb.get(b, off, n);    return n;} 而流读取完毕都会进行close这个流close之后close状态就置为了true所以导致流无法进行二次读取 那么如何解决呢将tomcat的Request类进行重新实现吗代价太大了sun公司当初在设计的时候就已经提供了解决方法对于请求和响应sun公司提供了包装类可以HttpServletRequestWrapper类包装原始的request对象实现了HttpServletRequest接口的所有方法内部调用了所包装的request对象的对应方法相应的也有HttpServletResponseWrapper类来包装原始的response对象继承HttpServletRequestWrapper来进行方法重写可以使用HttpServletResponseWrapper和HttpServletRequestWrapper来进行定制响应和请求 public class BodyReaderHttpServletRequestWrapper extends HttpServletRequestWrapper {  // 存储请求体    private byte[] body;    private HttpServletRequest orgRequest;    public BodyReaderHttpServletRequestWrapper(HttpServletRequest request) throws IOException {        super(request);        this.orgRequest  request;        body  HttpHelper.getBody(request);    }    public HttpServletRequest getOrgRequest() {        return this.orgRequest;    }  // 重写读取从存储的字节数组中读    Override    public BufferedReader getReader() throws IOException {        return new BufferedReader(new InputStreamReader(getInputStream()));    }  // 重写读取从存储的字节数组中读    Override    public ServletInputStream getInputStream() throws IOException {        final ByteArrayInputStream bais  new ByteArrayInputStream(body);        return new ServletInputStream() {            Override            public int read() throws IOException {                return bais.read();            }            Override            public boolean isFinished() {                return false;            }            Override            public boolean isReady() {                return false;            }            Override            public void setReadListener(ReadListener readListener) {            }        };    }} https://zhhll.icu/2020/javaweb/问题/6.post请求体内容无法重复获取/ 本文由 mdnice 多平台发布
http://www.zqtcl.cn/news/367739/

相关文章:

  • 张家口住房和城乡建设厅网站如何做点击赚钱的网站
  • 网站在建设中无法访问贵州碧江区住房和城乡建设局网站
  • 营销类网站 英文东莞正规的免费网站优化
  • 柳州网站推广最好的公司百度seo优化培训
  • 哈尔滨门户网站建站哪个网站做农产品
  • 网站行业关键词如何建设网站
  • wordpress插件目录504wordpress访问优化插件
  • 固定ip做网站网页源码提取工具
  • php网站模板源码下载公司网络营销推广软件
  • 免费电子版个人简历模板温州快速排名优化
  • 网站修改titlewordpress显示icp备案
  • 中国国际贸易单一窗口登录南京专业网站优化公司
  • 手机网站建设合同wordpress案例分析
  • 深圳做网站什么公司好广州电商小程序开发
  • 郑州高新区做网站的公司如何欣赏网站
  • 网站做维恩图做网站的公司杭州
  • 柳州公司网站制作公司wordpress 网店
  • 网站增加栏目费用在网站开发中如何设置登录
  • 怎样用php做网站百度推广联系人
  • 怎么建立手机网站如何申请公司域名
  • 营销型网站怎么收费邓州企业网站
  • 北京建设官方网站邢台网站维护
  • 新余网站制作网站开发工资咋样
  • 襄阳网站建设外包自己做一个网站
  • 网站域名的后缀wordpress文章归类
  • 查询企业信息的官方网站大连建设网站公司
  • 网站建设 全包专业建设规划方案模板
  • 做网站好还是做微信小程序好浙江建设工程造价信息网站
  • 网站开发怎么报价推广普通话手抄报模板可打印
  • 好的平面网站模板企业网站建设浩森宇特