文档章节

SpringMvc

ZGXQ
 ZGXQ
发布于 2017/02/12 08:21
字数 898
阅读 262
收藏 22

1、什么是springMVC

springmvc是spring公司出品的一个表现层框架

2、springMvc的作用

A、从请求中接收参数

B、将处理好的数据返回给页面

3、怎么用

springMvc处理流程

1).spring mvc将所有的请求都提交给DispatcherServlet。

2).DispatcherServlet查询一个或多个HandlerMapping,找到处理请求的Controller,请求提交到目标Controller

3).Controller进行业务逻辑处理后,会返回一个ModelAndView

4).Dispathcher查询一个或多个ViewResolver视图解析器,找到ModelAndView对象指定的视图对象,视图对象负责渲染返回给客户端。

4、SpringMvc的三大组件:处理器映射器,处理器适配器,试图解析器

需要程序员编写的组件:处理器(也就是controller),试图(相当于jsp)

注解驱动和注解扫描是否都需要配置,为什么,区别是什么?

注解驱动:是为我们自动配置最新版的注解形式的处理器映射器和处理器适配器

注解扫描:扫描指定包下游@controller注解的类

两个东西不是一回事,不能混淆视听

5、架构整合思路

Dao层:

映射文件。接口文件,pojo使用逆向工程自动生成

sqlMapConfig.xml mybatis核心配置文件中可以为空,但是必须有

ApplicationContext-dao.xml 数据源,连接池,会话工厂,mapper包扫描

Service层:

ApplicationContext-service.xml 配置@service注解扫描

ApplicationContext-trans.xml配置事务

Controller层:

sprinMvc.xml 注解扫描,注解驱动,试图解析器

Web.xml

Spring监听,springMvc前端控制器

6、参数绑定:(从页面中接收参数)

 

A、默认支持的类型:HttpServletRequest,HttpServletResponse,HttpSession,model,默认支持的参数可以加也可以不加,加不加看自己需求,需要就加,不需要就不加

B、简单类型:string,double,integer,long,Boolean等

要求:接收变量名称必须等于页面上input框的name属性值,springmvc会自动进行类型转换

C、pojo类型

要求:页面上input框的name属性值必须等于pojo中德属性名称

D、pojo的包装类型QueryVo;

要求:如果传入的queryVo,那么页面上input框的name属性必须等于vo中的属性.属性.属性......

E、自定义转换器converter:

作用:springMvc可以进行简单类型的自动类型转换,但是无法转换日期类型,所以需要手动编写转换器来进行类型转换。

7、springMvc和struts2的区别

Struts2:

A、struts2的核心控制器是filter

B、接收参数:struts2使用全局类型的成员变量来接收参数,由于全局类型的成员变量是线程不安全的,所以struts2的action需要配置成多例

C、返回数据:struts2使用值栈

SpringMvc:

A、spring的核心控制器是servlet

B、接收参数:springMvc采用方法级别的局部变量来接收参数,局部变量用完就销毁,线程是安全的,所以spring的controller是单例的

C、返回值:springMvc使用request域

8、springMvc中对图片上传有接口的支持, 但是没有实现,所以需要第三方实现.

9、 json数据交互:

作用: 让springMvc自动将接收的json格式字符串转换成pojo对象,将pojo对象自动转换成json串返回给页面

springMvc中对json的支持有接口但是无实现, 所以需要第三方实现, 杰克逊的jar包,在开发中springMvc.xml配置注解驱动, 那么这样springMvc就跟杰克逊的jar包完美集成不用任何配置.

 

 

© 著作权归作者所有

共有 人打赏支持
ZGXQ
粉丝 1
博文 3
码字总数 2745
作品 0
石家庄
加载中

评论(1)

orientals
orientals
简单易懂
spring 相关jar包详解

spring.jar是包含有完整发布的单个jar包,spring.jar中包含除了 spring-mock.jar里所包含的内容外其它所有jar包的内容,因为只有在开发环境下才会用到spring-mock.jar来进行辅助测试,正式应...

满风
2011/10/20
0
0
Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密...

小致dad
08/03
0
0
Spring Boot实战与原理分析

Spring Boot实战与原理分析 1:Spring Boot概述与课程概要介绍 2:Spring4 快速入门 3:Spring4 扩展分析(一) 4:Spring4 扩展分析(二) 5:Spring Boot 快速入门 6:Spring Boot 配置分析...

刘宗泽
06/26
0
0
2014-03-09 Spring的学习(0)-----Spring目录文件组织

Spring压缩包目录说明 目录名 相关介绍 aspectj 在Spring框架下使用aspectj的源代码和测试程序文, 是java最早的提供AOP的应用框架 dist Spring 的发布包,关于发布包下面会详细进行说明。 do...

查封炉台
2014/03/09
0
0
Spring Boot中Starter是什么

比如我们要在Spring Boot中引入Web MVC的支持时,我们通常会引入这个模块spring-boot-starter-web,而这个模块如果解压包出来会发现里面什么都没有,只定义了一些POM依赖。 经过研究,Start...

easonjim
2017/09/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Mac OS X下Maven的安装与配置

Mac OS X 安装Maven: 下载 Maven, 并解压到某个目录。例如/Users/robbie/apache-maven-3.3.3 打开Terminal,输入以下命令,设置Maven classpath $ vi ~/.bash_profile 添加下列两行代码,之后...

TonyStarkSir
今天
3
0
关于编程,你的练习是不是有效的?

最近由于工作及Solution项目的影响,我在重新学习DDD和领域建模的一些知识。然后,我突然就想到了这个问题,以及我是怎么做的? 对于我来说,提升技能的项目会有四种: 纯兴趣驱动的项目。即...

问题终结者
今天
4
0
打开eclipse出现an error has occurred see the log file

解决方法: 1,打开eclipse安装目录下的eclipse.ini文件; 2,打开的文本文件最后添加一行 --add-modules=ALL-SYSTEM 3,保存重新打开Eclipse。...

任梁荣
昨天
4
0
搞定Northwind示例数据库,无论哪个版本的SQLServer都受用

Northwind数据库 从这里可以找到突破口: http://social.msdn.microsoft.com/Forums/zh-CN/Vsexpressvb/thread/8490a1c6-9018-40c9-aafb-df9f79d29cde 下面是MSDN: http://msdn2.microsoft......

QQZZFT
昨天
1
0
mysql主从同步,安装配置操作

准备 两台mysql服务,我这里准备了如下: 主库:192.168.176.128 从库:192.168.176.131 如何在Linux上安装mysql服务,请看https://blog.csdn.net/qq_18860653/article/details/80250499 操作...

小致dad
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部