spring MVC扩展和SSM整合

JSON对象的处理

简述@ResponseBody注解的用法

 @responseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据,需要注意的呢,在使用此注解之后不会再走试图处理器,而是直接将数据写入到输入流中,他的效果等同于通过response对象输出指定格式的数据。@ResponseBody都会在异步获取数据时使用,被其标注的处理方法返回的数据将输出到相应流中,客户端获取并显示数据。

解决JSON数据传递的中文乱码问题 原因: 消息转换器(StringHttpMessageConverter)中固定了转换字符编码为“ISO-8859-1” 解决方案一: @RequestMapping(value="/view", method=RequestMethod.GET, produces={"application/json;charset=UTF-8"}) 简单实用,并可做到灵活处理

解决方案二 装配消息转换器StringHttpMessageConverter,设置字符编码为UTF-8 supportedMediaTypes属性 指定媒体类型:application/json 字符编码:UTF-8 一次配置,永久搞定

解决JSON数据传递的日期格式问题

日期格式:时间戳  “yyyy-MM-dd” 解决方案一: 注解方式:@JSONField(format= "yyyy-MM-dd")

解决方案二

配置FastJson的消息转换器-FastJsonHttpMessageConverter 设置features属性:指定输出时的日期转换器为WriteDateUseDateFormat FastJson规定了默认的返回日期类型DEFFAULT_DATE_FORMAT:yyyy-MM-dd HH:mm:ss故对于特殊类型字段,可使用@JSONField来控制

对于JSON数据中的日期格式处理(FastJson) 默认输出时间戳 转换输出yyyy-MM-dd HH:mm:ss格式的日期 配置消息转换器中的<value>WriteDateUseDateFormat</value> 注解优先( yyyy-MM-dd ) 配置消息转换器中的<value>WriteDateUseDateFormat</value> 增加属性注解@JSONField(format="yyyy-MM-dd")

配置多视图解析器2

<property name="mediaTypes">

  <map> <entry key="html" value="text/html;charset=UTF-8"/>

     <entry key="json" value="application/json;charset=UTF-8"/>

    <entry key="xml" value="application/xml;charset=UTF-8"/>

  </map>

</property>

ContentNegotiatingViewResolver favorParameter 默认为true,表示支持参数匹配,可以根据请求参数的值确定MIME类型,默认的请求参数为format,如: /user/view?id=12&format=json mediaTypes 根据请求参数值和MIME类型的映射列表 viewResolvers 网页视图解析器

通过ContentNegotiatingViewResolver,其中就达到了同一资源根据相同的URL地址访问,并通过设置MIME格式控制器端返回的数据格式,从而获取不同形式的返回内容。其实这REST的编程风格。

数据转换和格式化

在Spring MVC中时间数据无法实现自动转换绑定 解决方案 必须要进行手动配置自定义数据类型的绑定才能实现该功能 数据转换和格式化

数据绑定流程

DataBinder 数据绑定的核心部件 核心调度 ConversionService Spring类型转换体系的核心接口 解决前台form表单中时间字符串到后台Date数据类型的转换问题 配置了<mvc:annotation-driven/>标签,并没有配置ConversionService,也能通过格式化注解来解决日期的转换问题 <mvc:annotation-driven/>标签 DefaultAnnotationHandlerMapping AnnotationMethodHandlerAdapter FormattingConversionServiceFactoryBean

注意:标注了@InitBinder注解的方法会在控制器初始化时调用

SSM框架整合

新建Web Project,导入相关jar文件

配置web.xml

配置文件(/resources) database.properties

log4j.properties

mybatis-config.xml

  配置typeAliases

  设置全局性懒加载

  applicationContext-mybatis.xml

  springmvc-servlet.xml

applicationContext-mybatis.xml

数据源相关配置

事务管理

配置SqlSessionFactoryBean

配置MapperScannerConfigurer

springmvc-servlet.xml

配置<mvc:annotation-driven/>标签(包括消息转换器配置)

通过<mvc:resources/>标签配置静态文件访问

配置支持文件上传- multipartResolver

配置多视图解析器-ContentNegotiatingViewResolver

配置拦截器-interceptors

  

基于HandlerMapping,对请求实施拦截,根据业务需求,基于不同的HandlerMapping定义多个拦截器

HandlerInterceptor接口 preHandle() postHandle() afterCompletion()

自定义拦截器的配置-SysInterceptor

