本文主要是进行springmvc与fastjson整合
1.在pom.xml配置fastjson:
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>${fastjson-version}</version> </dependency>
2.web.xml配置:
<context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/applicationContext.xml</param-value> </context-param> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <servlet> <servlet-name>springMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/springMVC-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springMVC</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>/index.jsp</welcome-file> </welcome-file-list> <error-page> <error-code>404</error-code> <location>/index.jsp</location> </error-page>
3.springMVC-servlet.xml配置:
<context:component-scan base-package="com.ezubo.global.controller"/> <mvc:default-servlet-handler/> <mvc:annotation-driven > <mvc:message-converters register-defaults="true"> <!-- <bean class="org.springframework.http.converter.StringHttpMessageConverter"/>--> <!-- <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/> --> <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"> <property name="supportedMediaTypes" value="text/html;charset=UTF-8"/> <!-- 转换时设置特性--> <property name="features"> <array> <!-- 避免默认的循环引用替换--> <value>DisableCircularReferenceDetect</value> <value>WriteNullStringAsEmpty</value> <value>WriteNullNumberAsZero</value> <value>WriteMapNullValue</value> <!-- <ref bean="DisableCircularReferenceDetect"/> <ref bean="WriteMapNullValue"/> <ref bean="WriteNullStringAsEmpty"/> <ref bean="WriteNullNumberAsZero"/>--> </array> </property> </bean> </mvc:message-converters> </mvc:annotation-driven> <mvc:resources mapping="/css/**" location="/css/"/> <mvc:resources mapping="/*.html" location="/"/> <!-- enum枚举值的引用方法 --> <bean id="DisableCircularReferenceDetect" class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean" > <property name="staticField" value="com.alibaba.fastjson.serializer.SerializerFeature.DisableCircularReferenceDetect"></property> </bean> <bean id="WriteNullStringAsEmpty" class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean" > <property name="staticField" value="com.alibaba.fastjson.serializer.SerializerFeature.WriteNullStringAsEmpty"></property> </bean> <bean id="WriteNullNumberAsZero" class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean" > <property name="staticField" value="com.alibaba.fastjson.serializer.SerializerFeature.WriteNullNumberAsZero"></property> </bean> <bean id="WriteMapNullValue" class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean" > <property name="staticField" value="com.alibaba.fastjson.serializer.SerializerFeature.WriteMapNullValue"></property> </bean> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <property name="prefix" value="/WEB-INF/jsp/"/> <property name="suffix" value=".jsp"/> </bean> </beans> <!-- fastjson-1.1.41与SpringMVC整合 --> <!-- 1)若按照jackson和SpringMVC的整合方式,应按照下面的写法,但测试发现这样会报告"HTTP Status 406" The resource identified by this request is only capable of generating responses with characteristics not acceptable according to the request "accept" headers. 2)测试通过的整合方式为上面那样在mvc:annotation-driven里面进行注册 3)supportedMediaTypes增加[text/html;charset=UTF-8]值,是为了兼容IE6 否则[application/json]值在IE6中会导致弹出对话框询问是否保存文件,而firefox等高级浏览器会正常打印json字符串 4)若像下面这样给supportedMediaTypes属性赋两个值[text/html;charset=UTF-8]和[application/json],则[application/json]是无效的 因为此时应答给浏览器(或者说请求方)的Content-Type头信息都是[text/html;charset=UTF-8],所以给它一个值就行了 如果给supportedMediaTypes的值为[application/json],则应答给浏览器的Content-Type头信息就是[application/json;charset=UTF-8] 5)关于features属性,不是serializerFeature,而是features,详见FastJsonHttpMessageConverter.java 它是用来控制json序列化输出时的一些额外属性,比如说该字段是否输出、输出时key使用单引号还是双引号、key不使用任何引号等等 QuoteFieldNames===========输出key时是否使用双引号,默认为true WriteMapNullValue=========是否输出值为null的字段,默认为false WriteNullNumberAsZero=====数值字段如果为null,输出为0,而非null WriteNullListAsEmpty======List字段如果为null,输出为[],而非null WriteNullStringAsEmpty====字符类型字段如果为null,输出为"",而非null WriteNullBooleanAsFalse==Boolean字段如果为null,输出为false,而非null 6)通常在网上搜到的fastjson和springMVC整合的例子中都像下面注释的代码那样给了两个属性WriteMapNullValue和QuoteFieldNames 这就表示为json解析器设置QuoteFieldNames和WriteMapNullValue的值为true,即输出时key使用双引号,同时也输出值为null的字段 7)输出时某字段为String类型,且值为null,此时若需要其输出,且输出值为空字符串,则需同时赋值WriteMapNullValue和WriteNullStringAsEmpty 经测试,若只赋值WriteNullStringAsEmpty,则不会输出该字段..加上WriteMapNullValue属性后,便输出了,且输出值不是null,而是预期的空字符串 --> <!-- <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> <value>application/json</value> </list> </property> <property name="serializerFeature"> <array> <value>QuoteFieldNames</value> <value>WriteMapNullValue</value> </array> </property> </bean> </list> </property> </bean> --> <!-- <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"> <property name="supportedMediaTypes" value="text/html;charset=UTF-8"/> </bean> </list> </property> </bean> -->
4.applicationContext.xml配置
<context:annotation-config/>
相关推荐
在IT行业中,SpringMVC、Fastjson和Swagger是三个非常重要的技术组件,它们分别用于构建Web应用程序、数据序列化和API文档化。本示例源码整合了这三个工具,为开发者提供了一个高效、易用的开发环境。让我们深入探讨...
本文将详细介绍如何在Spring MVC项目中整合FastJson,实现RESTful风格的API。 首先,我们需要在项目中引入Spring MVC和FastJson的相关依赖。在Maven的pom.xml文件中添加以下依赖: ```xml <groupId>org.spring...
本教程将详细介绍如何在Spring MVC项目中整合FastJson,以便实现RESTful风格的API。 首先,理解RESTful风格的API至关重要。REST(Representational State Transfer,表述性状态转移)是一种网络应用程序的设计风格...
spring springmvc mybatis的整合jar包,以及mysql,Junit,fastJson等的jar包,导入这些jar包 搭一个SSM的环境,可以使用SSM框架做一个简单的能够实现增删改查的小项目,具体的jar包及其版本如下 : aopalliance-1.0....
1.SpringMVC4.3.16,Mybatis3.2.2,Spring4.3.16三大框架的整合; 2、项目基于Maven做依赖管理 3、前端框架集成了Bootstrap3.3.5,Jquery1.12.3,集成了Bootstrap插件Bootgrid数据表格实现分页,使用Bootstrap的...
标题中的"jar包整合:Springmvc+hibernate+Ehcache+shiro+mysql+Oracle+fastjson"指的是一个综合性的Java项目,它集成了多种技术框架,用于构建高效、可扩展的Web应用。让我们逐一解析这些技术的核心知识点: 1. **...
1.SpringMVC4.3.16,Mybatis3.2.2,Spring4.3.16三大框架的整合; 2、项目基于Maven做依赖管理 3、前端框架集成了Bootstrap3.3.5,Jquery1.12.3,集成了Bootstrap插件Bootgrid数据表格实现分页,使用Bootstrap的...
整合FastJson对指定http类型的数据进行转换 整合hibernate.validator校验器对controller接口参数进行校验 使用了springmvc统一异常处理 使用了FormattingConversionServiceFactoryBean对于传入参数中日期或数字字符...
《SpringMVC与JSON库的整合详解》 在现代Web开发中,SpringMVC作为一款强大的MVC框架,被广泛应用于构建企业级的Java应用程序。而JSON作为一种轻量级的数据交换格式,因其易于人阅读和编写,同时也易于机器解析和...
6. **整合过程**:整合这些组件通常涉及以下步骤:配置Spring的ApplicationContext,定义数据源和事务管理器,配置SpringMVC的DispatcherServlet,设置视图解析器,添加JSON解析器的配置,最后在MySQL中创建相应的...
5. **其他依赖**:例如log4j或slf4j的日志框架,还有可能需要的json解析库(如fastjson、Jackson或Gson),以及对于其他服务的支持(比如邮件服务、任务调度等)。 在实际项目中,这些jar包通常会被组织在一个名为...
综上所述,`Hibernate Validator`、`SpringMVC`和`Fastjson`的整合使用能够帮助我们构建出高效、健壮的Web应用,确保数据的准确性和安全性。在实际开发中,理解并熟练运用这些工具将大大提高开发效率和代码质量。
简单后台管理系统 基于maven管理,整合最新spring mvc 4.3.3.RELEASE版整合了mybatis 3.4.1,涵盖了目前互联网web系统最流行的组件,log4j2日志、freemarker模板、protostuff序列化、fastjson、redis、spring-data-...
SSM框架整合指的是Spring、SpringMVC和MyBatis三个开源框架的集成,这在Java Web开发中是非常常见的一种架构模式。Spring作为一个全面的后端服务管理框架,提供了依赖注入和事务管理等功能;SpringMVC作为Spring的...
"spring整合mybatis-jar包"是指将轻量级持久层框架MyBatis与Spring框架结合使用。Spring通过其强大的依赖注入(DI)功能,可以将MyBatis的SqlSessionFactory或SqlSessionTemplate注入到DAO层,简化数据库操作。这样...
SSM框架整合是Java开发中常见的技术组合,主要包括Spring、SpringMVC和MyBatis三个核心组件。这些jar包的整合使得开发者能够充分利用各框架的优势,实现高效、灵活的业务逻辑处理。以下将详细讲解这三个框架及其相关...
通过整合这些库,开发者可以快速构建出一个功能完善的Java Web应用,能够方便地处理数据、与数据库交互,并提供良好的前端交互体验。这个"ssm +poi + json 整合jar包"就是将这些组件打包在一起,便于开发者直接引入...