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. eclipse4.3 解决没有check out as maven project

    最近想工作之余写点测试demo,习惯了公司的开发环境,便决定自己搭建开发环境,首先是找到好用的eclipse,就是能够使用eclipse创建maven project工程,该工程能够被eclipse的 ...

  2. Caused by: java.lang.IllegalArgumentException: Malformed \uxxxx encoding.

    application.properties中不能含有\符号.  只要遇到就会报这个错误. 解决方式:将application.properties中的 \ 改为 \\ 或者 /  

  3. 格式化磁盘,提示 is apparently in use by the system

    一般是被mdadm占用着. 使用  cat /proc/mdstat 查看所有 找到欲格式化盘符号. 使用 mdadm --stop /dev/md0 mdadm --remove /dev/md0 ...

  4. 百度地图API--信息窗口

    信息窗口 -----纯文本信息窗口 为了更方便的提示用户,在地图的指定的地方添加文本信息的窗口,给用户直观展示信息,下面是如何添加一个纯文本的信息窗口. 下面是添加一个文本窗口: /* * 添加纯文本 ...

  5. Com组件介绍

    COM组件简介 面向对象的思想难以适应这种分布式软件模型,于是组件化程序设计思想得到了迅速的发展. 按照组件化的程序设计的思想,复杂的应用程序被设计成一些小的,功能单一的组件模块,这些组件模块可以运行 ...

  6. 当你触摸并按住触摸目标时候,禁止系统默认菜单-webkit-touch-call

    当你触摸并按住触摸目标时候,禁止或显示系统默认菜单. -webkit-touch-callout 是一个 不规范的属性(unsupported WebKit property),它没有出现在 CSS ...

  7. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时6

    课时6 线性分类器损失函数与最优化(上) 多类SVM损失:这是一个两分类支持向量机的泛化 SVM损失计算了所有不正确的例子,将所有不正确的类别的评分,与正确类别的评分之差加1,将得到的数值与0作比较, ...

  8. android:ellipsize省略文字用法(转载)

    转自:http://zhangkun716717-126-com.iteye.com/blog/864989 TextView及其子类,当字符内容太长显示不下时可以省略号代替未显示的字符:省略号可以在 ...

  9. php大小写转换函数

    1.将字符串转换成小写   strtolower(): 该函数将传入的字符串参数所有的字符都转换成小写,并以小定形式放回这个字 符串.例: <?php $str = "I want T ...

  10. React 从入门到进阶之路(八)

    之前的文章我们介绍了 React中的组件.父子组件.React props父组件给子组件传值.子组件给父组件传值.父组件中通过refs获取子组件属性和方法.接下来我们将介绍 React propTyp ...