SpringMVC的执行流程

java 在入参时 通过注解处理字段 springmvc入参注解_java 在入参时 通过注解处理字段

请求参数的绑定

  1. 请求参数的绑定说明
    1.绑定机制
    1.表单提交的数据都是k=v格式的 username=zhangsan&password=123
    2.SpringMVC的参数绑定过程是把表单提交的请求参数,作为控制器中方法的参数进行绑定的
    3.要求:提交表单的name和参数的名称是相同的
    2.支持的数据类型
    1.基本数据类型和字符串类型
    2.实体类型(JavaBean)
    3.集合数据类型(List、map集合等)
  2. 基本数据类型和字符串类型
    1.提交表单的name和参数的名称是相同的
    2.区分大小写
  3. 实体类型(JavaBean)
    1.提交表单的name和JavaBean中的属性名称需要一致
    2.如果一个JavaBean类中包含其他的引用类型,那么表单的name属性需要编写成:对象.属性 例如:address.name
  4. 集合属性数据封装
    提交表单的name属性为list[0].属性
  5. 请求参数中文乱码的解决(在web.xml中配置)
  6. 自定义类型转换器
    1.表单提交的任何数据类型全部都是字符串类型,但是后台定义Integer类型,数据也可以封装上,说明Spring框架内部会默认进行数据类型转换
    2.如果想自定义数据类型转换,可以实现Converter的接口
    3.注册自定义类型转换器,在springmvc.xml配置文件中编写配置









    <mvc:annotation-driven conversion-service=“conversionService”/>
  7. 在控制器中使用原生的ServletAPI对象
    只需要在控制器的方法参数定义HttpServletRequest和HttpServletResponse对象

Spring常用请求注解

  1. RequestMapping注解
    作用: RequestMapping注解的作用是建立请求URL和处理方法之间的对应关系
    属性:
    ①.path:指定请求路径的url
    ②.value:value属性和path属性是一样的
    ③.mthod:指定该方法的请求方式
  2. RequestParam注解
    作用:把请求中的指定名称的参数传递给控制器中的形参赋值
    属性:
    ①.value:请求参数中的名称
    ②.required:请求参数中是否必须提供此参数,默认值是true,必须提供
    代码展示:
  3. RequestBody注解(获取所有参数)
    作用:用于获取请求体的内容(注意:get方法不可以)
    属性:
    ①.required:请求参数中是否必须提供此参数,默认值是true
    代码展示:
  4. PathVariable注解
    作用:用于获取绑定url中的占位符的参数,例如:url中有/delete/{id},{id}就是占位符
    属性:
    ①.value:指定url中的占位符名称
    代码展示:
  5. SessionAttributes注解
    作用:用于多次执行控制器方法间的参数共享
    属性:
    ①.value:指定存入属性的名称
    代码展示:
  6. ModelAttribute注解
    作用:
    1.出现在方法上:表示当前方法会在控制器方法执行前先执行
    2.出现在参数上:获取指定的数据给参数赋值
    应用场景:
    当提交表单数据不是完整的实体数据时,保证没有提交的字段使用数据库原来的数据