Spring MVC-@RequestMapping注解详解

下面就来详细讲解“Spring MVC-@RequestMapping注解详解”的完整攻略。

什么是Spring MVC @RequestMapping注解

@RequestMapping 是 Spring MVC 框架中最常用的注解之一,它可以用于方法上,用于指定 HTTP 请求的 URI,或者指定请求的方法 (GET、POST、PUT、DELETE 等)。

@RequestMapping基本用法

以下是一个基本的 @RequestMapping 示例:

@Controller
public class MyController {
    @RequestMapping("/helloWorld")
    public ModelAndView helloWorld() {
        ModelAndView mav = new ModelAndView("helloWorld");
        mav.addObject("message", "Hello World!");
        return mav;
    }
}

上述代码中的 @RequestMapping("/helloWorld") 注解表示的是 /helloWorld 路径的请求会被映射到 helloWorld() 方法上。

@RequestMapping指定HTTP请求方法

如果你需要指定请求处理方法要处理哪些 HTTP 请求方式,可以使用 @RequestMapping 注解的 method 属性来指定。例如,如下代码:

@Controller
@RequestMapping("/my")
public class MyController {
    @RequestMapping(value = "/hello", method = RequestMethod.GET)
    public ModelAndView hello() {
        ModelAndView mav = new ModelAndView("hello");
        mav.addObject("message", "Hello World!");
        return mav;
    }

    @RequestMapping(value = "/hi", method = RequestMethod.POST)
    public ModelAndView hi() {
        ModelAndView mav = new ModelAndView("hi");
        mav.addObject("message", "Hi World!");
        return mav;
    }
}

上述代码中的 hello() 方法会映射到 HTTP GET 方法,在 URI /my/hello 上。而 hi() 方法会映射到 HTTP POST 方法,在 URI /my/hi 上。

@RequestMapping指定URL路径变量

有时候你需要从 URL 中得到某些参数,比如查询字符串或路径变量。这时你可以在具体处理方法中添加相应的参数,Spring MVC 会自动将这些参数绑定到你指定的变量中。

例如,如下代码:

@Controller
@RequestMapping("/my")
public class MyController {
    @RequestMapping(value = "/user/{id}", method = RequestMethod.GET)
    public ModelAndView userInfo(@PathVariable("id") int id) {
        ModelAndView mav = new ModelAndView("userInfo");
        mav.addObject("id", id);
        return mav;
    }
}

上述代码中的 userInfo() 方法上添加了 {id} 路径变量,并使用 @PathVariable("id") 注解来声明该变量。这个变量可以用来处理匹配 http://localhost:8080/my/user/1 这样的请求,并把 1 绑定到 int id 变量中。

另一个用例比较常见的情况是查询字符串参数。例如,如下代码:

@Controller
@RequestMapping("/my")
public class MyController {
    @RequestMapping(value = "/user", method = RequestMethod.GET)
    public ModelAndView userInfo(@RequestParam(name = "id", required = true) int id) {
        ModelAndView mav = new ModelAndView("userInfo");
        mav.addObject("id", id);
        return mav;
    }
}

上述代码中的 userInfo() 方法上添加了 id 请求参数,并使用 @RequestParam 注解来声明该参数。请求参数名称为 id,且必须存在 (required = true),值将被转化成 int 类型,并注入进来。

总结

@RequestMapping 注解是 Spring MVC 框架中最基本、最常用的注解之一。通过它,我们可以轻松地指定 HTTP 请求 URI、请求方法和路径变量等。通过以上两个示例,我们可以看到 @RequestMapping 注解的基本用法。

希望这篇对 Spring MVC @RequestMapping 注解的详解能帮助到你。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring MVC-@RequestMapping注解详解 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • Javaweb使用Maven工具与Tomcat的方法详解

    Javaweb使用Maven工具与Tomcat的方法详解 什么是Maven? Maven是一个Java项目管理工具,它可以帮助我们管理项目的依赖,构建,测试等工作。 为什么需要Maven? 抽象依赖关系,易于维护 统一构建方式,减少人为出错 有助于代码重用 前置条件 在开始Maven项目之前,您需要做一些准备工作: 安装Java JDK 安装Apache M…

    Java 2023年5月20日
    00
  • springboot入门之profile设置方式

    下面我来详细讲解“springboot入门之profile设置方式”的完整攻略。 一、什么是profile 在Spring Boot项目中,profile是一种方便在不同环境中运行应用程序的方式。可以通过定义不同的配置文件来区分不同的环境,比如开发环境、测试环境、生产环境等等。 二、profile的配置方式 Spring Boot提供了多种配置profile…

    Java 2023年5月19日
    00
  • SpringBoot快速整合SpringSecurity的详细步骤(新手都会!)

    Spring Security是一个功能强大的安全框架,可以为Spring Boot应用程序提供身份验证、授权、攻击防护等功能。本文将详细讲解如何快速整合Spring Security到Spring Boot应用程序中,包括如何配置Spring Security、如何定义用户、如何控制访问等。 配置Spring Security 在Spring Boot应用…

    Java 2023年5月15日
    00
  • 详解Java实现JSONArray转Map的三种实现方式

    详解Java实现JSONArray转Map的三种实现方式 本文将详细介绍Java中实现JSONArray转Map的三种方法,其中包括使用JSONObject、Gson和Jackson三种方式实现。首先,我们需要使用以下的引入语句: import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjs…

    Java 2023年5月26日
    00
  • SpringBoot项目整合jasypt实现过程详解

    接下来我将为你详细讲解“SpringBoot项目整合jasypt实现过程详解”的完整攻略。 简介 Jasypt(Java Simplified Encryption)是一个Java加密库,可以提供高强度的安全性。Spring Boot整合Jasypt可以实现密码加密,从而提高系统的安全性。 整合过程 1. 引入依赖 在pom.xml文件中添加jasypt-s…

    Java 2023年5月19日
    00
  • 每日六道java新手入门面试题,通往自由的道路第二天

    每日六道java新手入门面试题,通往自由的道路第二天完整攻略 1. 背景 本系列针对Java新手准备面试的练习题目,既能够检验Java知识的掌握程度,同时也能够提高Java新手的编写代码和调试程序的能力。 2. 面试题目 本次面试题目共计六道题,涉及Java基础、面向对象、异常处理等知识点,具体如下: 1. 判断输出结果: public class Test…

    Java 2023年5月19日
    00
  • jsp内置对象及方法详细介绍

    下面我就来详细讲解一下”JSP内置对象及方法详细介绍”。 JSP内置对象 JSP内置对象是JSP容器在JSP页面执行期间自动创建的一些对象,可以用于在JSP页面中实现不同的功能。JSP内置对象一共有9个:request、response、pageContext、session、application、out、config、exception、page 。 在…

    Java 2023年6月15日
    00
  • Spring Validator接口校验与全局异常处理器

    在Spring中,校验表单数据是十分常见的一个需求。Spring提供了Validator接口来进行校验。在本篇攻略中,我将为你详细讲解如何使用Spring Validator接口进行数据校验,并结合全局异常处理器对校验结果进行处理。 1. Spring Validator接口 Spring Validator接口是一个用于校验数据的接口,可以通过实现该接口来…

    Java 2023年6月15日
    00
合作推广
合作推广
分享本页
返回顶部