原文地址:https://www.cnblogs.com/huangpeng3210/p/9456619.html

时间: 2024-11-10 07:34:17

spring MVC扩展和SSM整合的相关文章

【Java】Spring MVC 扩展和SSM框架整合

开发web项目通常很多地方需要使用ajax请求来完成相应的功能,比如表单交互或者是复杂的UI设计中数据的传递等等.对于返回结果,我们一般使用JSON对象来表示,那么Spring MVC中如何处理JSON对象? JSON对象的处理 使用@ResponseBody实现数据输出 要使用JSON,所以导一下JSON工具包.JSON工具包,密码4i0l. Controller层代码示例(这里使用的是阿里巴巴的 fastjson): 1 /** 2 * 判断注册时用户编码是否唯一 3 * @param re

Spring+Spring MVC+MyBatis实现SSM框架整合详细教程【转】

关于Spring+SpringMVC+Mybatis 整合,见还有不少初学者一头雾水,于是写篇教程,初学者按部就班的来一次,可能就会少走不少弯路了. 一:框架介绍(啰嗦两句,可自行度娘) 1.1:Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来.它是为了解决企业应用开发的复杂性而创建的

spring、spring mvc、mybatis框架整合基本知识

学习了一个多月的框架知识了,这两天很想将它整合一下.网上看了很多整合案例,基本都是基于Eclipse的,但现在外面公司基本都在用Intellij IDEA了,所以结合所学知识,自己做了个总结,有不足之处欢迎指正. 首先,我是参考了http://blog.csdn.net/zhshulin/article/details/37956105这篇做的Intellij IDEA翻版.Intellij IDEA的许多操作方式与习惯与eclipse区别很大,所以很容易走入误区.直接上操作吧. 1.基本概念

Spring MVC + Hibernate的初步整合

今天突然想要做一个网站,打算采用SpringMVC(4.1.5.RELEASE)+Hibernate(4.3.8.Final)作为主要框架,来试试效果. 先贴出Maven的部分代码:                 <properties> <spring-version>4.1.5.RELEASE</spring-version> <hibernate-version>4.3.8.Final</hibernate-version>       

spring mvc中的json整合

spring mvc整合过程中是有版本兼容的问题.具体的哪个版本的springmvc和哪个个版本的json包冲突我也无从考证了.我用的springmvc版本是3.2.1jaskson的版本是 1.1.12.分别是:jackson-core-asl-1.1.1.jar,jackson-mapper-asl-1.1.2.jar 首先要导入springmvc的相关jar包. 我这里面还有其他非jackson用的jar包,这是我在写其他功能时候添加上的,大家可以忽略不看. spring-mvc-serv

Velocity + log4j + Spring MVC + Spirng + MyBatis + Maven整合

1. 整合Spring和MyBatis 注意:(1) 如果Mapper接口的名称是HelloWorldMapper,则对应的mapper映射文件也应该名称为HelloWorldMapper.xml或者是helloWorldMapper.xml. (2) 对于Maven项目而言,我们通常会把配置文件放到resources目录下面的,对于HelloWorldMapper.xml文件我也喜欢放到该目录下面.但是如果直接放到该目录下面是找不到该mapper映射文件的.如果直接放到src/main/jav

spring mvc+mybatis ios android整合cms内容发布平台

开发语言: java.ios.android 部署平台: linux.window jdk版本:JDK1.7以上版本 开发工具: eclipse.idea等 服务器中间件:Tomcat 6.7.Jboss 7.WebLogic 10.WebSphere 8 框架支持: springmvc.mybatis.shiro.restful.redis.sso单点登录 通用管理: 用户管理.角色管理.权限管理.动态菜单.数据字典管理.机构管理.区域管理.日志管理.日志监控.代码生成工具. 1.用户管理:用

myBatis,Spring,SpringMVC三大框架ssm整合模板

整合步骤 创建web工程 导入整合所需的所有jar包 编写各层需要的配置文件 1) mybatis的全局配置文件 <configuration> <!-- 批量别名的设置 -->    <typeAliases>        <package name="cn.ssm.pojo"/>    </typeAliases>     </configuration> 2) spring管理mybatis的配置文件 &l

Spring MVC与Hibernate的整合

1.创建一个web项目. 2.引入类库. 3.配置中央处理器 <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- 通过初始化参数指定springmvc配置文件的位置 --> <init-param> <