SpringMVC之@RequestMapping注解

2023-05-16

RequestMapping:org.springframework.web.bind.annotation.RequestMapping

RequestMapping注解类型用来指示Spring用哪一个类或方法来处理请求动作,该注解可用于类或方法

@RequestMapping可以用来注解一个控制器类

代码:


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

@Controller
@RequestMapping(value="/user")
public class TestRequestMapping {
    @RequestMapping(value="/login")
    public String login(Model model){
       return "login";
    }

    @RequestMapping(value="/register")
    public String register(Model model){
        return "register";
    }
}  

因为TestRequestMapping累中加了vaule="/user"的@RequestMapping注解,因此所有相关路径都要加上“/user”,此时方法被映射到如下请求URL:

http://localhost:8080/user/login

http://localhost:8080/user/register

RequestMapping 的相关属性

1、value属性

用来映射一个请求和一个方法。例如


@RequestMapping(value="/login")
public String login(Model model){
   return "login";
}  

如果@RequestMapping只有唯一的属性,则可以省略属性名,即如下两个标注含义相同。


@RequestMapping(value="/login")
@RequestMapping("/login")  

但是,如果超过一个属性,就必须写上value属性名称

2、method属性

该属性用来指示该方法仅仅处理哪些http请求方式


@RequestMapping(value="/login", method = RequestMethod.GET)
@RequestMapping(value="/login", method = RequestMethod.POST)

可以同时支持多个http请求方式
@RequestMapping(value="/login", method = {RequestMethod.POST, RequestMethod.GET})  

如果没有指定method属性值,则请求处理方法可以处理人员的http请求方式  

3、consumes属性

该属性指定处理请求的提交内容类型(Content-Type)


@RequestMapping(value="/login", method = RequestMethod.POST, consumes="application/json")  

表示方法仅处理request Content-Type为"application/json"类型的请求

4、produces属性

该属性指定返回的内容类型,返回的内容类型必须是request请求头(Accept)中所包含的类型


@RequestMapping(value="/login", method = RequestMethod.POST, produces="application/json")  

方法仅处理request请求中Accept头中包含了"application/json"的请求,同时指明了返回的内容类型为application/json

5、params属性

该属性指定request中必须包含哪些参数值时,才让该方法处理


@RequestMapping(value="/login", method = RequestMethod.POST, params = "myParam=myValue")  

方法中仅处理其中名为myParam、值为myValue的请求

6、headers属性

该属性指定request中必须包含某些指定的header值,才能让该方法处理请求


@RequestMapping(value="/login", method = RequestMethod.POST, headers = "Referer=http://www.aa.org/")  

方法仅处理request的header中包含了指定“Referer”请求头和对应值为“http://www.aa.org/”的请求

 

上述就是RequestMapping注解的一些属性,国庆节就要结束了!!!

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SpringMVC之@RequestMapping注解 的相关文章

