SpringMVC知识梳理

MVC是一种使用MVC设计创建Web应用程序的模式.

Model—表示应用程序的核心,(比如数据库记录列表) View—显示数据(数据库记录) Controller–处理输入(写入数据库记录)

常用的MVC框架有Struts和SpringMVC
SpringMVC通过一套MVC注解,让POJO成为处理请求的控制器,无需实现任何接口.SpringMVC在数据绑定,视图解析,本地化处理及静态资源处理上有很多不俗的表现.它在框架设计,扩展性,灵活性等方面全面超越了Struts,Webwork等MVC框架.

MVC模式的优缺点

优点:
耦合性低
重用性高
生命周期成本低
部署快
可维护性高
有利软件工程化管理
缺点:
没有明确的定义
不适合小型,中等规模的应用程序
增加系统结构和实现的复杂性
视图与控制器间的连接过于紧密
视图对模型数据的低效率访问
一般高级的界面工具或构造器不支持模式
这里写图片描述
DispatcherServlet 前端控制器 :接收request,进行response
HandlerMapping 处理器映射器:根据URL查找Handler (可以通过xml配置方式,注解方式)
HandlerAdapter 处理器适配器:根据特定规则去执行Handler,编写Handler时需要按照HandlerAdapter的要求去编写.
Handler 处理器(后端控制器):常用注解方式开发.
Handler 处理器执行后结果是ModelAndView,具体开发时Handler返回方法值类型包括:ModelAndView、String(逻辑视图名)、void(通过在Handler形参中添加request和response,类似原始 servlet开发方式,注意:可以通过指定response响应的结果类型实现json数据输出)
View Resolver视图解析器:根据逻辑视图名生成真正的视图(在springmvc中使用View对象表示)
View视图:jsp页面,仅是数据展示,没有业务逻辑。




@controller 注解必须要加,作用表示类是一个Handler处理器.
@requestMapping注解必须要加,作用:
1,对url和Handler的方法进行映射.
2,可以窄化请求映射,设置Handler的很路径,url就是根路径+子路径的请求方式.
3,可以限制http的请求方式.
映射成功后,SpringMVC生成一个Handler对象,对象中只包含一个映射成功的method.
注解开发中参数的绑定:
将request请求过来的key/value数据,通过转换,将key/value串转成形参,将转换后的结果传给形参.(整个参数的绑定过程)
SpringMVC所支持的参数绑定:
1,默认支持很多类型:HttpServletRequest,reponse,session,model/modelMap(将模型数据填充到Request域)
2,支持简单数据类型,字符串,整型,日期等.
—-只要保证request请求的参数名和形参名称一致,自动绑定成功.
—-如果request请求的参数名和形参名称不一致,可以使用@RequestParam(指定request请求的参数名),@RequestParam加在形参的前边。
3,支持POJO类型
—-只要保证request请求的参数名称和POJO中的属性名一致,自动将request请求的参数设置到POJO属性中 .
4,包装类型POJO参数绑定
—第一种方法:在形参中添加HttpServletRequest request参数,通过request接收查询条件参数。
—第二种方法:在形参中让包装类型的pojo接收查询条件参数。
5,集合类型参数绑定
数组绑定:方法形参使用数组接收页面请求的多个参数
list绑定:使用List接收页面提交的批量数据,通过包装pojo接收,在包装pojo中定义list属性
map绑定:在包装类中定义Map对象,并添加get/set方法,action使用包装对象接收
日期类型绑定自定义:
定义的Converter<源类型,目标类型>接口实现类,比如:Converter(String,Data)表示:将请求的日期数据串转成java中的日期类型。

SpringMVC注解和Spring注解

1,@Controller @RequestMapping是属于SpringMVC的,其他注解是属于Spring的,SpringMVC相当于Struts里面的action
2,Spring文件里面的配置是自动注解service和dao等,MVC文件里面的自动扫描是扫描controller
3,一般SpringMVC的注解只会出现在控制层,类似于Struts2的action,而Spring的注解一般都是自动注入的,标识仓储,管理事务的作用.
4,Spring其实就是联系Service和dao层的,简单来说就是一个粘合剂,所以在Service和Dao的注解都是Spring的
5,SpringMVC其实就是控制器的一个框架,相当于Struts2里面的action,那么在action里面的注释都是SpringMVC的.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值