美文网首页
SpringMVC 学习笔记(1)

SpringMVC 学习笔记(1)

作者: 繁页 | 来源:发表于2017-11-06 20:10 被阅读0次

    @RequestMapping注解

    RequestMaping是用于处理请求地址映射的注解,可作用于类或方法上。作用于类上时,表示该类中所有方法请求响应的地址均以该地址为父路径。
    该注解接口中定义了7个属性

    public interface RequestMapping extends Annotation {
       // 指定映射的名称
        public abstract String name();
       // 指定请求路径的地址
        public abstract String[] value();
       // 指定请求的方式,是一个RequsetMethod数组,可以配置多个方法
        public abstract RequestMethod[] method();
       // 指定参数的类型
        public abstract String[] params();
       // 指定请求的header值
        public abstract String[] headers();
       // 指定数据请求的格式
        public abstract String[] consumes();
       // 指定返回的内容类型
        public abstract String[] produces();
    }
    

    默认@RequestMapping("/xxx/xxx")即指定value=/xxx/xxx
    指定请求方式为Post@RequestMapping(value = "/xxx/xxx", method = RequestMethod.POST)

    @PathVariable注解

    使用@PathVariable来接收request请求地址中的动态参数,参数值需要在url进行占位,当方法参数名和请求地址中变量名不一致时,需要指定变量名@PathVariable(value = "page", defaultValue = "page")即value值为page,如果本次请求没有携带这个参数,或者参数为空,那么就会启用默认值

    @RequestMapping("/{page}")
        public String showPage(@PathVariable String page) {
            return page;
        }
    

    @RequestParam注解

    使用@RequestParam接收前端参数比较方便,而当请求参数不存在时会有异常发生,可以通过设置属性required=false解决@RequestParam(value="username", required=false)

     /**
      * url = "localhost:8080/xx?username=${username}&password=${password}"
      */
     @RequestMapping("/addUser")
        public String addUser(@RequestParam("username") String username,@RequestParam("password") String password) {
            System.out.println("username is:"+username);
            System.out.println("password is:"+password);
            return "/index";
        }
    

    SpringMVC中Controller层获取请求参数的几种方式

    • 直接把表单的参数写在Controller相应的方法的形参中,适用于get方式提交,不适用于post方式提交
    • 通过HttpServletRequest接收,post方式和get方式都可以
    • 通过一个pojo对象来接收,post方式和get方式都可以
    • 使用@ModelAttribute注解获取post请求的form表单数据
    • 使用@PathVariable注解获取路径中的参数
    • 使用@RequestParam注解绑定请求参数到方法入参

    相关文章

      网友评论

          本文标题:SpringMVC 学习笔记(1)

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