SpringMVC框架是支持前后端结合和前后端分离的,所以你会在框架中看到这两种方式的实现,如果不全面了解SpringMVC的提供的功能,看起源码会很困惑。
使用@Controller注解的时候,就意味着你要使用前后端结合的方式来开发了,这个时候Controller里面的方法返回值有3种:
1、字符串,代表视图名称
2、ModelAndView,需要渲染数据的视图
3、void,通过HttpServetResponse跳转或返回,(转发、重定向、返回)
还有使用@ResponseBody注解的,此注解是使用在方法上的,作用是使方法返回时不走视图解析器,直接将返回值通过相应的转换器写入HTTP相应中。
后来Spring又提供了@RestController,此注解的作用是@Controller和@ResponseBody的结合。