JSON

Spring MVC使用JSON和XML的序列化的例子

字号+ 作者:H5之家 来源:H5之家 2015-10-11 09:25 我要评论( )

介绍本文介绍了在SpringMVC中支持JSON和XML序列化的REST服务的应用程序有两种流行的序列化方法与REST服务、JSON和XML的工作、以下是在Eclipse的ProjectExplorer

Spring MVC使用JSON和XML的序列化的例子_Spring MVC返回Json数据的方法
2014-10-01 19:06:27  By: dwtedx 介绍

本文介绍了在Spring MVC中支持JSON和XML序列化的REST服务的应用程序

有两种流行的序列化方法与REST服务、JSON和XML的工作、以下是在Eclipse的Project Explorer中实例Maven项目

在“com.song.data.model”包实现了MVC应用程序的数据模型;

在“com.song.web.controller.api”包实现了MVC应用程序的控制器;

在“com.song.web.filter.NocacheFilter”类实现一个Servlet过滤器,禁止对网页内容的客户端和代理缓存;

在“index.jsp的”是作为REST服务的测试客户端JSP页面

这个Web应用程序已经在Windows Java1.7 Tomcat 7和Spring4.0.7.RELEASE环境下进行了测试

这个例子的开发环境是Eclipse的Java EE的IDE中的Web开发人员、服务版本2


在“NocacheFilter”的Servlet过滤器

在许多情况下、它是用来关闭浏览器和代理缓存的web应用程序、NocacheFilter类实现一个Servlet过滤器、禁用缓存

package com.song.web.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletResponse; public class NocacheFilter implements Filter { public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletResponse httpResponse = (HttpServletResponse)response; httpResponse.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); httpResponse.setHeader("Pragma", "no-cache"); httpResponse.setDateHeader("Expires", 0); chain.doFilter(request, response); } public void destroy() {} public void init(FilterConfig fConfig) throws ServletException {} }


MVC的控制器

MVC的Controller类“StudentController”被实现为以下几点

package com.song.web.controller.api; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import com.song.data.model.Student; import com.song.data.model.Course; @Controller public class StudentController { @ResponseBody @RequestMapping(value = "/getstudent/{id}/{name}", method = RequestMethod.GET, produces={"application/json", "application/xml"}) public Student getStudent(HttpServletRequest request, HttpServletResponse response, @PathVariable("id") final int id, @PathVariable("name") final String name) { // Create a new student object and return it SimpleDateFormat dateFormatter = new SimpleDateFormat("MM/dd/yyyy"); Student student = new Student(id, name, dateFormatter .format(new Date())); List<Course> cources = student.getCourses(); cources.add(new Course("Math", 15)); cources.add(new Course("Politics", 100)); return student; } @ResponseBody @RequestMapping(value = "/echostudent", method = RequestMethod.POST, produces={"application/json", "application/xml"}, consumes={"application/json", "application/xml"}) public Student echoStudent(@RequestBody Student student, HttpServletRequest request, HttpServletResponse response) { // Just echo the same student back return student; } } 大家可以看到Controller里面的方法是输出Json数据的、那么大家在前台就可以获取使用了

最后给大家献上源代码的下载链接: ?bdkey=s/1gdrbL6r 密码: h4ur

如果大家有问题想要问我的话、可以给我留言

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
网友点评
a