SpringMVC注解

Spring+MyBatis 企业开发实战

Spring:4.2.0 mybatis:3.4.1

处理request body部分的注解:@RequesParam、@RequestBody

处理request uri部分的注解:@PathVariable

处理request header部分的注解:@RequestHeader、@CookieValue

处理attribute类型的注解:@SessionAttributes、@ModelAttribute

1. @Controller

使用@Controller不用实现特定的接口,@Controller注解的控制器可以支持同时处理多个请求动作

在Spring MVC配置文件中加入头文件

如下:自动识别org.fkit.controller包及其子包下的注解

配置:springmvc-config.xml文件配置



	

	
	

使用:

@Controller
public class HelloController2

2. @RequestMapping

@RequestMapping可以用来注释一个控制器类,也可以注释方法。

表示该控制器处理的所有请求都被映射到value属性所指示的路径下。

@Controller
@RequestMapping(value="request")
public class HelloController2{
	private static final Log logger = LogFactory.
			getLog(HelloController2.class);
	
	@RequestMapping(value="/hello")
	public ModelAndView hello(){

hello方法被映射为如下URL:

spring:web project 工程名

http://localhost:8080/spring/request/hello

SpringMVC注解_第1张图片

Model:

User user = (User) model.asMap().get("user");

ModelMap:

User user = (User) modelMap.get("user");

ModelAndView

User user = (User)mv.getModel().get("user");

3. @RequestParam:参数绑定注解

SpringMVC注解_第2张图片

//假设url请求:localhost:8080/spring/login?loginname=jack&password=123456
@RequestMapping(value="/login")
public void login(
    @RequestParam(value="loginname" required=true) String loginname,
    @RequestParam(value="password") String password){
    //loginname必须被绑定
    //将请求参数中loginname参数的值和password参数的值赋值给参数loginname和password
    //此刻loginname=jack  password=123456
}

4. @PathVariable

获取请求URL中的动态参数

只支持一个属性

//假设请求URL:localhost:8080/spring/pathVariableTest/120
@RequestMapping(value="/pathVariableTest/{userId}")
public void pathVariableTest(@PathVariable Interget userId){
    //根据请求url此时userId=123
}

5. @RequestHeader

用于将请求头的信息区数据映射到功能处理方法的参数上

SpringMVC注解_第3张图片

@RequestMapping(value="/requestHeaderTest")
public void requestHeader(
    @RequestHeader(value="User-Agent") String userAgent,
    @RequestHeader(value="Accept") String[] accepts){
    //将请求头User-Agent和Accept的值赋值给userAgent和accepts
}

6. @CookieValue

用于将请求的Cookie数据映射到功能处理方法的参数上

SpringMVC注解_第4张图片

@RequestMapping(value="/cookieValueTest")
public void cookieValue(
        @CookieValue(value="JSESS),defaultValue="") String sessionId){
    //自动将JSESS值设置到sessionId参数上
}

7. @SessionAttributes

允许我们有选择地指定Model中的哪些属性需要转存到HttpSession对象当中

这样不止request域对象可以访问存入httpSession中的对象

session域对象也可以访问

SpringMVC注解_第5张图片

 

8. @ModelAttribute

你可能感兴趣的:(SpringMVC注解)