我们在本示例中,使用Spring3.0 MVC, Spring 3.0 MVC已经支持JSON了。
这里我们使用基于注解的方式,也是springMVC 3.0所支持的RESTFul风格的。
1.Spring MVC处理json数据时,所必须的jackson依赖,这里以maven构建为例:
- <dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-core-asl</artifactId>
- <version>1.8.4</version>
- </dependency>
- <dependency>
- <groupId>org.codehaus.jackson</groupId>
- <artifactId>jackson-mapper-asl</artifactId>
- <version>1.8.4</version>
- </dependency>
2.在spring mvc的配置文件中加入配置
- <context:component-scan base-package="com.hundsun.twioo.business.action" />
- <bean class="org.springframework.web.servlet.mvc.annotation.
- DefaultAnnotationHandlerMapping" />
- <bean class="org.springframework.web.servlet.mvc.annotation.
- AnnotationMethodHandlerAdapter" >
- <property name="messageConverters">
- <util:list id="beanList">
- <ref bean="mappingJacksonHttpMessageConverter"/>
- </util:list>
- </property>
- </bean>
- <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.
- http.converter.json.MappingJacksonHttpMessageConverter">
- <property name="supportedMediaTypes">
- <list>
- <value>text/html;charset=UTF-8</value>
- </list>
- </property>
- </bean>
- <context:annotation-config/>
注意:org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter的Bean配置中,我们加入了messageConverters属性,在该属性中我们有配置mappingJacksonHttpMessageConverter这个Bean,它就是用来处理json数据转换的。
在mappingJacksonHttpMessageConverter的Bean配置中,我们有一个supportedMediaTypes属性,在这个属性
中我们添加了text/html;charset=UTF-8这个值,它是为了处理返回的json数据的编码,默认是ISO-88859-1的,这里我们把它设置为UTF-8,如果有乱码的情况,我们只需要修改这里就可以了。
3.控制器Controller上的注解使用
- @Controller
- @RequestMapping("/logins")
- public class LoginController {
- @Autowired
- private LoginManagerService loginManagerService;
- @Autowired
- private PermitManagerService permitManagerService;
- private Logger log = Logger.getLogger(LoginController.class);
- /**
- * 用户登录系统
- * @return
- */
- @RequestMapping(value="/login")
- public ModelAndView login(HttpServletRequest request,HttpSession session){
- User user = null;
- List<Module> moduleList = null;
- try {
- //TwiooID
- Integer twiooId = ServletRequestUtils.getIntParameter(request, "twiooId");
- //群ID
- Integer groupId = ServletRequestUtils.getIntParameter(request, "groupId");
- user = loginManagerService.login(twiooId, 3);
- if(null != user){
- moduleList = permitManagerService.findPermit(user.getId());
- }
- session.setAttribute("user", user);
- session.setAttribute("permit", moduleList);
- session.setAttribute("twiooId", twiooId);
- session.setAttribute("groupId", groupId);
- } catch (Exception e) {
- e.printStackTrace();
- log.error("LoginController.login() execute error!!!");
- }
- System.out.println("login...................");
- return new ModelAndView("index");
- }
- /**
- * 用户退出系统
- * @return
- */
- @RequestMapping(value="/exit")
- public ModelAndView exit(HttpServletRequest request,HttpSession session){
- session.removeAttribute("user");
- session.removeAttribute("permit");
- session.removeAttribute("twiooId");
- session.removeAttribute("twiooId");
- System.out.println("exit....................");
- return new ModelAndView("index");
- }
- /**
- * 测试返回JSON数据
- * @param session
- * @return
- */
- @RequestMapping(value="/test")
- @ResponseBody
- public Object test(HttpSession session){
- System.out.println("test....................");
- return session.getAttribute("permit");
- }
- public LoginManagerService getLoginManagerService() {
- return loginManagerService;
- }
- public void setLoginManagerService(LoginManagerService loginManagerService) {
- this.loginManagerService = loginManagerService;
- }
- public PermitManagerService getPermitManagerService() {
- return permitManagerService;
- }
- public void setPermitManagerService(PermitManagerService permitManagerService) {
- this.permitManagerService = permitManagerService;
- }
- }
注意:test()方法上,我们使用了一个@ResponseBody的注解,Spring3.0 MVC @ResponseBody的作用是把返回值直接写到HTTP response body里。 test()这个方法就是我们这里关注的地方,它就是返回json数据到客户端去的。还要注意,这个test()方法返回的是Object(这里可以是任意类型),而不ModelAndView。
相关推荐
Spring MVC返回JSON数据 用到的jar包,主要是jackson-all-1.9.0.jar,jackson-all-1.9.9.jar,jackson-all-1.9.11.jar三个包
NULL 博文链接:https://coocaobo.iteye.com/blog/2410629
本篇文章主要介绍了Spring MVC3返回JSON数据中文乱码问题解决,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
最近在整spring mvc 返回json的配置,网上搜集整理了一下,觉得蛮有用的就共享出来,三个必备json包并附spring mvc 返回json的配置,此包有两个版本json包,一个2.6一个2.2
工程文件 博文链接:https://starscream.iteye.com/blog/1067606
总有4个包 jackson-core-asl-1.9.13.jar jackson-core-lgpl-1.9.13 jackson-mapper-asl-1.9.13 jackson-mapper-lgpl-1.9.13
这是结合博客的源码,链接是:http://blog.csdn.net/u012660464/article/details/53463708 。名为:使用Spring MVC生成Json数据,我们后台开发生成了Json数据后可以供前端进行异步调用。
1.创建第一个 Spring MVC 程序案例 2.Spring MVC @RequestMapping 注解案例 ...12.Spring MVC 实现 JSON 数据返回案例 13.Spring MVC 文件的上传与下载案例 14.Spring MVC 拦截器案例 15.Spring MVC 异常处理案例
在本示例中,我们将向您展示如何将对象转换成json格式并通过spring mvc框架返回给用户。 使用技术及环境: Spring 3.2.2.RELEASE Jackson 1.9.10 JDK 1.6 Eclipse 3.6 Maven 3 PS:在spring 3 中,要输出json...
spring mvc 常用开发框架 jar包 提高开发效率 降低开发难度
本资源是SpringMVC返回JSON数据的相关Jar包,结合我的博客教程可以完成与EasyUI DataGrid之间的数据交互。
spring mvc 返回json 接口 完整demo
spring mvc拦截器,过滤json数据中的null值,将null变成空字符串,内含截图,及jar包
spring mvc生成xml或json
该项目在以前的基础上整合了json的使用
本例子用到Spring MVC , Jdbc, JSon, Gson 等等技术,Spring Servlet 配置,Spring中ClassPathXmlApplicationContext类的简单使用,Jdbc的配置与数据库的读取,List与json的转换,java对象使⽤Gson转json字符串null...
现在很多应用都不是直接连接数据库,而是通过访问http的形式获取Json格式的数据,然后进行处理。本文从搭建返回Json格式数据的服务器出发,到最后如何在安卓应用读取网络上Json数据一一详细介绍。
NULL 博文链接:https://gaojiewyh.iteye.com/blog/1754619
最近使用ajax接收spring mvc传过来的json数据时总是出现parseerror的错误,下面通过本文给大家分享spring mvc 返回json数据到ajax报错parseerror问题的解决方法,需要的朋友参考下吧
spring4 mvc 配置json 所需要的依赖jar包很全