《精通Spring MVC 4》——2.3 Spring MVC 1-0-1

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

《精通Spring MVC 4》——2.3 Spring MVC 1-0-1的相关文章

Spring Boot——2分钟构建spring web mvc REST风格HelloWorld

Spring Boot--2分钟构建spring web mvc REST风格HelloWorld 之前有一篇<5分钟构建spring web mvc REST风格HelloWorld>介绍了普通方式开发spring web mvc web service.接下来看看使用spring boot如何快速构建一个.   Spring Boot使我们更容易去创建基于Spring的独立和产品级的可以"即时运行"的应用和服务.支持约定大于配置,目的是尽可能快地构建和运行Spring应

spring mvc能否实现类似.net mvc的分部视图

问题描述 spring mvc能否实现类似.net mvc的分部视图 之前用.net做了个小项目,直接在controller renturn partialview蛮好用的, spring mvc能做到类似的东西吗?用div query load是一个解决办法, 但是前端代码写起来比较麻烦

Spring入门指引之理解Spring的打包方式

打包 获取Spring发布包之后,你或许会惊讶的发现:Spring开发小组并没有用单个JAR文件来包含所有代码,而是选择建立包含有完整发布的单个JAR和8个独立JAR文件来包含对应的Spring组件.未来版本的组件JAR文件数量很可能会有所增加,可令你更加自如的选择自己的代码要包含的特性. 完整发布包 所有发布版本都提供spring.jar文件,它差不多包含Spring framework类的完整发布包.之所以说"差不多"是因为它实际上并未包含任何mock类,这些类随Spring一起发

Spring入门指引:理解Spring的打包方式

打包 获取Spring发布包之后,你或许会惊讶的发现:Spring开发小组并没有用单个JAR文件来包含所有代码,而是选择建立包含有完整发布的单个JAR和8个独立JAR文件来包含对应的Spring组件.未来版本的组件JAR文件数量很可能会有所增加,可令你更加自如的选择自己的代码要包含的特性. 完整发布包 所有发布版本都提供spring.jar文件,它差不多包含Spring framework类的完整发布包.之所以说"差不多"是因为它实际上并未包含任何mock类,这些类随Spring一起发

spring入门(5) spring中遍历各种集合

spring-collection.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://

MVC系列(9) MVC如何在Pipeline中接管请求的

上个章节我们讲到了,可以在HttpModules初始化之前动态添加Route的方式来自定义自己的HttpHandler,最终接管请求的,那MVC是这么实现的么?本章节我们就来分析一下相关的MVC源码来验证一下我们的这个问题. 先创建一个MVC3的Web Application,选择默认的模板以便创建以后就默认包含HomeController和AccountController.我们知道MVC要先接管请求才能通过这些Controller来处理,那我们先去Global.asax.cs文件里看代码(定

Spring学习(一)Spring概述

现在很多的企业级项目中基本上都会用到了Spring框架,那么为什么会出现Spring,Spring是什么?这次的博文我主要为大家简单介绍一下Spring. Java EE优缺点 我们都知道在2003年Spring兴起之前,企业普遍使用J2EE技术来开发企业级应用,为什么用J2EE呢?主要原因有以下几个: 1.Java本身的跨平台能力,可移植性强 2.J2EE服务器内置了大量的容器服务,比如事务服务.JNDI服务和连接池服务等等 3.程序员可以基于Java EE API进行企业开发并部署到应用中

Spring源代码解析(三):Spring JDBC

下面我们看看Spring JDBC相关的实现, 在Spring中,JdbcTemplate是经常被使用的类来帮助用户程序操作数据库,在 JdbcTemplate为用户程序提供了许多便利的数据库操作方法,比如查询,更新等,而且在 Spring中,有许多类似 JdbcTemplate的模板,比如HibernateTemplate等等 - 看来这是 Rod.Johnson的惯用手法,一般而言这种Template中都是通过回调函数CallBack类的使用 来完成功能的,客户需要在回调接口中实现自己需要的

spring,数据符,spring+mybatis

问题描述 spring,数据符,spring+mybatis 利用spring+mybatis怎样写一个应用数据符呢?还是通用的那种,还有,应用数据符是什么?有什么用?如何去用呢?大神们,求帮忙!快快快...感激不尽! 解决方案 MyBatis数据持久化(十)与Spring4整合

Spring实时统计与监控Spring-Dashboard及Spring集群Terracotta for Spring

http://yulimin.javaeye.com/blog/32531 关键字: Spring   Spring Cluster 集群 Dashboard 实时统计 监控Spring实时统计与监控Spring-Dashboard及Spring集群Terracotta for Spring 1.Spring实时统计与监控Spring-Dashboard http://www.spacebug.com/projects_spring-dashboard.html Spring-Dashboard