01.springMVC基本概念

springMVC基本概念

一、三层架构简单介绍

JavaEE的开发几乎都是B/S架构:在B/S架构中,系统标准的三层架构为:表现层、业务层、持久层。

1). 表现层(web层)

web层负责接收客户端请求,向客户端响应结果,通常客户端使用http协议请求web层,web需要结构http请求,完成http响应。

  1. 表现层包括:

    1. 控制层:负责接收请求
    2. 展示层:负责结果的展示
  2. 表现层依赖【业务层】

接收到客户端请求一般会调用业务层进行业务处理,并将处理结果响应给客户端。

  1. 表现层的设计一般都使用 MVC 模型【MVC是表现层的设计模型,和其他层没啥关系
    1. M: model,数据模型,封装数据;在JavaEE开发中对应JavaBean
    2. V: View,视图层,展示数据,依据模型数据创建,对应jsp,html
    3. C: Controller,控制器,处理用户交互,处理程序逻辑,对应Servlet

2). 业务层(service层)

负责业务逻辑处理,和开发项目的需求息息相关。web层依赖业务层,但是业务层不依赖web层。业务层在业务处理时可能会依赖持久层,如果要对数据持久化需要保证事务一致性。

3). 持久层(dao层)

负责数据持久化,持久层和数据库交互,对数据库表进行增删改查。一般业务层依赖持久层

二、SpringMVC

SpringMVC 是一种基于Java的实现MVC 设计模型的请求驱动类型的轻量级Web框架,属于Spring FrameWork的后续产品,已经融合在Spring Web Flow 里面。Spring框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用 Spring 进行 WEB 开发时,可以选择使用 Spring的 Spring MVC 框架或集成其他 MVC 开发框架,如Struts2等;SpringMVC 已经成为目前最主流的 MVC 框架之一,并且随着 Spring3.0 的发布,全面超越 Struts2,成为最优秀的 MVC 框架。它通过一套注解,让一个简单的 Java 类成为处理请求的控制器,而无须实现任何接口。同时它还支持RESTful 编程风格的请求


SpringMVC.png

1). SpringMVC的优势

1、 清晰的角色划分

  1. 前端控制器(DispatcherServlet)
  2. 请求到处理器映射(HandlerMapping)
  3. 处理器适配器(HandlerAdapter)
  4. 视图解析器(ViewResolver)
  5. 处理器或页面控制器(Controller)
  6. 验证器( Validator)
  7. 命令对象(Command 请求参数绑定到的对象就叫命令对象)
  8. 表单对象(Form Object 提供给表单展示和提交到的对象就叫表单对象)

2、分工明确,而且扩展点相当灵活,可以很容易扩展,虽然几乎不需要。

3、由于命令对象就是一个 POJO,无需继承框架特定 API,可以使用命令对象直接作为业务对象。

4、和 Spring 其他框架无缝集成,是其它 Web 框架所不具备的。

5、可适配,通过 HandlerAdapter 可以支持任意的类作为处理器。

6、可定制性,HandlerMapping、ViewResolver 等能够非常简单的定制。

7、功能强大的数据验证、格式化、绑定机制。

8、利用 Spring 提供的 Mock 对象能够非常简单的进行 Web 层单元测试。

9、本地化、主题的解析的支持,使我们更容易进行国际化和主题的切换。

10、强大的 JSP 标签库,使 JSP 编写更容易。

………………还有比如RESTful风格的支持、简单的文件上传、约定大于配置的契约式编程支持、基于注解的零配置支持等等。

2). SpringMVC VS Struts2【!

1.共同点

  1. 都是表现层框架,都是基于MVC模型编写的
  2. 底层都离不开原始的ServletAPI
  3. 处理请求的机制都是一个核心控制器

2.区别

区别点 SpringMVC Struts2
入口 Servlet Filter
执行单位 基于方法,单例模式,效率高、资源占用少 基于类,每执行一个操作都创一个对象,效率低
使用灵活度 简洁、支持JSR303,处理ajax更方便 。。。
表达式 JSTL,开发略低,执行效率高 OGNL开发效率高,执行效率不行,尤其是表单标签,没有html执行效率高

JSR303是一套JavaBean 参数校验的标准,它定义了很多常用的校验注解,我们可以直接将这些注解加在我们 JavaBean 的属性上面,就可以在需要校验的时候进行校验了。

JSR303学习参考

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,084评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,623评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,450评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,322评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,370评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,274评论 1 300
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,126评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,980评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,414评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,599评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,773评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,470评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,080评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,713评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,852评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,865评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,689评论 2 354

推荐阅读更多精彩内容

  • 本文是我自己在秋招复习时的读书笔记,整理的知识点,也是为了防止忘记,尊重劳动成果,转载注明出处哦!如果你也喜欢,那...
    波波波先森阅读 12,291评论 6 86
  • 对于java中的思考的方向,1必须要看前端的页面,对于前端的页面基本的逻辑,如果能理解最好,不理解也要知道几点。 ...
    神尤鲁道夫阅读 813评论 0 0
  • spring官方文档:http://docs.spring.io/spring/docs/current/spri...
    牛马风情阅读 1,672评论 0 3
  • Spring MVC一、什么是 Spring MVCSpring MVC 属于 SpringFrameWork 的...
    任任任任师艳阅读 3,381评论 0 32
  • 我们走过的城市、山川,都化成了我们的生命。 —《我们站在高高的山巅》 我的家门口流过一条河,说来奇...
    杨牧云阅读 442评论 0 1