2.3 Spring MVC 1-0-1
在Spring MVC中,模型是由Spring MVC的Model或ModelAndView封装的简单Map。它可以来源于数据库、文件、外部服务等,这取决于你如何获取数据并将其放到模型中。与数据层进行交互的推荐方式是使用Spring Data库:Spring Data JPA、Spring Data MongoDB等。
Spring MVC的控制层是通过使用@Controller注解来进行处理的。在Web应用中,控制器的角色是响应HTTP请求。带有@Controller注解的类将会被Spring检索到,并且能够有机会处理传入的请求。
通过使用@RequestMapping注解,控制器能够声明它们会根据HTTP方法(如GET或POST方法)和URL来处理特定的请求。控制器就可以确定是在Web响应中直接写入内容,还是将应用路由一个视图并将属性注入到该视图中。
纯粹的RESTful应用将会选择第一种方式,并且会在HTTP响应中直接暴露模型的JSON或XML表述,这需要用到@ResponseBody注解。在Web应用中,这种类型的架构通常会与前端JavaScript框架关联,如Backbone.js、AngularJS或React。在这种场景中,Spring应用只需处理MVC中的模型层。我们将会在第4章中学习这种架构。
在第二种方式中,模型会传递到视图中,视图会由模板引擎进行渲染,并写入到响应之中。
视图通常会与某种模板方言关联,这种模板允许遍历模型中的内容,流行的模板方言包括JSP、FreeMarker或Thymeleaf。
混合式的方式则会在某些方面采用模板引擎与应用进行交互,并将视图层委托给前端框架。
时间: 2024-11-02 03:22:17