Spring MVC 常用注解

1.@Controller注解

@Controller注解用于标记一个类,使用它的类就是一个SpringMVC Controller对象,即一个控制器。

保证Spring能查找到控制器,需要完成Spring配置文件的编写:

  • 使用<context:component-scan/>元素,扫描对应包。
2.@RequestMapping注解

用于指示Spring用哪一个类或方法来处理请求动作,该注解可用于类或方法。

几个重要属性:

(1)value属性
  即请求的路径。

(2)method属性
  指示该方法处理哪些HTTP请求方式。

(3)consumes属性
  指示处理请求的提交内容类型(Content-Type)。
  如:@RequestMapping(value = "/hello", method = RequestMethod.POST, consumes = "application/json")


(4)produces属性
  指定返回的内容类型。
  如:@RequestMapping(value = "/hello", method = RequestMethod.POST, produces = "application/json")

(5)params属性
  指定request中必须包含某些参数值时,才让该方法处理。

(6)headers属性

  指定request中必须包含某些指定的header值。

3.@RequestParam注解

属性类型说明
nameString指定请求头绑定的名称
valueStringname属性的别名
requiredboolean指定参数是否必须绑定
defaultValueString如果没有传递参数而使用的默认值

例子:

@RequestMapping(value = "/register", method = RequestMethod.POST)
public String register(
        @RequestParam(value="loginname", defaultValue="World") String loginname,
        @RequestParam("password") String password,
        @RequestParam("username") String username,
        Model model) {
    ...
    return "success";
}
4.@PathVariable注解

使用这个注解可以方便的获取请求URL中的动态参数(请求的path)。

例子:

@RequestMapping(value = "/{formName}")
public String loginForm(@PathVariable String formName) {
    return formName;
}
5.@RequestHeader注解

将请求的头信息映射到处理方法的参数上。

6.@CookieValue注解

将请求的Cookie映射到处理方法的参数上。

7.@SessionAttributes注解

指定Model中哪些属性需要转存到HttpSession对象中。

如:

@Controller
@RequestMapping("/value")
//将user注入session中,另一种写法:(types={User.class}, value="user")
//设置多个对象到HttpSession:(types={User.class,Dept.class}, value={"user", "dept"})
@SessionAttributes("user")
public class UserController {
    ...
}
8.@ModelAttribute注解

将请求参数绑定到Model对象。该注解只支持一个属性value,类型为String,表示绑定的属性名称。

  • 被@ModelAttribute注释的方法会在Controller每个方法执行前被执行,因此在一个Controller映射多个URL时,要谨慎用。

例子:

@Controller
public class ModelAttribute1Controller {
    //已经隐式绑定参数loginname到Model对象中,在login1方法中返回Model对象
    @ModelAttribute("loginname")
    public String userModel1(@RequestParam("loginname") String loginname) {
        return loginname;
    }
    @RequestMapping(value = "/login1")
    public String login1() {
        return "result1";
    }
}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值