随机推荐

  • 网络编程(四)UDP通信

    UDP 以数据为中心 xff0c 非面向连接 xff0c 不安全数据可能丢失但是效率高 xff0c 例如短信 涉及到的类 DatagramSocket 和 DatagramPacket DatagramSocket 此类表示用来发送和接收数
  • 网络编程(五)Socket通信

    在网络编程 xff08 四 xff09 中学习了udp通信 udp通信是非面向连接的 效率高但不安全的通信 而socket通信是基于tcp协议 xff0c 建立稳定连接的点对点的通信 比如打电话 实时 快速 安全性高 占用系统资源高 效率低
  • 网络编程(六)聊天室代码实现

    先写一个客户端输入数据 xff0c 服务器端处理数据后返回给客户端 客户端 xff1a public static void main String args throws UnknownHostException IOException
  • 设计模式——单例模式

    设计模式包括三大类 创建型模式 xff08 主要用来建立对象 xff09 单例模式 工厂模式 抽象工厂模式 建造者模式 原型模式 结构型模式 适配器模式 桥接模式 装饰模式 组合模式 外观模式 享元模式 代理模式 行为型模式 模板方法模式
  • 破解单例模式

    通过反射和反序列化的手段可以破解几种单例模式 xff08 不包含枚举式 xff09 防止反射破解的方法 xff08 在私有构造方法中手动抛出异常 xff09 防止反序列化的方法 xff08 在所在类定义readreadResolve方法 x
  • 设计模式——工厂模式

    工厂模式 xff1a 实现了创建者和调用者的分离 详细分类 xff1a 简单工厂模式 工厂方法模式 抽象工厂模式 面向对象设计的基本原则 xff1a OCP xff08 开闭原则 xff0c Open Closed Principle xf
  • Spring框架jar包的下载方法

    1 登录 xff1a http repo springsource org libs release local org springframework spring 4 2 0 RELEASE 选择自己需要的版本 打开 2 进入上图中选中
  • list添加一个对象的时候抛出NullPointerException

    出现这个问题的原因在于 当你定义了一个List时 xff0c 但是没有new该list xff0c 也没有在无参构造方法中去new该list xff0c 就会抛出空指针异常 例如 xff1a private static List lt U
  • sql语句注意事项

    例子 xff1a select deptno avg sal count from emp where deptno 61 20 group by deptno having count gt 3 having 进行二次筛选 order b
  • Vue指令之V-if篇

    v if见名知意 xff0c 就和我们在java中的if功能类似 java中if xff08 条件成立 xff09 执行语句 只不过Vue中将java中的执行语句换成了标签快中的内容 在v if中 xff0c 也是类似的 v if 61 3
  • 安装SFTP/FTP插件快速编辑远程服务器文件

    默认的Sublime Text 3 是没有sftp ftp功能的 xff0c 如果编辑器自带ftp势必会提高开发效率 xff0c 虽然Sublime Text 3 默认是没有ftp功能 xff0c 但是安装sftp插件很容易 下面是我安装步
  • Vue指令之v-else篇

    讲完v if篇 xff0c 那么接下里我们就说说v else喽 对比java中的if 条件 条件成立执行的语句 else 条件不成立执行的语句 我相信你的脑瓜子已经转了90度 xff0c 已经完全搞明白Vue的v else该怎么用了 没错
  • Vue指令之v-for篇

    现在接着来扯v for指令 v for顾名思义 xff0c 和java中的for指令一个用法 xff0c 该指令用来循环遍历一个数组 v for 指令需要以 site in sites 形式的特殊语法 xff0c sites 是源数据数组并
  • Vue指令之v-on篇

    说到v on就立马事件 xff0c 最典型的的例子就是按钮的事件我们可以用v on监听事件 xff0c 并对用户的输入进行响应 先举个例子 xff0c 上代码 xff1a lt html gt lt head gt lt meta char
  • Vue指令之v-bind篇

    v bind指令 xff0c bind中文意思是捆绑的意思 xff0c 额 xff0c 捆绑 其绑定的参数在v bind 指令中的maohao xff08 冒号 xff09 后指明 xff0c 没错就是我标红的那个冒号 v bind指令被用
  • 5分钟认识JSON

    JSON JavaScript Object Notation JavaScript 对象表示法 什么是Json Json是java script 对象表示式 json是轻量级的文本数据交换格式 json对立于语言 xff1a json使用
  • JS中的const、var和let的区别

    看项目的时候遇到了const和let不知道什么意思 xff0c 特写此博客给记忆力不好的我 1 const定义的变量不可以修改 xff0c 而且补习初始化 xff08 相当于java中的常量 xff09 const a 61 2 正确 a
  • SpringMVC执行的流程

    先通过一个流程图来介绍请求 响应的完整流程 该图是SpringMVC请求响应的完整流程 工作流程如下 xff1a 1 用户向服务器发送请求 xff0c 请求被前端控制器DispatcherServlet截获 2 DispatcherServ
  • SpringMVC之@Controller注解

    Spring从2 5版开始引入注解 xff0c 本文说的是SpringMVC 4版 64 Controller注解 Controller注解用于指示Spring类的实例是一个控制器 xff0c 相对于实现Controller接口变得更加简单
  • SpringMVC之@RequestMapping注解

    RequestMapping xff1a org springframework web bind annotation RequestMapping RequestMapping注解类型用来指示Spring用哪一个类或方法来处理请求动作