SpringMVC如何区分返回页面和返回数据?@ResponseBody注解

今天面试的时候面试官问了一个问题:SpringMVC如何区分控制器返回的是页面还是数据(比如JSON格式的数据)?一时没想起来怎么回答,回来看了一下自己的代码,原来就是一直在的@ResponseBody注解!回来总结一下。


1.@ResponseBody注解作用

该注解用于将Controller方法返回的对象,通过适当的HttpMessageConverter转化为指定格式后,写入到Response对象的body数据区。

使用时机:返回的数据不是html标签的页面,而是其他某种格式的数据时(如json,xml等)。


2.实例

@Controller  
@RequestMapping("/user")
public class UserController {  
    
	/**
	 * 返回login登陆页面
	 * */
	@RequestMapping(value="/login",method=RequestMethod.GET)  
    public String login(HttpServletRequest request){  
     
        return "login";  
    }  
	
	/**
	 * 返回"loginSuccess"字符串
	 * */
	@RequestMapping(value="/loginSuccess",method=RequestMethod.GET)  
	@ResponseBody
    public String loginSuccess(HttpServletRequest request){  
     
        return "loginSuccess";  
    }  
	
	/**
	 * 返回"loginError"字符串
	 * */
	@RequestMapping(value="/loginError",method=RequestMethod.GET)  
    public @ResponseBody String loginError(HttpServletRequest request){  
     
        return "loginError";  
    }  
}

上面的代码中:

login方法返回login登陆页面

loginSuccess方法返回字符串"loginSuccess"

loginError方法返回字符串"loginError"

三个方法的返回对象都是String类型的,SpringMVC框架是如何区分返回的是页面还是字符串呢?这就是@ResponseBody注解的作用了。


PS:自己经验尚浅,上述如有问题,请各位指教!感谢!!!


  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值