读书人

spring MVC之回到JSON数据(Spring3.0

发布时间: 2012-11-09 10:18:47 作者: rapoo

spring MVC之返回JSON数据(Spring3.0 MVC)

spring MVC之返回JSON数据(Spring3.0 MVC)

----------

?

我们在本示例中,使用Spring3.0 MVC, Spring 3.0 MVC已经支持JSON了。

这里我们使用基于注解的方式,也是springMVC 3.0所支持的RESTFul风格的。

?

?

?

1.首先加入两个jar依赖,这里以maven构建为例:

@Controller@RequestMapping("/logins")public class LoginController {@Autowiredprivate LoginManagerServiceloginManagerService;@Autowiredprivate 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 {//TwiooIDInteger twiooId = ServletRequestUtils.getIntParameter(request, "twiooId"); //群IDInteger 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")@ResponseBodypublic 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。?

?

?

?

?

1 楼 leasonliang 2012-04-01 老板的文字功底,实在太一般。读得非常费劲。不过,共享就是力量,谢谢 2 楼 take 2012-05-11 看一眼就明白了.

读书人网 >JavaScript

热点推荐