应用系统三层架构:
C/S:客户端/服务器
B/S:浏览器/服务器
标准分层:
表现层:WEB 层,接受结果,响应结果,分发请求;通常客户端使用 http 协议请求 web 层,web 层需要接受 http 请求,完成 http 响应。
表现层设计一般采用MVC 模型(MVC模型和其他层没关系)
业务层:Service 层,负责业务逻辑处理,web 层依赖业务层,业务层不依赖 web 层;
业务层可能会依赖持久层,如果要对数据持久话需要保持事务一致性(事务应该发给到业务层控制)。
持久层:dao 层,负责数据持久化,包括数据库和数据访问层;
数据库是对数据持久化的载体,而数据访问层则是业务层和持久层的交互接口,业务层需要通过持久层将数据持久化到数据库中。
通常来说,持久层就是与数据库的交互,对数据库进行 CRUD 操作。

MVC 设计模式
MVC 是 模型(Model)- 视图(View)- 控制器(Controller)的缩写,是用于编写设计 web 应用程序表现层的模式。
model(模型):模型包含业务模型和数据模型,数据模型用于封装数据,业务模型用于处理业务。
View (视图):通常指 JSP 或者 html
Controller(控制器):处理用户交互,也就是处理程序逻辑。

SpringMVC 是什么?
SpringMVC 是一种基于 MVC 设计模型的请求驱动类型的轻量级 WEB 框架。属于 SpringFrameWork 的后续产品,Spring 框架提供了构建 WEB 应用程序的全功能 MVC 模块。
SpringMVC 提供了对 RESTful 编程风格的请求

SpringMVC 三大组件:
HandlerMapping : 处理器映射器
负责根据用户的请求找到 Handler 即处理,SPringMvc 提供了不同的映射器实现不同的映射方式,例如 配置文件方式,实现接口方式,注解方式等
HandlerAdapter : 处理器适配器
通过 HandlerAdapter 对处理器 进行执行,这是适配器模式的引用,通过扩展适配器可以对更多类型的处理器进行执行。
ViewResolver : 视图解析器
负责将处理结果生成 View 视图,View Resolver 首先根据逻辑视图名解析成物理视图名即具体的页面地址,再生成 View 视图对象,最后对 View 进行渲染处理结果通过页面展示给用户。

SpringMVC 理论的更多相关文章

  1. SpringMVC 理论与有用技术(一) 简单、有用、易懂的几个实例

    SpringMVC先来看一下百度百科中的定义; Spring MVC属于SpringFrameWork的兴许产品,已经融合在Spring Web Flow里面.Spring 框架提供了构建 Web 应 ...

  2. SpringMVC 理论与有用技术(二)文件上传

    文件上传相信大家都做过,差点儿全部的项目都有上传文件的功能,尤其是BS架构的项目中经常被列为常规功能来开发.不管是在开发.NET 项目还是java项目我们会用到非常多的框架,这个功能也被集成到了框架之 ...

  3. Java高并发秒杀API之web层

    第1章 设计Restful接口 1.1前端交互流程设计 1.2 学习Restful接口设计 什么是Restful?它就是一种优雅的URI表述方式,用来设计我们资源的访问URL.通过这个URL的设计,我 ...

  4. 一篇SSM框架整合友好的文章(三)

    ###一.SpringMVC理论 它始终是围绕 handler. 数据模型 model. 页面view进行开发的. 运行流程图: 通过mvc配置文件,配置"中央处理器"dispat ...

  5. Java SSM框架理论知识

    一.Spring理论知识 1.Spring 在ssm中起什么作用? Spring:轻量级框架 作用:Bean工厂,用来管理Bean的生命周期和框架集成. 两大核心:1.IOC/DI(控制反转/依赖注入 ...

  6. springmvc学习笔记(理论)

    1.springmvc是什么? Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层 进行职责解耦,基 ...

  7. SpringMVC的理论

    围绕Handler开发 数据Model 页面View SpringMVC的运行流程: 1.用户发送一个请求,所有的请求都会映射到DispatcherServlet(中央控制器的servlet,该ser ...

  8. Dubbo与Zookeeper、SpringMVC整合与使用(干货-理论放一遍。。。还未完结!)

    Dubbo跟Zookeeper的简介分享两个不错的链接: Dubbo简介:http://shiyanjun.cn/archives/325.html Zookeeper简介:http://www.op ...

  9. SpringMVC一路总结(一)

    SpringMVC听闻已久,早在去年就被学长问到关于SpringMVC的基础知识,当时也没在意.主要是工作中也没有用到关于SpringMVC的技术,因此免于没有时间和精力的借口就没有接触和学习Spri ...

随机推荐

  1. JavaScript获取数组索引

    JavaScript获取数组索引: <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...

  2. 深入SpringBoot注解原理及使用

    首先,先看SpringBoot的主配置类: @SpringBootApplication public class StartEurekaApplication { public static voi ...

  3. java 使用POI导出百万级数据

    先看结果吧,这只是测试其中有很多因数影响了性能. 表总数为:7千多万,测试导出100万 表字段有17个字段 最终excel大小有60多兆 总耗时:126165毫秒 差不多2分多钟 其核心简单来说就是分 ...

  4. Delphi 重载方法与重定义方法

  5. 高级IO——文件锁

    文件锁也被称为记录所,文件锁如果深讲的话,内容不少(比如文件锁最起码分为了建议锁和强制性锁,暂时挖坑,后面填). 文件锁作用 顾名思义,就是用来保护文件数据的.当多个进程共享读写同一个文件时,为了不让 ...

  6. C# TabControl 带删除

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostic ...

  7. SQL SERVER 常用函数 学习笔记

    1.字符串截取.字符串转数字 --Server.8.30 select SUBSTRING('SqlServer_2008',4,6) as DB, CONVERT(float,SUBSTRING(' ...

  8. 关于pycharm database查看db.sqlites文件提示:Driver class 'org.sqlite.JDBC' not found

    系统重新安装后,启动pycharm存在各种问题,其中一个问题就是在Pycharm中的database里面不能查看sqlite数据库了: 经过一番查找终于找到了问题: 首先问题 是提示这样一个报错: 解 ...

  9. windows下虚拟python环境

    Windows虚拟环境 cd %HOMEDRIVE%%HOMEPATH%\Desktop python3  -m  venv venv 环境变量修改脚本bat,把脚本放到%HOMEDRIVE%%HOM ...

  10. Spring实战(第4版)

    第1部分 Spring的核心 Spring的两个核心:依赖注入(dependency injection,DI)和面向切面编程(aspec-oriented programming,AOP) POJO ...