博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SSM-WebMVC(三)
阅读量:5050 次
发布时间:2019-06-12

本文共 1857 字,大约阅读时间需要 6 分钟。

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

转载于:https://www.cnblogs.com/shi-tian/p/10285367.html

你可能感兴趣的文章
KMPnext数组循环节理解 HDU1358
查看>>
android调试debug快捷键
查看>>
【读书笔记】《HTTP权威指南》:Web Hosting
查看>>
Inoodb 存储引擎
查看>>
数据结构之查找算法总结笔记
查看>>
Linux内核OOM机制的详细分析
查看>>
Android TextView加上阴影效果
查看>>
Requests库的基本使用
查看>>
C#:System.Array简单使用
查看>>
「Foundation」集合
查看>>
二叉树的遍历 - 数据结构和算法46
查看>>
类模板 - C++快速入门45
查看>>
RijndaelManaged 加密
查看>>
Android 音量调节
查看>>
windows上面链接使用linux上面的docker daemon
查看>>
Redis事务
查看>>
Web框架和Django基础
查看>>
python中的逻辑操作符
查看>>
HDU 1548 A strange lift (Dijkstra)
查看>>
每天一个小程序—0005题(批量处理图片大小)
查看>>