替换springMVC版本为4.3以后运行项目提示错误
org.springframework.beans.NotWritablePropertyException: Invalid property 'mediaTypes' of bean class [org.springframework.web.servlet.view.ContentNegotiatingViewResolver]: Bean property 'mediaTypes' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter
是spring3.2以上开始不推荐使用setMediaTypes等直接设置这些数据, 而是通过ContentNegotiationManager(ContentNegotiationManagerFactoryBean),所以采用map标签的方式直接转换会出现异常信息。
相关的方法在4.3版本上已经进行了移出操作。
3.2xml配置
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="order" value="1" />
<property name="mediaTypes">
<entry key="html" value="text/html" />
<entry key="xml" value="application/html" />
<entry key="json" value="application/json" />
</map>
</property>
<property name="defaultViews">
<bean class="org.springframework.web.servlet.view.json.MappingJackson2JsonView">
</bean>
</list>
</property>
<property name="ignoreAcceptHeader" value="true" />
</bean>
4.3xml配置
<bean id="contentNegotiationManager" class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean">
<property name="favorParameter" value="true"/>
<property name="parameterName" value="format"/>
<property name="ignoreAcceptHeader" value="false"/>
<property name="mediaTypes">
<value>
json=application/json
xml=application/xml
html=text/html
</value>
</property>
<property name="defaultContentType" value="text/html"/>
</bean>
ContentNegotiationManagerFactoryBean关于MediaType的相关方法
###替换springMVC版本为4.3以后运行项目提示错误org.springframework.beans.NotWritablePropertyException: Invalid property 'mediaTypes' of bean class [org.springframework.web.servlet.view.ContentNegotiatingViewResolver]:
1、java.lang.NoSuchMethodError: org.
spring
framework.aop.scope.ScopedProxyUtils.isScopedTarget(Ljava/lang/String;)Z
这个问题是因为,我的项目里有两个aop的j
因为
spring
官方发布了
spring
framework的更新,此次更新修复了一个RFD(反射型文件下载)安全漏洞,,漏洞编号为CVE-2020-5421。该漏洞可以通过一个jsessionId路径参数绕过RFD(反射型文件下载)保护。
项目原本使用:
spring
-
3.2
.4.RELEASE
需要升级版本至:
spring
-
4.3
.29.RELEASE
升级完
spring
会发现在
配置
文件里面, ContentNegotiatingViewResolver这个视图解析器的配...
css一个重要的特性怎样指定文档在不同的媒体之中呈现。在屏幕,纸上,盲文设备上,等等。
确定的css样式只是为了确定的呈现方式。然而,在不同的媒体类型xss可能分享属性。但是这些属性需要指定不同的值,例如在纸上和屏幕都有font-size属性,但是在纸上字体就要大一些。所以css需要应用于特定的
media
types
。
Specifying
media
-dependent style sheets
有两个方式来指定依赖的媒体类型
用@
media
一、自己写的类和
配置
文件进行绑定
1. 自己写的类,需要和
配置
文件中
配置
的内容进行绑定(也就是说把
配置
文件中
配置
的内容绑定到自己写的类的属性中去),可以使用如下两个注解实现
@Component
@ConfigurationProperties(prefix = "mycar")
* 只有在容器中的组件,才会拥有
Spring
Boot提供的强大功能
@Component
@ConfigurationProperties(prefix = "mycar")
public class C
```xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>
Spring
MVC
Application</display-name>
<!--
配置
Spring
MVC
的DispatcherServlet -->
<servlet>
<servlet-name>
springmvc
-dispatcher</servlet-name>
<servlet-class>
org.
spring
framework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/
springmvc
-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- 映射DispatcherServlet的URL -->
<servlet-mapping>
<servlet-name>
springmvc
-dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
在这个示例中,我们使用了`org.
spring
framework.web.servlet.DispatcherServlet`作为
Spring
MVC
的核心前端控制器,将它
配置
在了web.xml中。我们还指定了
Spring
配置
文件`
springmvc
-servlet.xml`的位置,并将它作为初始化参数传递给了DispatcherServlet。最后,我们将DispatcherServlet映射到了根URL`/`,即所有的请求都将通过它来处理。