Spring MVC 相关资料整理
来源于:http://www.cnblogs.com/ylhssn/p/4062757.html
1、概述
Spring MVC是一种基于Java实现MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行解耦,基于请求-响应模型帮助我们简化日常web系统的开发。
Spring MVC框架就是一种MVC框架。其前端控制器是DispatcherServlet主要用于控制流程;应用控制器为Handler Mapping-处理器映射器进行处理器管理和View Resolver-视图解析器进行视图的解析;页面控制器/动作跳转处理器为Controller接口;支持本地化解析、文件上传等;提供了十分灵活的数据校验、格式化和数据绑定机制;采用约定优于配置的契约式编程方式。
Spring MVC框架围绕DispatcherServlet这个核心展开,DispatcherServlet的作用是截获请求并组织一系列组件共同完成请求的处理工作。
2、Spring MVC的特点
l 容易设计清爽干净的web层。
l 与Spring框架集成(IOC容器、AOP等)。
l 提供约定优于配置的契约式编程支持。
l 更加快捷、简单的单元测试。
l 灵活的URL到控制器的映射。
l 支持Rest风格。
l ...........................
3、Spring MVC体系结构
Spring MVC框架也是一个基于驱动的MVC框架,通过实现Model-View-Controller模式很好的将数据、业务、展现进行分离。Spring Web MVC的设计是围绕前端控制器DispatcherServlet来展开的,DispatcherSerlvet负责将请求根据映射规则分发给相应控制器 (Controller),根据可配置的Handler mappings处理请求并转到相应的视图。Spring MVC的整体处理流程如下:
图3-1 Spring MVC处理流程
由上图可知,Spring MVC大致的执行流程如下:
1、首先浏览器发送请求给前端控制器DispatcherServlet,DispatcherSerlvet根据请求信息,基于一定的原则选择合适的控制器进行处理并把 请求委托给它。
2、页面控制器接收到请求之后进行功能处理,首先需要收集、绑定请求参数到一个对象(命令对象),并进行验证,然后将该对象委托给业务对象进行处理(service层);业务对象处理之后控制器将返回一个ModelAndView(模型数据和逻辑视图名);
3、DispatcherServlet根据返回的逻辑视图名,选择合适的视图进行渲染(界面展示、资源加载),并把模型数据传入以便视图渲染。
4、前端控制器将响应返回个客户端浏览器。
4、Spring MVC版本的helloworld
1)准备jar包
2)文件结构
3)web.xml
在web.xml文件中配置DispatcherServlet,在web.xml文件中添加如下片段:
4)Spring配置文件 hello-servlet.xml
在这个文件中可以定义各种各样的Spring MVC需要使用的Bean。
5)控制器类HelloController
首先通过@Controller注解标示这个类是一个控制器,接下来通过@RequestMapping注解为制定方法sayHello处理哪些请求,在这个例子中,sayHello方法仅仅处理GET类型的/hello请求。
sayHello方法接收一个org.springframework.ui.Model类型的参数model,SpringMVC会自动将请求参数封装进model中,我们可以简单的把model理解为一个Map。我们在方法中从model中取出参数person的值并且打印出来,接下来往 model中添加一个属性msg,值为"Hello,World!",然后返回视图名称hello。
6)在Spring MVC配置文件中配置一个视图解析器
添加了mvc名称空间,接下来启用了spring的自动扫描,并且设置了默认的注解映射支持。
这里需要重点解释的是配置文件中的那个bean。它的类型是是Spring MVC中最常用的一种视图解析器,当然还有很多其他的类型。
其中prefix属性是指视图前缀,suffix是视图后缀,这里配置的是.jsp,我们在控制器的方法 sayHello中返回的是hello,再结合这里的配置,对应的完整的视图是:/WEB-INF/jsp/hello.jsp。
7)hello.jsp
8)演示
5、SSH:Spring MVC+Spring+hibernate
1)准备jar包
此处略
2)文件结构
3)web.xml
配置字符集略
4)spring-bean.xml
5)spring-common.xml
6)后台实现
Dao、entity、manager包下的类实现略。
UserController.java代码实现如下:
7)index.jsp
8)通过注解实现实体类和数据库表的绑定
- User Bean
2、spring-common.xml
6、Spring MVC 配置详解
以上4个方法示例,是一个Controller里含有不同的请求url,也可以采用一个url访问,通过url参数来区分访问不同的方法
其实RequestMapping在Class上,可看做是父Request请求url,而RequestMapping在方法上的可看做是子Request请求url,父子请求url最终会拼起来与页面请求url进行匹配,因此RequestMapping也可以这么写:
在SpringMVC中常用的注解还有@PathVariable,@RequestParam,@PathVariable标记在方法的参数上,利用它标记的参数可以利用请求路径传值,看下面一个例子
7、AJAX+JSON
a) 页面显示
b) 响应事件
c) 效果演示
d) 后台实现
e) 所需jar包
Spring MVC 相关资料整理相关推荐
- epoll相关资料整理
http://www.cppblog.com/converse/archive/2008/10/13/63928.html epoll相关资料整理 学习epoll有一段时间了,最近终于有一个服务器采用 ...
- 转:基于iOS上MDM技术相关资料整理及汇总
转自:http://www.mbaike.net/mdm/6.html 一.MDM相关知识: MDM (Mobile Device Management ),即移动设备管理.在21世纪的今天,数据是企 ...
- PRML:Pattern Recognition And Machine Learning 相关资料整理与下载
Pattern Recognition And Machine Learning 相关资料整理与下载 前言 一.PRML英文原文 二.PRML中文翻译版 三.PRML勘误与附加评论 四.读者整理的笔记 ...
- Scaleform相关资料整理
Scaleform相关资料整理 官方教程: http://udn.epicgames.com/Three/Scaleform.html 麻将桌的视频: http://gameware.autodesk ...
- Citrix 相关资料整理
转载请注明 http://blog.csdn.net/u011046042/article/details/72638345 思杰相关的资料整理: 官方网站 https://www.citrix.co ...
- 文本处理相关资料整理
github 搜索文本相似度 文本处理实践相关资料,包含文本特征提取(TF-IDF),文本分类,文本聚类,word2vec训练词向量及同义词词林中文词语相似度计算.文档自动摘要,信息抽取,情感分析与观 ...
- Spring MVC基础知识整理➣国际化和异常处理
概述 Spring框架为WEB项目提供了国际化以及异常处理机制.所谓的国际化也就是不同国籍,显示不同国籍的语言与符号.异常处理,也就是能够捕获WEB项目下的所有异常信息,并能处理记录这些异常信息机制. ...
- 无人机相关资料整理-备忘
近期一直在学习无人机相关基础知识以及平台搭建方面的知识,搜集了很多网站的相关信息,有一些比较有用的github.中英文资料.谈论区网址.还收藏了一些免费的课程,以及自己已购买的课程的链接.有些普及的教 ...
- 源码分析工具Joern的相关资料整理
随着对joern的了解,发现这个工具的潜能挺大的.但实际上手起来还是有点难度.这里列举一些对学习joern有帮助的相关资料博客. joern官方文档:https://docs.joern.io/ jo ...
最新文章
- 关于IOS的屏幕适配(iPhone)——资源适配
- 信息与计算机科学好学吗,计算机科学与技术好学吗?
- 数学图形(2.7)sphere sine wave
- ajax的数据库,AJAX 数据库
- concurrent (二)AQS
- 用积木做了个无人机。
- 棋盘里的数学(qduoj 记忆化搜索)
- 低代码开发平台_低代码开发平台测评——伙伴云
- UML类图操作(一)
- 加分二叉树(洛谷-P1040)
- 七.激光SLAM框架学习之A-LOAM框架---速腾Robosense-16线雷达室内建图
- go语言 字符串处理
- vjudge-Knight Moves(bfs)
- Android - 返回上一个界面finish()方法
- JSP自定义标签_属性接收复杂类型处理方式
- Android KLog源代码分析
- BMP图片的旋转以及BMP转YUV(4:2:0)
- Configtool
- Cisco ISO 计划命令 kron实现配置定时自动备份
- 前馈神经网络(FNN)