当前位置: 首页 > news >正文

SpringMVC——建立连接

建立连接

将用户(浏览器)和java程序连接起来,也就是访问一个地址能够调用到我们的Spring程序。在 Spring MVC 中使用 @RequestMapping来实现URL 路由映射,也就是浏览器连接程序的作用。


1.@RequestMapping注解介绍

  • @RequestMapping :它是用来注册接口的路由映射的注解。当用户访问一个URL时,将用户的请求对应到程序中某个类的某个方法的过程就叫路由映射
  • @RestController:与@RequestMapping 一起使用。 ⼀个项目中, 会有很多类, 每个类可能有很多的方法, Spring程序怎么知道要执行哪个方法呢?Spring会对所有的类进行扫描, 如果类加了注解@RestController, Spring才会去看这个类里面的方法有没有加 @RequestMapping 这个注解。如果不写@RestController会出下如下报错:

2.@RequestMapping注解使用

访问方法:类路径 + 方法路径

  • 访问地址:http://127.0.0.1:8080/user/sayHi
@RequestMapping("/user")
@RestController
public class UserController {@RequestMapping("/sayHi")public String sayHi(){return "hello,Spring MVC";}
}
  • 访问地址:http://127.0.0.1:8080/user/m1/say/hi
    (RequestMapping 的URL路径也可以是多层路径 依然是 类路径 + 方法路径
@RequestMapping("/user/m1")
@RestController
public class UserController {@RequestMapping("/say/hi")public String sayHi(){return "hello,Spring MVC";}
}
  • 注1:@RequestMapping 的URL 路径最前面加不加 / (斜杠)都可以, Spring程序启动时, 会进行判断, 如果前面没有加 / , Spring会拼接上⼀个 /  (通常情况下, 我们加上 /)
@RequestMapping("user")
@RestController
public class UserController {@RequestMapping("sayHi")public String sayHi(){return "hello,Spring MVC";}
}

    3. @RequestMapping 既支持Get请求, 又支持Post请求

    • 可显示的指定@RequestMapping 来接收POST请求

    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.ResponseBody;@RestController
    public class UserController {@RequestMapping(value = "/getRequest",method= RequestMethod.POST)public String sayHi(){return "get request...";}
    }
    • 可显示的指定@RequestMapping 来接收GET请求

    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.ResponseBody;@RestController
    public class UserController {@RequestMapping(value = "/getRequest",method= RequestMethod.GET)public String sayHi(){return "get request...";}
    }

    4.GetMapping

    和@RequestMapping相同用法,但专门支持Get请求

    5.PostMapping

    和@RequestMapping相同用法,但专门支持Post请求

    注意:客户端(浏览器)传过来的数据会自动进行类型转换(但不一定成功)

    http://www.dtcms.com/a/299026.html

    相关文章:

  • Python高级入门Day6
  • (React入门上手——指北指南学习(第一节)
  • Earth靶机攻略
  • 公域流量向私域流量转化策略研究——基于开源AI智能客服、AI智能名片与S2B2C商城小程序的融合应用
  • 分治算法 (Divide and Conquer)原理、及示例-JS版
  • 告别配置混乱!Spring Boot 中 Properties 与 YAML 的深度解析与最佳实践
  • C++查询mysql数据
  • linux下变更mysql的数据文件目录
  • CentOS 7 安装 MySQL 8.4.6(二进制包)指南
  • 基于MySQL实现基础图数据库
  • Day04–链表–24. 两两交换链表中的节点,19. 删除链表的倒数第 N 个结点,面试题 02.07. 链表相交,142. 环形链表 II
  • GMP模型
  • 背包问题及 LIS 优化
  • 口腔助手|口腔挂号预约小程序|基于微信小程序的口腔门诊预约系统的设计与实现(源码+数据库+文档)
  • vue子组件关闭自己的方式(事件触发)
  • 上证50指数分红和股指期货有什么关系?
  • MybatisPlus-18.插件功能-分页插件基本用法
  • Vue3 学习教程,从入门到精通,Vue3 样式绑定语法详解与案例(17)
  • 学习随想录-- web3学习入门计划
  • 【自动化运维神器Ansible】Ansible常用模块之File模块详解
  • 收银系统优惠功能架构:可扩展设计指南(含可扩展性思路与落地细节)
  • selenium自动化鼠标和键盘操作
  • 06-ES6
  • 【LLM】Kimi-K2模型架构(MuonClip 优化器等)
  • 详解力扣高频SQL50题之550. 游戏玩法分析 IV【中等】
  • qt c++ msvc2017编译器解决界面中中文乱码问题
  • 数据赋能(336)——技术平台——智能化运营
  • 动态SQL标签
  • AI-调查研究-39-多模态大模型量化 微调与量化如何协同最大化性能与效率?
  • opencv学习(图像梯度)