美文网首页
springmvc 02 常用注解

springmvc 02 常用注解

作者: 小小机器人 | 来源:发表于2016-10-16 22:52 被阅读18次
  • @RequestMapping注解是用来匹配请求页面到对应处理器的
  • @RequestParam可以获取前端传来的参数
  • @RequestHeader可以获取请求头信息
  • @CookieValue可以获取请求页面的cookie信息

前端jsp

<body>
    
    <a href="springmvc/helloworld">HelloWord</a>
    <br/><br/>
    
    <form action="springmvc/testMethod" method="post">
        <button type="submit">testMethod</button>
    </form><br/>
    
    <a href="springmvc/testParamsAndHeader?username='丁丁'&age=11">testParamsAndHeader</a>
    <br/><br/>
    
    <a href="springmvc/testAntPath/dd/abc">testAntPath</a>
    <br/><br/>
    
    <a href="springmvc/testPathVariable/1">testPathVariable</a>
    <br/><br/>

    <a href="springmvc/testRequestParam?username='丁'&password=221121">testRequestParam</a>
    <br><br>
    
    <a href="springmvc/testRequestHeader">testRequestHeader</a>
    <br><br>
    
    <a href="springmvc/testRequestCookie">testRequestCookie</a>
</body>

处理类

@RequestMapping("/springmvc")
@Controller
public class Handler {
    private static String SUCCESS ="success";
    
    /* 请求映射:
     * 如果类上有@RequestMapping,那么请求路径是:项目/a+b 
     * 如果类上没有@RequestMapping,那么请求路径是:项目/b
     * */
    @RequestMapping("/helloworld")
    public String hello(){
        System.out.println("来到了处理器");
        return SUCCESS;
    }
    
    /**
     * 指定提交的方法
     * 必须是post方式提交*/
    @RequestMapping(value="/testMethod",method=RequestMethod.POST)
    public String testMethod(){
        System.out.println("testMethod");
        return SUCCESS;
    }
    
    /**
     * 指定参数和请求头
     * 必须要有username参数;age参数不能为10;请求头必须Host中必须为loalhost*/
    @RequestMapping(value="/testParamsAndHeader"
            ,params={"username","age!=10"}
            ,headers={"Host=localhost"}
            )
    public String testParamsAndHeader(){
        System.out.println("testParamsAndHeader");
        return SUCCESS;
    }
    
    
    /**
     ant路径:
       ?:匹配一个字符
     *:匹配多个字符
     **:匹配多层路径
     */
    @RequestMapping(value="/testAntPath/*/abc")
    public String testAntPath(){
        System.out.println("testAntPath");
        return SUCCESS;
    }
    
    /**
     * @pathVariable可以映射urlK中的占位符到目标方法的参数中
     * 相当于是把参数id和${id}绑定起来了
     */
    @RequestMapping(value="/testPathVariable/{id}")
    public String testPathVariable(@PathVariable("id") Integer id){
        System.out.println("testPathVariable:"+id);
        return SUCCESS;
    }
    
    @RequestMapping("/testRequestParam")
    public String testRequestParam(
            @RequestParam(value="username")String name
            ,@RequestParam(value="password",required=false,defaultValue="123") int password
            ){
        System.out.println("name:"+name+";age:"+password);
        return SUCCESS;
    }
    /* value:参数名
     * required:是否必须
     * defaultValue:默认值*/
    
    
    @RequestMapping("/testRequestHeader")
    public String testRequestHeader(
            @RequestHeader(value="Accept-Language") String header
            ){
        System.out.println("header:"+header);
        return SUCCESS;
    }
    /*具有的属性跟@RequestParam一样*/
    
    @RequestMapping("/testRequestCookie")
    public String testRequestCookie(@CookieValue("JSESSIONID") String cookie){
        System.out.println("cookie:"+cookie);
        return SUCCESS;
    }
    /*具有的属性跟@RequestParam一样;只有value可以省略"value"*/
}

相关文章

网友评论

      本文标题:springmvc 02 常用注解

      本文链接:https://www.haomeiwen.com/subject/ijkayttx.html