SpringMVC常用注解

@RequestParam

前端传参必须和后端Controller方法中定义的变量同名,如果不同名,则获取不到,看一下下面的这个例子:

当前端参数和后端参数名称一致时,是可以获取到的:
SpringMVC常用注解
SpringMVC常用注解

这时,把前端设置为name,再次查看:
SpringMVC常用注解
SpringMVC常用注解

这时候加上注该注解:
SpringMVC常用注解
需要注意的是,该value是必须的,如果没有该参数,则映射就会失败,出现 bad request
SpringMVC常用注解

@RequestBody

该注解用于拿到所有的请求体,既然是请求体,肯定只针对于post方法,该注解主要用于异步时获取json数据,下面做演示:

SpringMVC常用注解
SpringMVC常用注解
SpringMVC常用注解

@PathVariable

PathVariable主要用于获取url中占位符的值,用法如下:
SpringMVC常用注解
SpringMVC常用注解

@RequestHeader

获取请求头信息,演示如下:

SpringMVC常用注解
SpringMVC常用注解

@CookieValue

获取指定的Cookie的值,演示获取SessionId的值
SpringMVC常用注解
SpringMVC常用注解

@ModelAttribute

在方法执行之前执行做一些事情,可以用来修饰方法,也可以用来修饰参数,先来看一下用法:
SpringMVC常用注解
上图有两个方法,访问第一个,会在第一个执行前,先访问有@ModelAttribute修饰的方法
SpringMVC常用注解

说一个常用的用法:我们在表单提交的时候,可能提交的不是完整的信息,那么我们先拿到一部分信息后,在数据库中进行查询,有点拦截器的意思,示例如下:

pojo类:
SpringMVC常用注解
前端:
SpringMVC常用注解
controller:
SpringMVC常用注解
result:
SpringMVC常用注解

当然,也可以将其作用在参数上,不过这时需要把对象put进一个map中
SpringMVC常用注解

@SessionAttribute

该注解作用于类上,用于将数据写入Session

在servlet的学习中,可以知道通过request来获取session,这种方式会使耦合度提高,所以我们需要使用Spring提供的类,来进行域的传值,在springMVC中,Model就可以用来给一次请求传值,域对象是request,示例如下:

SpringMVC常用注解
访问时直接打印requestScope

SpringMVC常用注解

那么如何将值放入session,在Controller类上添加注解SessionAttribute
SpringMVC常用注解
这时,也会将这份值放入session,这时打印sessionScope来看一下
SpringMVC常用注解
如何从Session中取值?

SpringMVC常用注解

如何删除session
SpringMVC常用注解