SpringMVC 学习笔记心得(二)@RequestMapping注解详解

在上一章节小编讲述了SpringMVC入门案例,通过配置 前端控制器 , 视图解析器,初始化加载配置文件等等一系列步骤,下面小编继续讲解上章节的疑惑注解@RequestMapping

1 .@RequestMapping的几种形式

path指定请求路径的url
valuevalue属性和path属性是一样的
mthod指定该方法的请求方式(如果接受不在定义范围内的请求会抛404)
params指定限制请求参数的条件
headers发送的请求中必须包含的请求头

1.1 path属性

  @RequestMapping(path = "/path")
    public String pathTest(){
        System.out.println("path");
        return "success";
    }

1.2 value属性:

  // 2. value value属性和path属性是一样的
    @RequestMapping(value = "/value")
    public String valueTest(){
        System.out.println("value");
        return "success";
    }

1.3 method属性:

// 3. method 指定该方法的请求方式
    @RequestMapping(value =  "/method" , method = {RequestMethod.GET })
    public String methodTest(){
        System.out.println("method");
      return "success";
    }

1.4 params属性:

// 4. params 指定该方法的请求方式
    @RequestMapping(value = "/params")
    public String paramsTest(String name , String password){
        System.out.println("params" + name + ":" + password);
        return "success";
    }

1.5 headers属性:

//  5. headers 发送的请求中必须包含的请求头
    @RequestMapping(value = "/headers" , headers = "Accept")
    public String headersTest(){
        System.out.println("headers");
        return "success";
    }
方法里面都是只是简单的输出了一句话,在失败的请求下,控制台是不会输出方法中的话的

1.6 创建index.jsp文件

<a href="path">Path</a>//测试path值方法
<a href="value">value</a>//测试value值方法
<a href="method">method</a>//测试method方法
<a href="params?name=Rocy&age=23">params</a> //测试携带参数方法
<a href="headers">headers</a>//测试是否包含请求头方法

1.7 测试执行结果如下

path
value
method
params Rocy:23
headers

这里有很多地方需要注意:
1.method属性定义的(小编仅仅定义了method = {RequestMethod.GET },这里是标明除了GET请求可以被请求成功之外,其他的请求都会抛出400Bad Request错误声明,导致请求失败,不会进入方法,更不会输出方法中的内容)
2.param属性定义的形参也是要和携带的参数一一对应的,如果形参与携带的参数不对应,那么值就不能自动封装上,便会出现null值打印的情况
3.headers属性:如果不包含头信息也会抛出400异常错误

好了,这里就是SpringMVC的RequestMapping注解的属性使用了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
`@RequestMapping`是Spring MVC框架中的一个重要注解,用于将HTTP请求映射到控制器的方法上。这个注解用于简化RESTful风格的Web服务开发,使得路由和处理逻辑更加清晰和模块化。下面是一些关于`@RequestMapping`实验小结的关键点: 1. **路径映射**:`@RequestMapping`用于指定一个或多个HTTP请求方法(GET, POST, PUT, DELETE等),以及对应的URL路径。例如,`@RequestMapping(value = "/users", method = RequestMethod.GET)`表示该方法处理所有发送到"/users"路径的GET请求。 2. **请求参数**:可以通过`@RequestParam`或`@PathVariable`注解处理请求参数,如查询参数、路径变量等。如`@RequestParam(name="id") Long userId`会从请求中获取名为"id"的查询参数。 3. **返回类型**:`@ResponseBody`可以用来标记返回值为JSON或XML响应体,而`@ModelAttribute`用于处理表单提交的模型属性。 4. **异常处理**:可以使用`@ExceptionHandler`注解来捕获特定的异常,并提供定制的错误处理。 5. **分组和扫描器**:为了方便管理,可以通过`@RequestMapping`的`@ControllerAdvice`或`@Controller`的`@RequestMapping(basePath = "/api/v1")`来对多个控制器进行分组或定义统一的路径前缀。 相关问题-- 1. `@RequestMapping`如何处理不同类型的HTTP请求? 2. 如何在Spring MVC中使用`@RequestParam`和`@PathVariable`? 3. `@ResponseBody`和`@ModelAttribute`的区别是什么? 4. 如何在Spring MVC中实现全局异常处理? 5. 分组和扫描器在Spring MVC中的应用场景是什么?

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值