SpringMVC基础学习(一):请求参数、请求注解

本文主要内容:SpringMVC执行流程、请求参数的绑定、SpringMVC常用请求注解

SpringMVC的执行流程

SpringMVC执行流程

请求参数的绑定

  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中配置)

    characterEncodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 characterEncodingFilter /*
  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,必须提供
    代码展示:
    RequestParam注解
  3. RequestBody注解(获取所有参数)
    作用:用于获取请求体的内容(注意:get方法不可以)
    属性:
    ①.required:请求参数中是否必须提供此参数,默认值是true
    代码展示:
    RequestBody注解
  4. PathVariable注解
    作用:用于获取绑定url中的占位符的参数,例如:url中有/delete/{id},{id}就是占位符
    属性:
    ①.value:指定url中的占位符名称
    代码展示:
    PathVariable注解
  5. SessionAttributes注解
    作用:用于多次执行控制器方法间的参数共享
    属性:
    ①.value:指定存入属性的名称
    代码展示:
    SessionAttributes注解
  6. ModelAttribute注解
    作用:
    1.出现在方法上:表示当前方法会在控制器方法执行前先执行
    2.出现在参数上:获取指定的数据给参数赋值
    应用场景:
    当提交表单数据不是完整的实体数据时,保证没有提交的字段使用数据库原来的数据
    代码展示:
    ModelAttribute注解
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值