spring升级后配置mediaTypes和defaultContentType的注意细节

背景:

因为spring官方发布了spring framework的更新,此次更新修复了一个RFD(反射型文件下载)安全漏洞,,漏洞编号为CVE-2020-5421。该漏洞可以通过一个jsessionId路径参数绕过 RFD(反射型文件下载) 保护。

项目原本使用:spring-3.2.4.RELEASE

需要升级版本至:spring-4.3.29.RELEASE

 

问题:

升级完spring会发现在配置文件里面, ContentNegotiatingViewResolver这个视图解析器的配置无法解析mediaTypes和defaultContentType,附图:

原因:spring 4版本中的springmvc配置,会报mediaTypes和defaultContentType为非法配置,现在可以在原来的 ContentNegotiatingViewResolver 中加入 contentNegotiationManager,然后在contentNegotiationManager配置defaultContentType,如下:

这样子来配置,就可以解决了!

附(版本差异):

spring3:

org.springframework.web.servlet.view.json.MappingJacksonJsonView
org.springframework.http.converter.json.MappingJacksonHttpMessageConverter

spring4:

org.springframework.web.servlet.view.json.MappingJackson2JsonView
org.springframework.http.converter.json.MappingJackson2HttpMessageConverter

spring4:
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />

替换

spring5:
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping" />
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter" />

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值