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(三)的更多相关文章

  1. SSM整合(三):Spring4与Mybatis3与SpringMVC整合

    源码下载 SSMDemo 上一节整合了Mybatis3与Spring4,接下来整合SpringMVC! 说明:整合SpringMVC必须是在web项目中,所以前期,新建的就是web项目! 本节全部采用 ...

  2. SSM框架三分钟搞定分页查询

    使用的国产第三方jar   pagehelper 里面的基本属性值 //当前页 private int pageNum; //每页的数量 private int pageSize; //当前页的数量 ...

  3. [SSM项目]三-日志Logback

    Logback介绍 Logback的主要模块 logback-access :与service容器集成,提供通过http访问日志的功能.即第三方软件可以通过这个模块来访问日志. logback-cla ...

  4. 【Java】SSM框架整合 附源码

    前言 前面已经介绍Spring和Mybatis整合,而本篇介绍在IDEA下Spring.Spring MVC.Mybatis(SSM)三个框架的整合,在阅读本篇之前,建议大家先去了解一下Spring. ...

  5. ssm(Spring、Springmvc、Mybatis)实战之淘淘商城-第二天(非原创)

    文章大纲 一.课程介绍二.整合淘淘商城ssm项目三.Mybatis分页插件PageHelper使用四.整合测试五.项目源码与资料下载六.参考文章   一.课程介绍 一共14天课程(1)第一天:电商行业 ...

  6. Java WEB框架——SSM之Hello world

    一.建立项目 先搭建一个webapp项目(要选creat from arctype) 起名 选择maven路径,settings.xml那里要选择override才可以在资源管理器中浏览.接下来直接N ...

  7. Navi.Soft30.产品.DataWindowNet.操作手册

    1概述 1.1功能简介 Sybase公司的PowerBuilder开发工具,在以前VS工具没有成事以前,是相当风光的.微软都要与其合作,学习它Db方面的技术,才成就了SQLServer数据库.PB开发 ...

  8. DataWindow.Net组件示例(全部开源)

    1概述 1.1功能简介 Sybase公司的PowerBuilder开发工具,在以前VS工具没有成事以前,是相当风光的.微软都要与其合作,学习它Db方面的技术,才成就了SQLServer数据库.PB开发 ...

  9. spring boot 集成 Mybatis,JPA

    相对应MyBatis, JPA可能大家会比较陌生,它并不是一个框架,而是一组规范,其使用跟Hibernate 差不多,原理层面的东西就不多讲了,主要的是应用. Mybatis就不多说了,SSM这三个框 ...

  10. SSM框架开发web项目系列(三) MyBatis之resultMap及关联映射

    前言 在上篇MyBatis基础篇中我们独立使用MyBatis构建了一个简单的数据库访问程序,可以实现单表的基本增删改查等操作,通过该实例我们可以初步了解MyBatis操作数据库需要的一些组成部分(配置 ...

随机推荐

  1. spin_lock、spin_lock_irq、spin_lock_irqsave区别

    void spin_lock(spinlock_t *lock); void spin_lock_irq(spinlock_t *lock); void spin_lock_irqsave(spinl ...

  2. DEDECMS织梦自定义表单中必填项、电话邮箱过滤以及验证码规则

    织梦自定义表单必填项规则--->(wwwshu-acca.com网站表单) 1. 在plus/diy.php 的第 40行下加如下代码: 1 2 3 4 5 6 7 8 9 10 11 12 1 ...

  3. jLim - 紧凑的 JavaScript 框架

    1. [代码][JavaScript]代码     /*! * jLim Core * * jLim is a small JavaScript base code. It can be used t ...

  4. codeforces 437B. The Child and Set 解题报告

    题目链接:http://codeforces.com/contest/437/problem/B 题目意思:给出两个整数 sum 和 limit,问能否从1 - limit 这些数中选出一些数(注意: ...

  5. VS 一些配置设置

    /************************************************************************ * VS 一些配置设置 * 说明: * 最近要用到C ...

  6. 「LuoguP3865」 【模板】ST表 (线段树

    题目背景 这是一道ST表经典题——静态区间最大值 请注意最大数据时限只有0.8s,数据强度不低,请务必保证你的每次查询复杂度为 O(1) 题目描述 给定一个长度为 N 的数列,和 M 次询问,求出每一 ...

  7. 构建Docker平台【第一篇】环境准备

    主机信息 操作系统版本 CentOS-7-x86_64-Everything-1511   主机A 192.168.6.128 主节点 主机B 192.168.6.129 主节点 主机C 192.16 ...

  8. 收藏产品判断、html 在 UIwebView里面显示

     收藏产品功能 要求:用户点击收藏,如果已经收藏,用户点击就取消收藏 写法一: 点击事件{ if (!isSelect) { [sender setImage:[UIImage imageNamed: ...

  9. View Programming Guide for iOS ---- iOS 视图编程指南(三)---Windows

    Windows Every iOS application needs at least one window—an instance of the UIWindow class—and some m ...

  10. PaaS服务之路漫谈(二)

    此文已由作者尧飘海授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 天下大势,分久必合,合久必分,社会历史的发展方向总有着惊人的相似.把这种规律应用到软件应用架构的发展方向上, ...