关闭

Springmvc 框架学习-- 基础知识

标签: springjavamvcweb框架spring mvc
233人阅读 评论(1) 收藏 举报
分类:

1.1 什么是SpringMVC

SpringMVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。

简单说,SpringMVC是Spring框架的一个模块,是一个基于MVC的Web框架。

1.2 SpringMVC优势

1. 清晰的角色划分:前端控制器(DispatcherServlet)、请求到处理器映射(HandlerMapping)、处理器适配器(HandlerAdapter)、视图解析器(ViewResolver)、处理器或页面控制器(Controller)、验证器(   Validator)、命令对象(Command  请求参数绑定到的对象就叫命令对象)、表单对象(Form Object 提供给表单展示和提交到的对象就叫表单对象)。

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

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

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

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

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

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

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

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

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

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

1.3 SpringMVC框架介绍

架构图

步骤说明

第一步:发起请求到前端控制器(DispatcherServlet)
第二步:前端控制器请求HandlerMapping查找Handler(可以根据xml配置或注解进行查找)
第三步:处理器映射器HandlerMapping向前端控制器返回Handler
第四步:前端控制器调用处理器适配器去执行Handler
第五步:处理器适配器去执行Handler
第六步:处理器向处理器适配器返回ModelAndView(ModelAndView是springmvc框架的一个底层对象,包括Model和view)
第七步:处理器适配器向前端控制器返回ModelAndView
第八步:前端控制器请求视图解析器去进行视图解析(根据逻辑视图名解析成真正的视图(jsp))
第九步:视图解析器向前端控制器返回view
第十步:前端控制器进行视图渲染(视图渲染将模型对象(在ModelAndView对象中)填充到request域)
第十一步:前端控制器向用户响应结果

组件说

1. 前端控制器 DispatcherServlet
作用:接受请求,响应结果,相当于转发器,中央处理器,有了DispatcherServlet减少了其他组件之间的耦合度
2. 处理器映射器 HandlerMapping
作用:根据请求的URL查找Handler
3. 处理器适配器 HandlerAdapter
作用:按照特定规则(HandlerAdapter要求的规则)去执行Handler
注意:编写Handler要按照HandlerAdapter要求的去做,这样适配器才可以去正确执行Handler,比如必须实现某接口
4. 视图解析器 View resolver
作用:进行视图解析,根据逻辑视图名解析成真正的视图view
5. 视图View
View是一个接口,实现类支持不同的View类型(jsp、pdf。。。)

1
0
查看评论

【MFC】程序框架及基础知识

1. 首先,贴一个简单的Win32的Hello World程序,这是学MFC的基础。 #include LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); int WINAPI WinMain(HINSTANCE hInstance, ...
  • scottly1
  • scottly1
  • 2015-05-27 08:30
  • 1421

java学习体系及java基础知识

android培训、java培训、期待与您交流! ----------
  • u013257025
  • u013257025
  • 2015-05-20 14:48
  • 337

JSP基础知识框架

这一段时间由于项目需要,本人重新复习了一下JSP的相关知识。之前学习的内容总是容易忘,听说写博客是一种不错的学习和记忆方式,在这里尝试一下。一方面巩固一下JSP的基础知识,另一方面希望和其他同学分享一下学习成果,起到交流的作用。      现在Web开发非常...
  • yy_james
  • yy_james
  • 2016-06-13 21:33
  • 558

机器学习笔记 - 贝叶斯决策论

贝叶斯定理条件概率条件概率是指两个事件AA和BB, AA已经发生的条件下, BB发生的概率, 记为 P(B|A)P(B|A), 显然: P(B|A)=P(AB)P(A) P(B|A) = \frac{P(AB)}{P(A)} P(AB)P(AB)是指AA和BB同时发生的概率. 全概率公式...
  • volvet
  • volvet
  • 2017-03-05 13:12
  • 496

计算机基础知识的学习总结

关于域名 对一些静态网页,按F12可以对其进行编辑(某些浏览器行不通,因为不带编辑工具) 开发静态网站,需学习HTML,css以及JavaScript 开发动态网站需要学习Java,python等 打开cmd,输入ping www.baidu.com 或者www.google.com 或者 ww...
  • shawnL1
  • shawnL1
  • 2017-10-17 12:43
  • 246

深入学习VMware vSphere---基础知识

VMware vSphere 学习笔记
  • Wee_Mita
  • Wee_Mita
  • 2017-02-18 18:47
  • 839

oracle数据库基础知识学习笔记

一、SQL语言分类: 1.DDL(数据定义语言):  create(创建)    alter(修改)  drop(删除)------------主要是对表操作。   2.DML(数据操作语言):&...
  • u011955534
  • u011955534
  • 2013-11-04 18:52
  • 6464

HBase基础知识学习

在服务器的开发过程中,数据的存储至关重要,包括任务状态的数据、中间数据,处理的结果信息等。当数据量很大时,这些关系型数据库就必然存在瓶颈(数据库的查询,数据库的字段变更等)。本文基于分布式数据库HBase进行探究,简要介绍HBase的概念,及其相关操作。
  • mdpmvpmao
  • mdpmvpmao
  • 2015-05-25 13:29
  • 1018

计算机基础知识学习总结

1、计算机的组成部分:  输入单元:包括键盘、鼠标、卡片阅读器、扫描仪、触控屏幕等等一堆; 主机部分:被主机机壳保护住了,含有CPU与主存储器 输出单元:如屏幕、打印机等 2、CPU的工作主要在于管理与运算,在CPU内主要分为两个主要的单元, 分别是:算数逻辑单元与控制单元。 ...
  • sunshine_silence
  • sunshine_silence
  • 2016-11-14 17:20
  • 186

经典书籍_java学习基础编程篇

经典书籍_java学习基础编程篇
  • shenzhq1980
  • shenzhq1980
  • 2015-09-11 17:23
  • 22273
    个人资料
    • 访问:29669次
    • 积分:1078
    • 等级:
    • 排名:千里之外
    • 原创:65篇
    • 转载:1篇
    • 译文:7篇
    • 评论:78条
    博客专栏
    打赏一下呗
    最新评论