解决Spring MVC 3在weblogic下报BEA-101083、BEA-101104的错误

在将Spring MVC 3应用部署到WebLogic时,使用<mvc:resources>处理静态资源出现异常。错误表现为刷新页面时,会交替出现正常和错误状态。经过排查,问题出在Spring的ResourceHttpRequestHandler处理资源未修改时返回304状态的逻辑。通过调整源码顺序解决了此问题,并在web.xml中添加mime-mapping以支持png、js等格式。
摘要由CSDN通过智能技术生成

用spring mvc 3做restful应用,用到的静态资源,采用<mvc:resources mapping="/resouces/**" location="/WEB-INF/view/resouces/" />方式处理,在Tomcat上一切正常,但是一部署到weblogic就囧了。

直接用浏览器访问http://xxx:7001/yyy/resouces/img/1.png

  • 第一次是正常的
  • 再刷新一次就报错:浏览器一个大红叉,服务器报java.net.ProtocolException: Didn't meet stated Content-Length, wrote: '0' bytes instead of stated: '7233' bytes.异常
  • 再刷新一次又正常了!

直接疯掉!

先以为是weblogic的问题,查了好多资料,试了好多方法,均不奏效。

期间试用<mvc:default-servlet-handler/>替代<mvc:resources...倒是正常了,但所有静态资源都必须移出/WEB-INF目录,很不爽,继续研究!

后来,无意中查到有一老外的帖子,是说struts的,错误也和我这个差不多,他的解决方法是改st

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值