Spring MVC学习笔记(2)注解

Spring MVC可以基于注解的方式来实现控制器或实现Controller接口来实现,但是每次实现Controller接口需要在Spring MVC的配置文件中进行配置,实在太麻烦,所以我们可以使用注解的方式来实现Controller类。

Spring MVC的Controller类其实就相当于Struts的Action类,只不过Controller类中我们可以直接返回视图,不需要和Struts一样配置xml文件来指定返回的视图。

下面总结一下Spring MVC中的常用注解:

  • @Controller
    @Controller注解用于指示一个类为控制器,其实就相当于告诉框架,我是一个controller,这样就不需要实现Controller接口了。

  • @RequestMapping
    我们在控制器内为每一个请求动作设置的相应处理方法前,都需要加上@RequestMapping注解,来指示这是一个处理请求动作的方法。@RequestMapping还可以用于注解一个控制器类,当用于注解类时,表示所有请求都被映射到value属性所指的路径下。

    @RequestMapping注解的常见属性有:

    1.value 这是@RequestMapping注解的默认属性,所以可以不写,它代表使用@RequestMapping注解的value属性会将URL映射到注解的方法上。
    2.method method属性就是用来指示该方法是处理什么请求方式的,有POST或GET方式,如果没有指定,就代表都可以
    3.params 这个属性用于指定request中必须包含某些参数值时,才让该方法处理
    4.header 这个属性用于指定request中必须包含某些header值时,才让该方法处理

  • @RequestParam
    @RequestParam注解用于将请求参数赋值给方法中的形参,例如:

@RequestMapping("login")
	public String login(
			@RequestParam("username") String username,
			@RequestParam("password") String password){
			.....     //方法内容
			return ...;
	}


  • @PathVariable
    @PathVariable 注解可以方便地获取请求URL中的动态参数,例如:
@RequestMapping(value="/path/{userId}")
	public String path(@PathVariable Integer userId){
			.....     //方法内容
			return ...;
	}


  • @RequestHeader
    @RequestHeader注解可以将请求的头信息映射到方法参数上,代码略

  • @CookieValue
    @CookieValue注解可以将请求的Cookie数据映射到方法参数上,代码略


  • @RequestAttribute
    @RequestAttribute注解可以将request作用域中的数据映射到方法参数上,代码略


  • @SessionAttribute
    @RequestAttribute注解可以将session作用域中的数据映射到方法参数上,代码略


  • @SessionAttributes
    @SessionAttributes注解可以把方法中的Model中的属性存到Session中,所以该注解只能声明在类上,而不是方法上。
    例如:
@SessionAttributes(“user”) //将Model中的user对象存入session中

@SessionAttribute(types={User.class,Dept.class),value={"user","dept"}) //将多个对象存入session
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值