SpringMVC注解
SpringMVC注解
@Controller
类包:org.springframework.stereotype.Controller
说明:@Controller用于标记一个类,使用它的类就是一个SpringMVC Controller对象,即一个控制器。Spring扫描机制查找应用程序中所有基于注解的控制器类。分发处理器会扫描使用了该注解的类的方法,并检测该方法是否使用了@RequestMapping注解,而使用了@RequestMapping注解的方法才是真正处理请求的处理器。
为保证Spring能找到控制器,需要完成两件事:
1.在SpringMVC的配置文件的头文件中引入spring-context
2.使用<context:component-scan/>元素,该元素功能为:启动扫描功能,以便注册带有注解的类成为Spring的Bean
basc-package属性指定需要扫描的类包,类包及其子包中所有的类都会被处理。
@RequestMapping
类包:org.springframework.web.bind.annotation.RequestMapping
说明:@RequestMapping用来注释一个控制器类,所有方法都将映射为相对于类级别的请求,表示该控制器处理的所有请求都被映射到value属性所指示的路径下。
属性:value 用于将指定请求的实际地址映射到方法上
name 给映射地址指定一个别名
method 映射指定请求的方法类型,包括GET,POST,HEAD,OPTIONS,PUT,PATCH,DELETE,TRACE
consumes 指定处理请求的提交内容类型(Content-Type),例如application/json,text/html
produces 指定返回的内容类型,返回的内容必须是request请求头中所包含的类型
params 指定request中必须包含的某些参数值,才能让该方法处理请求
headers 指定request中必须包含某些指定的header值,才能让该方法处理请求
Path 在Servlet环境中只有uri路径映射,在方法层面上,支持相对路径
@RequestParam
类包:org.springframework.web.bind.annotation.RequestParam
说明:注解类型用于将指定的请求参数赋值给方法中的形参
属性:name 指定请求头绑定的名称
value name属性的别名
required 指示参数是否必须绑定
defaultValue 如果没有传递参数而使用的默认值
@PathVariable
类包:org.springframework.web.bind.annotation.PathVariable
说明:获得请求URL中的动态参数
属性:value 表示绑定的名称,如果省略则默认绑定同名参数
@RequestHeader
类包:org.springframework.web.bind.annotation.RequestHeader
说明:用于将请求的头信息区数据映射到功能处理方法的参数上
属性:name 指定请求头绑定的名称
value name属性的别名
required 指示参数是否必须绑定
defaultValue 如果没有传递参数而使用的默认值
@CookieValue
类包:org.springframework.web.bind.annotation.CookieValue
说明:用于将请求的Cookie数据映射到功能处理方法的参数上
属性:name 指定请求头绑定的名称
value name属性的别名
required 指示参数是否必须绑定
defaultValue 如果没有传递参数而使用的默认值
@SessionAttributes
类包:org.springframework.web.bind.annotation.SessionAttributes
说明:允许有选择地指定Model中的哪些属性需要转存到HttpSession对象中
属性:names Model中属性的名称,即存储在HttpSession当中的属性名称
value names属性的别名
types 指定参数是否必须绑定
@ModelAttribute
类包:org.springframework.web.bind.annotation.ModelAttribute
说明:将请求参数绑定到Model对象
属性:value 表示绑定的属性名称
类包:org.springframework.stereotype.Controller
说明:@Controller用于标记一个类,使用它的类就是一个SpringMVC Controller对象,即一个控制器。Spring扫描机制查找应用程序中所有基于注解的控制器类。分发处理器会扫描使用了该注解的类的方法,并检测该方法是否使用了@RequestMapping注解,而使用了@RequestMapping注解的方法才是真正处理请求的处理器。
为保证Spring能找到控制器,需要完成两件事:
1.在SpringMVC的配置文件的头文件中引入spring-context
2.使用<context:component-scan/>元素,该元素功能为:启动扫描功能,以便注册带有注解的类成为Spring的Bean
basc-package属性指定需要扫描的类包,类包及其子包中所有的类都会被处理。
@RequestMapping
类包:org.springframework.web.bind.annotation.RequestMapping
说明:@RequestMapping用来注释一个控制器类,所有方法都将映射为相对于类级别的请求,表示该控制器处理的所有请求都被映射到value属性所指示的路径下。
属性:value 用于将指定请求的实际地址映射到方法上
name 给映射地址指定一个别名
method 映射指定请求的方法类型,包括GET,POST,HEAD,OPTIONS,PUT,PATCH,DELETE,TRACE
consumes 指定处理请求的提交内容类型(Content-Type),例如application/json,text/html
produces 指定返回的内容类型,返回的内容必须是request请求头中所包含的类型
params 指定request中必须包含的某些参数值,才能让该方法处理请求
headers 指定request中必须包含某些指定的header值,才能让该方法处理请求
Path 在Servlet环境中只有uri路径映射,在方法层面上,支持相对路径
@RequestParam
类包:org.springframework.web.bind.annotation.RequestParam
说明:注解类型用于将指定的请求参数赋值给方法中的形参
属性:name 指定请求头绑定的名称
value name属性的别名
required 指示参数是否必须绑定
defaultValue 如果没有传递参数而使用的默认值
@PathVariable
类包:org.springframework.web.bind.annotation.PathVariable
说明:获得请求URL中的动态参数
属性:value 表示绑定的名称,如果省略则默认绑定同名参数
@RequestHeader
类包:org.springframework.web.bind.annotation.RequestHeader
说明:用于将请求的头信息区数据映射到功能处理方法的参数上
属性:name 指定请求头绑定的名称
value name属性的别名
required 指示参数是否必须绑定
defaultValue 如果没有传递参数而使用的默认值
@CookieValue
类包:org.springframework.web.bind.annotation.CookieValue
说明:用于将请求的Cookie数据映射到功能处理方法的参数上
属性:name 指定请求头绑定的名称
value name属性的别名
required 指示参数是否必须绑定
defaultValue 如果没有传递参数而使用的默认值
@SessionAttributes
类包:org.springframework.web.bind.annotation.SessionAttributes
说明:允许有选择地指定Model中的哪些属性需要转存到HttpSession对象中
属性:names Model中属性的名称,即存储在HttpSession当中的属性名称
value names属性的别名
types 指定参数是否必须绑定
@ModelAttribute
类包:org.springframework.web.bind.annotation.ModelAttribute
说明:将请求参数绑定到Model对象
属性:value 表示绑定的属性名称