文档章节

Spring MVC 解读,<mvc:annotation-driven/>

疏影横斜
 疏影横斜
发布于 2017/10/27 18:04
字数 277
阅读 28
收藏 0

首先要了解<mvc:annotation-driven/>,请移步至:https://my.oschina.net/HeliosFly/blog/205343

 

那先看看我的配置:

     <!-- 默认的注解映射的支持,org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping -->
     <mvc:annotation-driven content-negotiation-manager="contentNegotiationManager">
        <mvc:message-converters register-defaults="true">
            <!-- 将StringHttpMessageConverter的默认编码设为UTF-8 -->
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <constructor-arg value="UTF-8" />
            </bean>
            <!-- 将Jackson2HttpMessageConverter的默认格式化输出为false -->
            <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
                <property name="supportedMediaTypes">
                    <list><value>application/json;charset=UTF-8</value></list>
                </property>
                <property name="prettyPrint" value="false"/>
                <property name="objectMapper">
                    <bean class="com.fasterxml.jackson.databind.ObjectMapper">
                       <!-- <property name="dateFormat">
                            <bean class="java.text.SimpleDateFormat">
                                <constructor-arg type="java.lang.String" value="yyyy-MM-dd HH:mm:ss" />
                            </bean>
                        </property>-->
                    </bean>
                </property>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>
    <!-- REST中根据URL后缀自动判定Content-Type及相应的View -->
    <bean id="contentNegotiationManager" class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean">
        <property name="defaultContentType" value="text/html" />
        <property name="ignoreAcceptHeader" value="true"/>
        <property name="mediaTypes" >
            <map>
                <entry key="json" value="application/json;charset=UTF-8"/>
                <entry key="xml" value="application/xml"/>
            </map>
        </property>
        <property name="favorPathExtension" value="true"/>
    </bean>

content-negotiation-manager:用于多视图的解析

就是 会根据我请求的后缀返回不同的信息,defaultContentType 设置为 text/html,意思就是没有后缀默认返回html,

mediaTypes中定义不同的后缀,返回不同的信息格式,尽量不要设置defaultContentType ,让工具自己选择,不然有可能会产生406错误.

© 著作权归作者所有

疏影横斜

疏影横斜

粉丝 7
博文 14
码字总数 6250
作品 0
青岛
私信 提问
Spring MVC 解读——

Spring MVC 解读——mvc:annotation-driven/ 一、AnnotationDrivenBeanDefinitionParser 通常如果我们希望通过注解的方式来进行Spring MVC开发,我们都会在***-servlet.xml中加入mvc:annotat...

麦壳原野
2014/03/05
66.6K
8
spring vmc3.1.1 上,通过AnnotationMethodHandlerAdap...

spring vmc3.1.1 下,通过AnnotationMethodHandlerAdapter配置webBindingInitializer失效解决方案 问题: spring vmc3.1.1 下,通过AnnotationMethodHandlerAdapter配置webBindingInitializ......

爪哇小贩
2013/03/23
812
2
SpringMVC—标签

在Spring3.0中 在Spring3.0.5这个版本上,mvc:annotation-driven/声明是没有 defaultAnnotationHandlerMapping这个属性的,对于@ResultMapping标签的解析,是写死了必须用 "org.springframe...

李长春
2011/09/15
1K
0
SpringMVC—标签

在Spring3.0中 在Spring3.0.5这个版本上,mvc:annotation-driven/声明是没有 defaultAnnotationHandlerMapping这个属性的,对于@ResultMapping标签的解析,是写死了必须用 "org.springframe...

李长春
2011/09/15
499
0
springmvc错误java.lang.IllegalArgumentException

jdk1.8+tomcat7.59+eclipseLUNA springmvc.xml 异常 exception root cause

luoyelingluo
2015/05/23
19.4K
3

没有更多内容

加载失败,请刷新页面

加载更多

全球第一时间响应:Rancher发布2.3.1,支持K8S CVE修复版本

北京时间2019年10月17日,Kubernetes发布了新的补丁版本,修复了新近发现的两个安全漏洞:CVE-2019-11253和CVE-2019-16276。Rancher第一时间响应,就在当天紧随其后发布了Rancher v2.3.1和R...

RancherLabs
8分钟前
1
0
EMQ X 规则引擎系列 (八)桥接消息到 MQTT Broker

桥接概念 桥接是一种连接多个 EMQ X 或者其他 MQTT 消息中间件的方式。不同于集群,工作在桥接模式下的节点之间不会复制主题树和路由表。桥接模式所做的是: 按照规则把消息转发至桥接节点;...

EMQX
12分钟前
3
0
《2019年上半年云上企业安全指南》详解安全建设最易忽视的问题!

《2019年上半年云上企业安全指南》是阿里云基于对云安全中心监测到的威胁情报进行分析,形成的一份云上企业安全建设指南。通过对云上企业安全建设现状及多维度威胁情报的分析,得出企业安全建...

开源中国小二
12分钟前
2
0
一天之际在于晨之KMP算法

(我觉得不需要明白原理,应该是在面试或者工作的时候,该想到用什么算法以及之后直接赋值我这里的代码就好了) 下面的情况我们第一时间考虑想到的是用KMP算法。 情况一:// ts字符串是否包...

木九天
15分钟前
1
0
如何通过反射机制创建对象?

// 获取类路径的完全限定名 String classname = "test.Interval"; // 通过类的完全限定名获取类对象 Class pClass = Class.forName(classname); // 通过类对象获取类的构造器对象 Constructo......

happywe
15分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部