发表于: 2016-09-17 21:43:47

1 2046


今天完成的任务

一、这几天将mybatisspringmvc整合看完

   springmvc框架:

DispatcherServlet前端控制器:接收request,进行response

HandlerMapping处理器映射器:根据url查找Handler。(可以通过xml配置方式,注解方式)

HandlerAdapter处理器适配器:根据特定规则去执行Handler,编写Handler时需要按照HandlerAdapter的要求去编写。

Handler处理器(后端控制器):需要程序员去编写,常用注解开发方式。

Handler处理器执行后结果 是ModelAndView,具体开发时Handler返回方法值类型包括 :ModelAndViewString(逻辑视图名)、void(通过在Handler形参中添加requestresponse,类似原始 servlet开发方式,注意:可以通过指定response响应的结果类型实现json数据输出)

View resolver视图解析器:根据逻辑视图名生成真正的视图(在springmvc中使用View对象表示)

View视图:jsp页面,仅是数据展示,没有业务逻辑。

 

注解开发:

使用注解方式的处理器映射器和适配器:

 

在实际开发,使用<mvc:annotation-driven>代替上边处理器映射器和适配器配置。

 

@controller注解必须要加,作用标识类是一个Handler处理器。

@requestMapping注解必须要加,作用:

1、对urlHandler的方法进行映射。

2、可以窄化请求映射,设置Handler的根路径,url就是根路径+子路径请求方式

3、可以限制http请求的方法

映射成功后,springmvc框架生成一个Handler对象,对象中只包括 一个映射成功的method

 

注解开发中参数绑定:

request请求过来的key/value的数据(理解一个串),通过转换(参数绑定的一部分),将key/value串转成形参,将转换后的结果传给形参(整个参数绑定过程)。

springmvc所支持参数绑定:

1、默认支持很多类型,HttpServletRequestresponsesession

model/modelMap(将模型数据填充到request)

2、支持简单数据类型,整型、字符串、日期。。

只要保证request请求的参数名和形参名称一致,自动绑定成功

如果request请求的参数名和形参名称不一致,可以使用@RequestParam(指定request请求的参数名),@RequestParam加在形参的前边。

3、支持pojo类型

只要保证request请求的参数名称和pojo中的属性名一致,自动将request请求的参数设置到pojo的属性中。

注意:形参中即有pojo类型又有简单类型,参数绑定互不影响。

自定义参数绑定:

日期类型绑定自定义:

定义的Converter<源类型,目标类型>接口实现类,比如:

Converter<String,Date>表示:将请求的日期数据串转成java中的日期类型。

注意:要转换的目标类型一定和接收的pojo中的属性类型一致。

将定义的Converter实现类注入到处理器适配器中。

 

二、springmvcstruts2区别:

springmvc面向方法开发的(更接近service接口的开发方式),struts2面向类开发。

springmvc可以单例开发,struts2只能是多例开发。

 

三、RESTful风格

  RESTful架构,是目前最流行的一种互联网软件架构。它结构清晰、符合标准、易于理解、扩展方便,所以正得到越来越多网站采用。

 

  RESTfulRepresentational State Transfer的缩写)其实是一个开发理念,是对http的很好的诠释。

 

1、对url进行规范,写RESTful格式的url

 

RESTurlhttp://...../queryItems.action?id=001&type=T01

RESTurl风格:http://..../items/001

特点:url简洁,将参数通过url传到服务端

2http的方法规范

不管是删除、添加、更新。。使用url是一致的,如果进行删除,需要设置http的方法为delete,同理添加。。。

 

后台controller方法:判断http方法,如果是delete执行删除,如果是post执行添加。

 

3、对httpcontentType规范

请求时指定contentType,要json数据,设置成json格式的type。。



返回列表 返回列表
评论

    分享到