SSM-WebMVC(三)
SSM-WebMVC(三)
一、Annotated Controllers
应用程序控制器
handlerMethod(处理方法)
㈠方法入参
(springmvc针对于在controller里的方法参数,传入实参对象),处理接口(HandlerMethodArgumentResolver)
1.javax.servlet.ServletRequest, javax.servlet.ServletResponse
2.javax.servlet.http.HttpSession
3.InputStream ,OutputStream,Reader ,Writer
4.@PathVarable
1.路径变量的值会付给方法中形参的值
2.@GetMapping("/owners/{ownerId}/pets/{petId}")
public Pet findPet(@PathVariable Long ownerId, @PathVariable Long petId) {
// ...
}
5.@RequestParam
将请求参数付给形参
6.@CookieValue
1.将指定cookie中的值付给形参
2.defaultValue属性用于指定默认值
7.@RequestBody
将请求体的内容绑定到参数对象上
请求体可以通过 request.getInputStream拿到
8.java.util.Map, org.springframework.ui.Model, org.springframework.ui.ModelMap
都会统一放到request作用域当中
9.@ModelAttribute
1.作用在参数上
指定的参数会被自动存放于model当中
2.作用在方法上
指定的返回值会被自动添加至Model当中
3.解析顺序
From the model if already added by using Model(优先使用Model中存在的值)
From the HTTP session by using @SessionAttributes
From a URI path variable passed through a Converter
10.BindingResult
针对于JavaBean的属性验证,来确保对象属性的合法性
该对象代表本次的验证结果
常见的方法
hasErrors
getFieldError
11.@Valid
用来指定需要验证的JavaBean
注解后需要紧跟着BindingResult类型
12.@SessionAttribute
13.@RequestAttribute
㈡方法返回值
(HandlerMethodReturnValueHandler接口处理,应用程序控制器的方法返回值)
1.String
返回逻辑视图
2.ResponseEntity
在@Controller下,将返回值添加到响应体当中,类似于@ResponseBody
3.void
将请求路径作为逻辑视图名
4.DeferredResult
5.Callable
5、6用于springmvc的异步处理
6.ModelAndView
但凡涉及到逻辑视图的处理,终将统一解析成ModelAndView
7.Map
8.自定义类型
二、DataBinder
将请求参数或数据绑定到对应入参对象(自定义对象)或者解决复杂类型的数据绑定
@InitBinder
public void initBinder(WebDataBinder webDataBinder)
实现Formatter接口
注册添加
通过WebDataBinder的addCustomFormatter方法添加
三、Asynchronous Requests
servlet中的异步
@WebServlet(asyncSupported=true)
request.startAsync()
AsyncContext
1.start(Runnable runnable)
2.addListener()
监听异步的事件
AsyncListener
onComplete
onTimeout
onError
onStartAsync
3.getRequest
4.getResponse
SSM-WebMVC(三)的更多相关文章
- SSM整合(三):Spring4与Mybatis3与SpringMVC整合
源码下载 SSMDemo 上一节整合了Mybatis3与Spring4,接下来整合SpringMVC! 说明:整合SpringMVC必须是在web项目中,所以前期,新建的就是web项目! 本节全部采用 ...
- SSM框架三分钟搞定分页查询
使用的国产第三方jar pagehelper 里面的基本属性值 //当前页 private int pageNum; //每页的数量 private int pageSize; //当前页的数量 ...
- [SSM项目]三-日志Logback
Logback介绍 Logback的主要模块 logback-access :与service容器集成,提供通过http访问日志的功能.即第三方软件可以通过这个模块来访问日志. logback-cla ...
- 【Java】SSM框架整合 附源码
前言 前面已经介绍Spring和Mybatis整合,而本篇介绍在IDEA下Spring.Spring MVC.Mybatis(SSM)三个框架的整合,在阅读本篇之前,建议大家先去了解一下Spring. ...
- ssm(Spring、Springmvc、Mybatis)实战之淘淘商城-第二天(非原创)
文章大纲 一.课程介绍二.整合淘淘商城ssm项目三.Mybatis分页插件PageHelper使用四.整合测试五.项目源码与资料下载六.参考文章 一.课程介绍 一共14天课程(1)第一天:电商行业 ...
- Java WEB框架——SSM之Hello world
一.建立项目 先搭建一个webapp项目(要选creat from arctype) 起名 选择maven路径,settings.xml那里要选择override才可以在资源管理器中浏览.接下来直接N ...
- Navi.Soft30.产品.DataWindowNet.操作手册
1概述 1.1功能简介 Sybase公司的PowerBuilder开发工具,在以前VS工具没有成事以前,是相当风光的.微软都要与其合作,学习它Db方面的技术,才成就了SQLServer数据库.PB开发 ...
- DataWindow.Net组件示例(全部开源)
1概述 1.1功能简介 Sybase公司的PowerBuilder开发工具,在以前VS工具没有成事以前,是相当风光的.微软都要与其合作,学习它Db方面的技术,才成就了SQLServer数据库.PB开发 ...
- spring boot 集成 Mybatis,JPA
相对应MyBatis, JPA可能大家会比较陌生,它并不是一个框架,而是一组规范,其使用跟Hibernate 差不多,原理层面的东西就不多讲了,主要的是应用. Mybatis就不多说了,SSM这三个框 ...
- SSM框架开发web项目系列(三) MyBatis之resultMap及关联映射
前言 在上篇MyBatis基础篇中我们独立使用MyBatis构建了一个简单的数据库访问程序,可以实现单表的基本增删改查等操作,通过该实例我们可以初步了解MyBatis操作数据库需要的一些组成部分(配置 ...
随机推荐
- TCP客户服务端
创建TCP服务端1.创建一个ServerSocket对象.2.调用accept()方法接收客户端请求.3.从Socket中获取I/O流.4.对I/O流进行读写操作,完成与客户端的交互.5.关闭I/O流 ...
- 微信小程序 新手入门教程
因为工作需要,最近学习了一下微信小程序,在此分享一下大概的流程. 强烈建议大家先去看微信小程序简易教程:点我进入 起步: 安装微信web开发软件者工具,需要破解的同学可以网上找破解教程,很简单的,这里 ...
- 关于animate的一些属性
animate() 方法执行 CSS 属性集的自定义动画.该方法通过CSS样式将元素从一个状态改变为另一个状态.CSS属性值是逐渐改变的,这样就可以创建动画效果.只有数字值可创建动画(比如 " ...
- Linux内核中kzalloc函数详解
**************************************************************************************************** ...
- 阶乘问题(大数阶乘)简单 n! (一个大数与一个小数相乘的算法 、一个大数与一个小数的除法算法 *【模板】 )
sdut oj 简单n! Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 给定一个数n(0 <= n <= 150), ...
- SideBar---fixed定位
<style> /*外层fixed*/ body{ width:2000px; height:2000px; background:#000; } .wrap { position: ...
- hihocoder-1347 小h的树上的朋友(lca+线段树)
题目链接: 小h的树上的朋友 时间限制:18000ms 单点时限:2000ms 内存限制:512MB 描述 小h拥有n位朋友.每位朋友拥有一个数值Vi代表他与小h的亲密度.亲密度有可能发生变化. 岁月 ...
- SPOJ:String Play (?)
String Play Milo has a string S of length L. Tutu picks a random prefix and Mota picks a random suff ...
- win7Setx修改环境变量
SETX.exe (Resource Kit, Windows 7) Set environment variables permanently, SETX can be used to set En ...
- C#:C# 运算符
ylbtech-C#:C# 运算符 1.返回顶部 1. C# 运算符 运算符是一种告诉编译器执行特定的数学或逻辑操作的符号.C# 有丰富的内置运算符,分类如下: 算术运算符 关系运算符 逻辑运算符 位 ...