• 消息转换


    httpMessageConverter接口

    负责将请求信息转换一个对象,并把对象绑定到请求方法的参数中或作为相应信息

    • dispatchServlet默认装配了requestMappingHandlerAdapter作为HandlerAdapter组件的实现类

    接口方法

    p49

    装配其他类型httpMessageConverter 可以在spring-config中自行定义一个requestMappingHandlerAdapter

    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
        <property name="messageConverters"
            <list>
                <bean class="…"/>
            </list>
        </property>
    </bean>

    转换json数据

    spring提供了处理json请求响应的httpMessageConverter:MappingJacksonHttpMessageConverter

    配置

    <!-- 配置方案 自动注册requestMappingHandler和requestMappingHandlerAdapter -->
    <mvc:annotation-driven/>
    <!-- dispatcherServlet会截获所有请求路径,而引入javascript时的路径会被看成请求路径,会报出404错误,加入默认servlet时找不到回去找静态内容 -->
    <mvc:default-servlet-handler/>

    自定义httpMessageConverter接收json数据

    使用默认servlet相应静态文件

        <mvc:default-servlet-handler/>

    配置自定义httpMessageConverter

        <!-- 设置配置方案 -->
        <mvc:annotation-driven>
            <!-- 设置不使用默认的消息转换器 -->
            <mvc:message-converters register-defaults="false">
                <bean class="org.springframework.http.converter.StringHttpMessageConverter"/>
                <bean class="org.springframework.http.converter.xml.XmlAwareFormHttpMessageConverter"/>
                <bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter"/>
                <bean class="org.springframework.http.converter.BufferedImageHttpMessageConverter"/>
                <!-- 配置fastJson -->
                <bean id="fastJsonHttpMessageConverter" class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
                    <!-- 支持的媒体类型 -->
                    <property name="supportedMediaTypes">
                        <list>
                           <!-- 不先写text/html ie会出现下载提示 -->
                           <value>text/html;charset=UTF-8</value>
                            <value>application/json;charset=UTF-8</value>
                        </list>
                    </property>
                </bean>
            </mvc:message-converters>
        </mvc:annotation-driven>

    <wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">





  • 相关阅读:
    css实现自适应正方形
    遇到稍微复杂的场景发现css功力不足
    聊聊缓存
    git学习笔记
    font-size:0的作用
    移动端高清屏适配方案
    react生命周期
    javascript写定时器
    js判断字符串是否以某个字符串开头和js分解字符串
    json.parse()和json.stringify()
  • 原文地址:https://www.cnblogs.com/renluxiang/p/d20daf05fb5459d8aed0712073ee5c75.html
Copyright © 2020-2023  润新知