SpringMVC(十三):SpringMVC 与fastjson集成
1)fastjson jar包下载地址:https://sourceforge.net/projects/fastjson/
下载完成后需要把jar包拷贝到WEB-INF/lib文件夹中。
2)使用pom.xml配置:
如果你使用了Maven,maven repository配置如下:
- <repository>
- <id>opensesame</id>
- <name>Alibaba OpenSource Repsoitory</name>
- <url>http://code.alibabatech.com/mvn/releases/</url>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
pom.xml文件中加入依赖依赖:
- <dependency>
- <groupId>com.alibaba</groupId>
- <artifactId>fastjson</artifactId>
- <version>1.1.34</version>
- </dependency>
使用springmvc的情况下,需要在springmvc.xml中添加配置信息:
- <!-- 基于Annotation的映射方式 -->
- <mvc:annotation-driven >
- <mvc:message-converters register-defaults="true">
- <bean class="org.springframework.http.converter.StringHttpMessageConverter">
- <constructor-arg value="UTF-8" />
- </bean>
- <!-- <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
- <property name="supportedMediaTypes">
- <list>
- <value>text/html;charset=UTF-8</value>
- </list>
- </property>
- </bean> -->
- <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
- <property name="supportedMediaTypes" value="text/html;charset=UTF-8"/>
- <property name="features">
- <array>
- <value>WriteMapNullValue</value>
- <value>WriteNullStringAsEmpty</value>
- </array>
- </property>
- </bean>
- </mvc:message-converters>
- </mvc:annotation-driven>
测试类:
- public class User {
- private Long id;
- private String name;
- public Long getId() { return id; }
- public void setId(Long id) { this.id = id; }
- public String getName() { return name; }
- public void setName(String name) { this.name = name; }
- }
- public class Group {
- private Long id;
- private String name;
- private List<User> users = new ArrayList<User>();
- public Long getId() { return id; }
- public void setId(Long id) { this.id = id; }
- public String getName() { return name; }
- public void setName(String name) { this.name = name; }
- public List<User> getUsers() { return users; }
- public void setUsers(List<User> users) { this.users = users; }
- }
- import com.alibaba.fastjson.JSON;
- Group group = new Group();
- group.setId(0L);
- group.setName("admin");
- User guestUser = new User();
- guestUser.setId(2L);
- guestUser.setName("guest");
- User rootUser = new User();
- rootUser.setId(3L);
- rootUser.setName("root");
- group.getUsers().add(guestUser);
- group.getUsers().add(rootUser);
- String jsonString = JSON.toJSONString(group);
- System.out.println(jsonString);
- Group group2 = JSON.parseObject(jsonString, Group.class);
SpringMVC中使用:
- package com.dx.springlearn.hanlders;
- import java.io.IOException;
- import java.io.PrintWriter;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
- import java.util.Map;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import com.alibaba.fastjson.JSON;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.ModelAttribute;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.RequestParam;
- import org.springframework.web.servlet.ModelAndView;
- import com.dx.springlearn.entities.Account;
- import com.dx.springlearn.entities.WSUserInfo;
- @Controller
- public class TestModelData {
- private final String SUCCESS = "success";
- @RequestMapping(name = "/postUser", method = RequestMethod.POST)
- public void postUser(String openid, String lng, String lat, HttpServletRequest request,
- HttpServletResponse response) {
- System.out.println("post user..." + openid + "," + lat + "," + lng);
- }
- @RequestMapping(name = "/getUserList", method = RequestMethod.GET)
- public void getUserList(String lng, String lat, HttpServletRequest request, HttpServletResponse response) {
- System.out.println("get user list...." + lat + "," + lng);
- List<WSUserInfo> userItems = new ArrayList<>();
- for (int i = 0; i < 10; i++) {
- userItems.add(new WSUserInfo("openid" + i, "120.082" + i, "30.238" + i));
- }
- try {
- //String jsonlist="[{\"openid\":\"openid0\",\"longitude\":\"120.0820\",\"latitude\":\"30.2380\"},{\"openid\":\"openid1\",\"longitude\":\"120.0821\",\"latitude\":\"30.2381\"}]";
- String jsonString = JSON.toJSONString(userItems);
- PrintWriter out = response.getWriter();
- out.print(jsonString);
- out.flush();
- out.close();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
- package com.dx.springlearn.entities;
- public class WSUserInfo {
- private String openid;
- private String longitude;
- private String latitude;
- public WSUserInfo(String openid, String longitude, String latitude) {
- super();
- this.openid = openid;
- this.longitude = longitude;
- this.latitude = latitude;
- }
- public String getOpenid() {
- return openid;
- }
- public void setOpenid(String openid) {
- this.openid = openid;
- }
- public String getLongitude() {
- return longitude;
- }
- public void setLongitude(String longitude) {
- this.longitude = longitude;
- }
- public String getLatitude() {
- return latitude;
- }
- public void setLatitude(String latitude) {
- this.latitude = latitude;
- }
- }
SpringMVC(十三):SpringMVC 与fastjson集成的更多相关文章
- Quartz学习——SSMM(Spring+SpringMVC+Mybatis+Mysql)和Quartz集成详解(四)
当任何时候觉你得难受了,其实你的大脑是在进化,当任何时候你觉得轻松,其实都在使用以前的坏习惯. 通过前面的学习,你可能大致了解了Quartz,本篇博文为你打开学习SSMM+Quartz的旅程!欢迎上车 ...
- Quartz学习——SSMM(Spring+SpringMVC+Mybatis+Mysql)和Quartz集成详解(转)
通过前面的学习,你可能大致了解了Quartz,本篇博文为你打开学习SSMM+Quartz的旅程!欢迎上车,开始美好的旅程! 本篇是在SSM框架基础上进行的. 参考文章: 1.Quartz学习——Qua ...
- (转) Quartz学习——SSMM(Spring+SpringMVC+Mybatis+Mysql)和Quartz集成详解(四)
http://blog.csdn.net/u010648555/article/details/60767633 当任何时候觉你得难受了,其实你的大脑是在进化,当任何时候你觉得轻松,其实都在使用以前的 ...
- Java开发学习(二十三)----SpringMVC入门案例、工作流程解析及设置bean加载控制
一.SpringMVC概述 SpringMVC是隶属于Spring框架的一部分,主要是用来进行Web开发,是对Servlet进行了封装.SpringMVC是处于Web层的框架,所以其主要的作用就是用来 ...
- 【SSM框架】Spring + Springmvc + Mybatis 基本框架搭建集成教程
本文将讲解SSM框架的基本搭建集成,并有一个简单demo案例 说明:1.本文暂未使用maven集成,jar包需要手动导入. 2.本文为基础教程,大神切勿见笑. 3.如果对您学习有帮助,欢迎各种转载,注 ...
- springmvc+spring+mybatis+maven项目集成shiro进行用户权限控制【转】
项目结构: 1.maven项目的pom中引入shiro所需的jar包依赖关系 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ...
- SSM框架搭建(Spring+SpringMVC+MyBatis)与easyui集成并实现增删改查实现
一.用myEclipse初始化Web项目 新建一个web project: 二.创建包 controller //控制类 service //服务接口 service.impl //服务 ...
- Springmvc使用阿里巴巴的fastjson传输到前台中文乱码的解决方案,他娘的大家都少制造垃圾,学习过程将会多么快乐
弄了大概七八个小时吧 都他妈比的抄来抄去,一分一秒的去试错 最终参考这个问题解决了乱码的情况https://bbs.csdn.net/topics/392169549 412 需要在springmvc ...
- Spring+SpringMVC+MyBatis深入学习及搭建(十三)——SpringMVC入门程序(二)
1.非注解的处理器映射器和适配器 1.1非注解的处理器映射器 前面我们配置的org.springframework.web.servlet.handler.BeanNameUrlHandlerMapp ...
随机推荐
- 【前端】input radio多选事件获取所有选中的id,radio样式优化可修改
$("#all_button").on('click', function() { obj = document.getElementsByClassName("inpu ...
- linux性能调试之vmstat
linux性能监控调优工具vmstat: vmstat:用于监控.显示系统运行过程中的虚拟内存/CPU/磁盘状态. 简单示例(时间间隔2s,监控2次): 重要字段解释: r 表示运行队列(等待运行的进 ...
- Flyway--数据库版本管理和控制工具
1. Flyway 的主要任务是管理数据库的版本更新,在Flyway 中称每次数据库更新为一个migration ,为了更顺口,我们下面称之为数据库脚本.Flyway 支持SQL-based migr ...
- 用js写的时钟Demo
css代码: <style type="text/css"> .a { width: 200px; height: 100px; position: absolute; ...
- Markdown 语法手册 (完整整理版)
http://blog.csdn.net/witnessai1/article/details/52551362
- diy51单片机最小系统------从零件到51整体测试成功小白篇
前言 因为现在网上资料很多,但是很多博主水平不一样,有很多时候,自己在网上找了很多资料,因为自己智商不够,有时候感觉很多关键性的东西没说清楚,导致解决不了问题.那现在就从一个小白的角度来记录自己做过的 ...
- Axure RP初学2
- 20162320刘先润第三周Bag类测试
前言 以下内容是本周Bag代码的课后作业,要求是完成伪代码.产品代码和测试代码,为了书写方便我将伪代码以注释的形式写在了产品代码的后面 测试步骤 1.首先对Bag类引用BagInterface的代码进 ...
- Java中三种比较常见的数组排序
我们学习数组比较常用的数组排序算法不是为了在工作中使用(这三个算法性能不高),而是为了练习for循环和数组.因为在工作中Java API提供了现成的优化的排序方法,效率很高,以后工作中直接使用即可 . ...
- [USACO13JAN] Seating
https://www.luogu.org/problem/show?pid=3071 题目描述 To earn some extra money, the cows have opened a re ...