zoukankan      html  css  js  c++  java
  • 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

    把曾经失去的全部补回来! ---一位在“生死边缘”徘徊的JAVA程序猿
  • 相关阅读:
    Centos 6.8安装配置KVM
    使用明小子进行网页渗透测试-XYCMS企业建站系统2.3(鑫跃教育)
    VSFTP2.3.4(笑脸漏洞)渗透测试
    MS08_067smb漏洞利用渗透测试
    css基本概念与css核心语法介绍
    HTML块级、行级元素,特殊字符,嵌套规则
    网页DIV+CSS布局与ifame传统布局对比
    html基本标签表单实现交互原理,单选框,复选框,下拉框介绍
    HTML基础标签图片文本超链接列表表格介绍
    html网页基本结构
  • 原文地址:https://www.cnblogs.com/shi-tian/p/10285367.html
Copyright © 2011-2022 走看看