MVC概念
MVC是一种架构模式,model↔controller↔view,model与view之间不能互相访问。
SpringMVC是Spring体系下的轻量级WebMVC框架,核心是controller控制器,用于处理请求,产生响应,mvc下视图不能直接访问后台模型,利于解耦与维护,mvc基于SpringIOC容器,所有对象被IOC管理。
SpringMVC的执行流程
客户端请求——DispatcherServlet通过url寻找controller——DispatcherServlet将该controller实例化——HandleApacher(适配器实现者)调用HttpMessageConverter对请求进行详解——向Dispatcher返回一个ModelAndView对象——DispatcherServlet根据该ModelAndView选择不同的视图解析器——结合数据与模板将生成的html返回给浏览器。
REST
REST:表现层状态转换,是一种理念;
RESTFUL:基于REST理念的一套开发风格,是具体的开发规则。
传统的mvc将返回的结果以JSP渲染,但这个过程不适合用于APP,故可用RESTFUL开发风格,返回的只有数据,与渲染等表现无关。
RESTFUL开发规范:
- 使用url为用户交互入口(URL具有语义,使用名词,区分单复数,扁平化即不超过两次)
- 明确的语义规范(GET/POST/PUT/DELETE)
- 只返回数据