在Spring3 MVC框架中,协商视图解析器是一个重要的组件,它允许根据客户端发送的HTTP Accept头信息动态选择合适的视图渲染格式。这个配置示例展示了如何在Spring MVC应用中设置一个ContentNegotiatingViewResolver,以便支持HTML、XML和JSON等多种输出格式。 首先,`ContentNegotiatingViewResolver`是Spring MVC中的一个Bean,它具有`order`属性,用于定义解析器的执行顺序,`defaultContentType`则设置了默认的响应类型。`ignoreAcceptHeader`和`favorPathExtension`属性控制解析器是否忽略 Accept 头或优先考虑路径扩展名。`favorParameter`决定是否根据请求参数来确定媒体类型,`parameterName`则是请求参数的名称。 `mediaTypes`属性是一个Map,其中键值对表示不同的媒体类型及其对应的MIME类型。例如,如果客户端请求XML,`MarshallingView`将会被选中,`modelKey`用于指定数据模型的关键字,而`marshaller-ref`引用了一个XML Marshaller对象,用于将数据转换为XML格式。 `defaultViews`列表包含了当没有匹配的媒体类型时使用的视图,这里定义了两个默认视图:`MappingJacksonJsonView`用于处理JSON请求,`userList`属性指定要序列化的对象;`MarshallingView`处理XML请求,同样通过`modelKey`指定数据模型。 除了协商视图解析器,Spring MVC 3.0还引入了一些新特性,如支持REST风格的URL,注解驱动的控制器,HTTP输入输出转换器(HttpMessageConverter)与数据转换、格式化和验证框架的集成,以及对静态资源的特殊支持等。这些特性使得Spring MVC在处理不同类型的请求和响应格式时更加灵活,提高了开发效率。 在Spring MVC的实际应用中,控制器类通常使用`@Controller`注解来标记,如`com.baobaotao.web.UserController`,然后通过`@RequestMapping`注解来定义URL映射,如`"/user"`和`"/user/register"`,这些注解允许开发者指定控制器的行为和响应的逻辑视图名。 最后,Spring MVC的架构包括`DispatcherServlet`作为核心控制器,`HandlerMapping`负责找到处理请求的处理器,`HandlerAdapter`则负责调用处理器的方法并将结果传递给视图解析器。视图解析器如`InternalResourceViewResolver`和协商视图解析器共同确保了根据客户端请求动态选择并呈现视图。 总结来说,基于协商的视图解析器是Spring MVC 3.0的一个关键部分,它通过HTTP Accept头信息智能地选择并呈现响应的视图格式,配合新特性,提供了更好的请求处理灵活性和开发体验。
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/72793aa3e23f4e05b5b484275f6e326f_weixin_42186387.jpg!1)
- 粉丝: 38
- 资源: 2万+
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 新型矿用本安直流稳压电源设计:双重保护电路
- 煤矿掘进工作面安全因素研究:结构方程模型
- 利用同位素位移探测原子内部新型力
- 钻锚机钻臂动力学仿真分析与优化
- 钻孔成像技术在巷道松动圈检测与支护设计中的应用
- 极化与非极化ep碰撞中J/ψ的Sivers与cos2φ效应:理论分析与COMPASS验证
- 新疆矿区1200m深孔钻探关键技术与实践
- 建筑行业事故预防:综合动态事故致因理论的应用
- 北斗卫星监测系统在电网塔形实时监控中的应用
- 煤层气羽状水平井数值模拟:交替隐式算法的应用
- 开放字符串T对偶与双空间坐标变换
- 煤矿瓦斯抽采半径测定新方法——瓦斯储量法
- 大倾角大采高工作面设备稳定与安全控制关键技术
- 超标违规背景下的热波动影响分析
- 中国煤矿选煤设计进展与挑战:历史、现状与未来发展
- 反演技术与RBF神经网络在移动机器人控制中的应用
![](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)