用过滤器实现日志记录

博客主要围绕Java中POST请求且content_type为json/application格式时出现的错误流关闭问题展开。分析了问题原因,包括control层读取流致日志无法读取参数报错,还从filter中流操作与责任链模式、httpservetrequest引用复制方式两方面深入探讨,此外还提及maven包更新问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

遇到一个奇怪的问题,当传递的post的请求,并且是content_type : json/application 的格式,就会出现一个错误流关闭的问题,为什么会这样

 

问题导致的原因:

  表面看是:control层将post请求中的body参数信息从流中读取了,流就关闭了无法给下层的日志读取参数,这时就会报错的io异常

  两个方面深层次找:

    1.为什么在filter中httpservletrequst的流操作与责任链模式是否有关,那么根据这点是否研究源码和官网文档清晰对tomcat在项目中的支撑做一个定位

    2. 为什么httpservetrequest的引用只能用装饰器模式复制一份,对原有的request进行特别的包装后成为一个新的request的值,原型模式的深拷贝可以吗? 

 

怎么更改包呀:maven中更新了javax.http.*为什么还是servlet2.5呢?

转载于:https://www.cnblogs.com/zhikou/p/10462638.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值