本教程主要介绍了在Spring MVC中如何使用支持格式化的转换器,通过配置`<mvc:annotation-driven>`和`<bean id="conversionService"`来实现自定义的转换服务,以及Spring MVC中的一些核心概念和注解的使用。 在Spring MVC中,为了处理不同类型的请求数据和响应,我们需要进行数据的转换和格式化。`<mvc:annotation-driven>`标签是Spring MVC提供的一个便捷方式,它可以启用基于注解的控制器,同时默认创建一个`FormattingConversionServiceFactoryBean`实例,这个转换服务能够处理一些基本类型的格式化,例如数字、货币和百分比。 `<bean id="conversionService"` 配置允许我们自定义转换服务。在这个例子中,我们创建了一个名为`conversionService`的bean,并指定了它的类为`org.springframework.format.support.FormattingConversionServiceFactoryBean`。通过`<property name="converters">`,我们可以添加自己的转换器,例如`<bean class="com.baobaotao.domain.StringToUserConverter"/>`,这使得系统能够将字符串转换为自定义的`User`对象。 Spring MVC还支持一系列的格式化注解,这些注解可以用于控制器方法的参数或模型属性上,以实现自动的数据格式化。其中: - `@NumberFormatter`:用于对数字类型进行格式化,可以用于设置数字的显示格式,比如小数位数、千分位分隔符等。 - `@CurrencyFormatter`:专门用于货币类型的格式化,可以按照不同的货币符号进行展示。 - `@PercentFormatter`:用于百分比数值的格式化,可以控制百分比的显示精度。 此外,文件提到了Spring MVC的一些关键组件和概念,如: 1. `DispatcherServlet`:作为Spring MVC的前端控制器,负责接收HTTP请求,然后根据配置找到合适的处理器方法进行处理。 2. `HandlerMapping`:负责将请求URL映射到控制器类的方法。 3. `HandlerAdapter`:适配器模式,允许Spring MVC处理各种不同类型的处理器。 4. `ModelAndView`:包含了处理结果的模型数据和视图信息。 5. `ViewResolver`:视图解析器,用于根据逻辑视图名找到实际的视图资源。 6. `@Controller`、`@RequestMapping`等注解:用于标记控制器类和控制器方法,以及指定URL映射。 Spring MVC 3.0引入的新特性包括对RESTful风格的支持、更多的注解驱动、HTTP输入输出转换器、与数据转换、格式化和验证框架的集成、静态资源处理优化以及与Servlet API的解耦等,这极大地提高了开发效率和灵活性。 在示例代码中,`@Controller`注解标记了`UserController`类为一个控制器,而`@RequestMapping("user")`指定了该控制器处理以"/user"开头的URL。`@RequestMapping(value = "/register")`注解定义了`register()`方法处理的具体URL,返回的`"user/register"`是逻辑视图名,通过视图解析器会转化为实际的视图资源,如JSP页面。 总结来说,本教程深入探讨了Spring MVC中的数据转换和格式化,以及其核心组件和注解的使用,对于理解Spring MVC的工作原理和提高开发效率具有重要意义。
![ppt](https://img-home.csdnimg.cn/images/20210720083527.png)
![ppt](https://img-home.csdnimg.cn/images/20210720083527.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![m](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://profile-avatar.csdnimg.cn/f4c5f3f734c546bba0f87d3ae1afe579_weixin_42202724.jpg!1)
- 粉丝: 20
- 资源: 2万+
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 解决Eclipse配置与导入Java工程常见问题
- 真空发生器:工作原理与抽吸性能分析
- 爱立信RBS6201开站流程详解
- 电脑开机声音解析:故障诊断指南
- JAVA实现贪吃蛇游戏
- 模糊神经网络实现与自学习能力探索
- PID型模糊神经网络控制器设计与学习算法
- 模糊神经网络在自适应PID控制器中的应用
- C++实现的学生成绩管理系统设计
- 802.1D STP 实现与优化:二层交换机中的生成树协议
- 解决Windows无法完成SD卡格式化的九种方法
- 软件测试方法:Beta与Alpha测试详解
- 软件测试周期详解:从需求分析到维护测试
- CMMI模型详解:软件企业能力提升的关键
- 移动Web开发框架选择:jQueryMobile、jQTouch、SenchaTouch对比
- Java程序设计试题与复习指南
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)