Springmvc学习小结
来源:互联网 发布:ajax json哪个好 编辑:程序博客网 时间:2024/06/07 05:15
Springmvc框架:
1.用户请求到达DispatcherServlert前端控制器,接受请求,进行响应。
2.接收到请求后,会调用HandlerMapping处理器映射器,根据url查找Handler(可以通过xml配置方式,注解方式)。
3.HandlerAdapter处理器适配器:根据特定规则去执行Handler,编写Handler时需要按照HandlerAdapter的要求去编写。
4.Handler处理器(后端控制器):需要程序员去编写,常用注解方式开发。
Handler处理器执行后的结果是ModelAndView(这里为HandlerAdapter执行后一定会把对象封装为ModelAndView),具体开发时Handler返回值类型可以为ModelAndView,String(逻辑视图名),void(通过在Handler形参中添加request和response,类似原始servlet开发方,注意:这种方式可以通过指定response响应的结果类型实现json数据输出。)
5.View resolver视图解析器:根据逻辑视图名生成真正的视图(在springmvc中使用View对象表示)。
6.View视图:jsp页面,仅是数据展示,里边没有业务逻辑。
注解开发:
使用注解方式的处理器映射器和处理器适配器配置
第一种方法:
<!--注解映射器 --> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/><!--注解适配器 --> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/>
第二种方法:在实际开发中可以在springmvc.xml配置文件中使用 <mvc:annotation-driven>
代替上边处理器映射器和处理器适配器配置,springmvc使用<mvc:annotation-driven>
自动加载RequestMappingHandlerMapping和RequestMappingHandlerAdapter。如:
<mvc:annotation-driven></mvc:annotation-driven>
@Controller 注解必须要加,作用是标识这个类是一个Handler处理器。
@RequestMapping 注解必须要加,作用:
1.对url和Handler的方法进行映射
2.可以窄化请求映射,设置Handler的根路径,url就是根路径+子路径请求方式
3.可以限制http请求的方法
映射成功后,springmvc框架生成一个Handler对象,对象中只包括一个映射成功的method。
注解开发中的参数绑定:
将request请求过来的key/value的数据(理解成一个串),通过转换(参数绑定的一部分)将key/value转成形参类型,最后将转换后的结果传给形参。(整个参数绑定过程)
springmvc所支持的参数绑定:
1.默认支持很多类型,比如HttpServletRequest,rsponse,session,model/modelMap将模型数据填充到request域。
2.支持简单数据类型,比如整形,字符串,日期。
只要能够保证request请求的参数名和形参名称一致,自动绑定成功。
如果request请求的参数名和形参名称不一致,可以使用@RequestParam(指定request请求的参数名),@RequestParam加在形参的前边。如public String editItems(Model model,
@RequestParam(value = "id", required = true)Integer items_id)
throws Exception {}
3.支持pojo类型
只要保证request提交的参数名称和pojo中的属性名一致,自动将request请求的参数设置到pojo的属性中。
如果形参中既有pojo类型,又有简单类型,参数绑定互不影响,各绑定各的。
4.自定义参数绑定:
日期类型绑定:
定义一个Converter<源类型,目标类型>接口的实现类,比如String字符串(日期数据串),Converter
<mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven> <!-- 自定义参数绑定 --> <bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean"> <!-- 转换器 --> <property name="converters"> <list> <!-- 日期类型转换 --> <bean class="com.jxk.ssm.controller.converter.CustomDateConverter"/> </list> </property> </bean>
springmvc和struts2的区别
springmvc面向方法开发的(更接近service接口的开发方式),struts2面向类开发。
springmvc可以单例开发,struts2只能是多例开发。
- springmvc学习小结
- springmvc学习小结
- springmvc学习小结二
- Springmvc学习小结
- SpringMVC学习小结
- Springmvc学习小结
- 【SpringMVC】学习小结
- springmvc学习笔记(22)-springmvc开发小结
- springmvc学习笔记(22)-springmvc开发小结
- Springmvc学习小结(一)
- springmvc学习小结(二)
- SpringMVC学习之前期小结
- springMVC学习,个人入门学习小结。
- springmvc学习笔记(5)-入门程序小结
- springmvc学习笔记(5)-入门程序小结
- springmvc小结
- SpringMVC小结
- springMVC小结
- word标题前删不掉的小黑点—基础操作篇
- liferay中 liferay-ui:input-asset-links不能正常选择类型的问题
- String中常见的方法
- Android_onDraw画圆与onTouchEvent方法处理触摸事件
- C语言之常量与变量
- Springmvc学习小结
- 简述INSERT触发器的工作原理
- HorizontalScrollView嵌套ScrollView点击编辑框界面跳动问题
- 物联网核心安全系列——智能家居与数据安全问题
- java反射 重写类的toString方法 转化为每个字段名为标签的xml
- js 执行bat文件
- 关于JdbcTemplate批量更新batchUpdate()方法的返回值为-2
- 张正友相机标定Opencv实现以及标定流程&&标定结果评价&&图像矫正流程解析(附标定程序和棋盘图)
- 人才第一!英伟达大幅扩大深度学习学院(DLI)规模