前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >【SpringMVC】002-RequestMapping注解

【SpringMVC】002-RequestMapping注解

作者头像
訾博ZiBo
发布2025-01-06 15:37:47
发布2025-01-06 15:37:47
6700
代码可运行
举报
运行总次数:0
代码可运行

一、RequestMapping注解的作用

1、作用

用于建立请求URL与处理请求方法之间的对应关系;

2、概述

作用范围:

类、方法;

作用在类上:

设置父目录;

例如:sayHello方法的访问地址为XXX/h1/hello,即<a href="h1/hello">点我调转到success.jsp页面</a>

代码语言:javascript
代码运行次数:0
复制
package com.zibo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

//控制器
@Controller
@RequestMapping(path = "/h1")
public class HelloController {
    //设置路径为"/hello"
    @RequestMapping(path = "/hello")
    public String sayHello(){
        //控制台打印"Hello Spring MVC!"
        System.out.println("Hello Spring MVC!");
        //返回success.jsp页面
        return "success";
    }
}
作用在方法上:

设置子目录;

例如:sayHello方法的访问地址为XXX/hello,即<a href="hello">点我调转到success.jsp页面</a>

代码语言:javascript
代码运行次数:0
复制
package com.zibo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

//控制器
@Controller
public class HelloController {
    //设置路径为"/hello"
    @RequestMapping(path = "/hello")
    public String sayHello(){
        //控制台打印"Hello Spring MVC!"
        System.out.println("Hello Spring MVC!");
        //返回success.jsp页面
        return "success";
    }
}
备注:

若仅仅作用在方法上,则可认为没有父目录,直接访问该目录即可;

二、RequestMapping注解的属性

1、name属性(用处不大,以后不会再用)

2、value属性(常用)

用于指定请求的URL路径;

举例:

代码语言:javascript
代码运行次数:0
复制
package com.zibo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

//控制器
@Controller
public class HelloController {
    //设置路径为"/hello"
    @RequestMapping(value = "/hello")
    public String sayHello(){
        //控制台打印"Hello Spring MVC!"
        System.out.println("Hello Spring MVC!");
        //返回success.jsp页面
        return "success";
    }
}

备注:

value属性惯例:当有且仅有value属性时,不需要写RequestMapping(value="值"),只写RequestMapping(value="值");

3、path属性(常用)

跟value功能一样;

4、method属性(常用)

用于指定请求方式;

举例:

代码语言:javascript
代码运行次数:0
复制
package com.zibo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

//控制器
@Controller
public class HelloController {
    //设置路径为"/hello"
    @RequestMapping(value = "/hello", method = {RequestMethod.GET,RequestMethod.POST})
    public String sayHello(){
        //控制台打印"Hello Spring MVC!"
        System.out.println("Hello Spring MVC!");
        //返回success.jsp页面
        return "success";
    }
}

5、params属性

用于指定限制请求参数的条件;它支持简单的表达式,要求请求参数的key和value必须和配置的一模一样;

举例(java):

代码语言:javascript
代码运行次数:0
复制
package com.zibo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

//控制器
@Controller
public class HelloController {
    //设置路径为"/hello"
    @RequestMapping(value = "/hello", params = {"username=ok"})
    public String sayHello(){
        //控制台打印"Hello Spring MVC!"
        System.out.println("Hello Spring MVC!");
        //返回success.jsp页面
        return "success";
    }
}

举例(jsp):

代码语言:javascript
代码运行次数:0
复制
<%--
  Created by IntelliJ IDEA.
  User: ZiBo
  Date: 2020/8/9
  Time: 14:52
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <h3>入门程序!</h3>
    <a href="hello?username=ok">点我调转到success.jsp页面</a>
</body>
</html>

6、headers属性

用于指定限制请求消息头的条件;

举例:

代码语言:javascript
代码运行次数:0
复制
package com.zibo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

//控制器
@Controller
public class HelloController {
    //设置路径为"/hello"
    @RequestMapping(value = "/hello", headers = {"Accept"})
    public String sayHello(){
        //控制台打印"Hello Spring MVC!"
        System.out.println("Hello Spring MVC!");
        //返回success.jsp页面
        return "success";
    }
}

浏览器请求头截图:

7、备注

以上属性若多个同时出现,则必须同时满足;

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-01-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、RequestMapping注解的作用
    • 1、作用
    • 2、概述
      • 作用范围:
      • 作用在类上:
      • 作用在方法上:
      • 备注:
  • 二、RequestMapping注解的属性
    • 1、name属性(用处不大,以后不会再用)
    • 2、value属性(常用)
    • 3、path属性(常用)
    • 4、method属性(常用)
    • 5、params属性
    • 6、headers属性
    • 7、备注
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档