应用系统三层架构:
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. Django rest-framework框架-CBV原理

    jdango中间件:class Test(View): def dispatch(self, request, *args, **kwargs): #第一种方法 func = getattr(self ...

  2. 在Pytorch上使用稀疏矩阵

    在Pytorch上使用稀疏矩阵 最近在写一个NLP的小项目,用到了Pytorch做神经网络模型.但是众所周知NLP的一个特点就是特征矩阵是稀疏矩阵,当时处理稀疏矩阵用的是scipy.sparse,现在 ...

  3. 微信小程序登录获取手机号

    一,发送请求携带 code 到后台换取 openid var that = this; wx.login({ success(res) { console.log(res); var code = r ...

  4. JAVA对ArrayList排序

    ava如何对ArrayList中对象按照该对象某属性排序 增加排序功能,打印时:输出学生对象的时候,需要先按照年龄排序,如果年龄相同,则按照姓名排序,如果姓名也相同,则按照学号排序. Code hig ...

  5. adb实操

    一.命令 adb connect IP:5555 adb disconnect IP:5555 adb remount adb install 安装包的绝对路径 二.获取logcat信息 1.制作文件 ...

  6. AS中Git操作和Git工作流

    查阅并学习安卓中如何使用Git,并扩展学了下Gitflow工作流程,以下是我觉得有用,系统,详细的相关文章. AS中Git操作系列 https://www.jianshu.com/p/0cc226ee ...

  7. pip install win32api报错解决方法

    在安装pywinauto模块,导入模块后,提示缺少:win32api 但是在使用pip install安装win32api后,居然报错 错误信息如下: Could not find a version ...

  8. <meta http-equiv="X-UA-Compatible" content="IE=edge">详解

    X-UA-Compatible是针对IE8新加的一个设置,对于IE8之外的浏览器是不识别的. 这个区别与content="IE=7"在无论页面是否包含<!DOCTYPE> ...

  9. RNN基础

    RNN之所以称为循环神经网路,即一个序列当前的输出与前面的输出也有关.具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再无连接而是有连接的,并且隐藏层的输入不仅 ...

  10. C++-cin与scanf cout与printf效率问题

    http://blog.csdn.net/l2580258/article/details/51319387 void cin_read_nosync() { freopen("data.t ...