springmvc 想到哪里写到哪里

本文详细介绍了Spring MVC中的视图控制器配置、静态资源映射及注解驱动的作用。通过具体示例,展示了如何设置视图路径、静态资源路径,并解释了注解驱动对于控制器解析的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<!--配置直接转发的页面,无需经过handler的方法 --> 

mvc:voew-controller标签详解

<mvc:view-controller path="/" view-name="success"/> 
<!-- 访问静态资源文件  -->  
<mvc:resources mapping="/images/**" location="/images/" cache-period="31556926"/>  

在实际开发中通常都需要配置mvc:annotation 标签

<mvc:annotation-driven/>
最后的配置 如果没有<mvc:annotation-driven/>,那么所有的Controller可能就没有解析,所有当有请求时候都没有匹配的处理请求类,就都去<mvc:default-servlet-handler/>即default servlet处理了。添加上<mvc:annotation-driven/>后,相应的do请求被Controller处理,而静态资源因为没有相应的Controller就会被default servlet处理。总之没有相应的Controller就会被default servlet处理就ok了




<think>嗯,用户想知道如何在Spring MVC中集成FastJSON处理JSON数据。首先,我需要回忆一下Spring MVC配置JSON处理器的常规方法。通常,Spring MVC使用MappingJackson2HttpMessageConverter来处理JSON,但这里用户要换成FastJSON。 首先,我应该想到添加FastJSON的依赖。记得FastJSON有不同的版本,需要确认最新版本或者稳定版本。比如,可能用1.2.83这样的版本,但要注意是否有安全漏洞,可能需要建议用户使用更高版本,如果有的话。 然后,配置Spring的XML文件。需要覆盖默认的HttpMessageConverter。在<mvc:annotation-driven>里添加FastJsonHttpMessageConverter。同时,要配置FastJSON的序列化设置,比如SerializerFeature,比如输出空值、格式化日期等。 可能还需要处理静态资源的问题,因为有时候配置了消息转换器后,静态资源可能被拦截。这时候需要添加<mvc:default-servlet-handler/>,或者检查是否有相关的资源映射。 另外,用户可能还需要在Controller中使用@ResponseBody或者@RestController,这时候要确保返回的对象能被FastJSON正确转换。可能会有日期格式的问题,这时候需要在配置中指定日期格式,比如“yyyy-MM-dd HH:mm:ss”。 然后,用户可能需要一个示例代码,比如一个简单的Controller,返回JSON数据,测试是否集成成功。比如一个返回Map或者对象的接口,访问后查看JSON格式是否符合预期。 还要考虑是否需要处理中文乱码,通常FastJSON默认使用UTF-8,但可能需要配置媒体类型为application/json;charset=UTF-8,确保响应头正确。 另外,参考之前用户提供的引用,引用[3]提到了SpringMVC+FastJson+Swagger的集成,可能涉及静态资源处理,所以需要确认是否添加了<mvc:default-servlet-handler/>,避免静态资源被拦截。 可能还需要提到配置FastJsonConfig,设置序列化特性,比如WriteMapNullValue(输出空字段),WriteDateUseDateFormat(使用指定日期格式),PrettyFormat(格式化输出)等。 最后,生成相关问题的时候,可以考虑常见的后续问题,比如如何处理日期格式、性能对比,或者整合其他工具如Swagger,或者解决中文乱码的问题。 总结步骤应该是:添加依赖 → 配置消息转换器 → 处理静态资源 → 编测试Controller → 验证结果。同时注意配置细节,如特性设置和字符编码。</think>### Spring MVC集成FastJSON的步骤说明 #### 1. 添加FastJSON依赖 在`pom.xml`中引入FastJSON核心库: ```xml <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.83</version> </dependency> ``` *注意:建议使用最新安全版本* #### 2. 配置消息转换器 在Spring MVC的XML配置文件中(如`spring-servlet.xml`),添加以下配置覆盖默认的JSON处理器: ```xml <mvc:annotation-driven> <mvc:message-converters> <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>application/json;charset=UTF-8</value> </list> </property> <property name="fastJsonConfig"> <bean class="com.alibaba.fastjson.support.config.FastJsonConfig"> <property name="serializerFeatures"> <list> <value>WriteMapNullValue</value> <value>WriteDateUseDateFormat</value> <value>PrettyFormat</value> </list> </property> <property name="dateFormat" value="yyyy-MM-dd HH:mm:ss"/> </bean> </property> </bean> </mvc:message-converters> </mvc:annotation-driven> ``` *说明:此处配置了日期格式化、空值输出等特性[^3]* #### 3. 添加静态资源处理(可选) 若需要处理静态资源,补充配置: ```xml <mvc:default-servlet-handler/> ``` #### 4. 编测试Controller ```java @RestController public class DemoController { @GetMapping("/user") public User getUser() { User user = new User(); user.setName("张三"); user.setBirthday(new Date()); return user; } } ``` #### 5. 验证输出 访问接口将得到格式化后的JSON: ```json { "name": "张三", "birthday": "2023-09-20 14:30:45" } ``` ### 特性对比表 | 特性 | FastJSON默认 | 本配置 | |----------------------|-------------|---------------| | 空字段输出 | 否 | 是 | | 日期格式 | 时间戳 | 指定格式 | | JSON格式化 | 紧凑模式 | 缩进排版 | | 字符编码 | ISO-8859-1 | UTF-8 | ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值