【JavaEE】_Spring MVC项目之建立连接
目录
1. Spring MVC程序编写流程
2. 建立连接
2.1 @RequestMapping注解介绍
2.2 @RequestMapping注解使用
2.2.1 仅修饰方法
2.2.2 修饰类与方法
2.3 关于POST请求与GET请求
2.3.1 GET请求
2.3.2 POST请求
2.3.3 限制请求方法
1. Spring MVC程序编写流程
1. 建立连接(客户端和服务器);
2.(浏览器)客户端向服务器发送请求;
3. 服务器向客户端(浏览器)返回响应;
2. 建立连接
在Spring MVC中,使用@RequestMapping实现URL路由映射,完成浏览器对程序的连接;
2.1 @RequestMapping注解介绍
1. @RequestMapping是Spring Web MVC应用程序中最常被使用的注解之一,
用于注册接口的路由映射,
表示服务器接收到请求时,路径为/sayHi的请求就会调用sayHi这个方法的代码;
2. 路由映射:
当用户访问一个URL时,将用户的请求对应到程序中某个类的某个方法的过程就叫路由映射;
2.2 @RequestMapping注解使用
@RequestMapping注解既可以修饰类,也可以修饰方法;
2.2.1 仅修饰方法
当前类没有@RequestMapping修饰,故而URL只需方法路径:

@RequestMapping功能如下:

2.2.2 修饰类与方法
访问地址为:类的路径+方法路径;
现将.java文件修改为:
package com.example.demo.controller;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RequestMapping("/Hi")
@RestController
public class HelloController {@RequestMapping("/sayHi")public String sayHi(){return "Hi, SpringBoot";}@RequestMapping("/sayHello")public String sayHello(){return "Hello ,SpringBoot";}
}
重新启动服务器,此时要填写的URL为:

注:对于注解,可以不以 / 开头,但在开发过程中建议采用标准写法,以 / 开头;
2.3 关于POST请求与GET请求
2.3.1 GET请求
使用浏览器访问:

使用Fiddler抓包,查看请求详情:

可见@RequestMapping支持GET请求;
2.3.2 POST请求
使用postman构造一个POST请求并发送:

得到的响应为:

可见@RequestMapping也支持POST请求;
综上:@RequestMapping既支持GET请求,也支持POST请求;
注:并且,@RequestMapping是支持所有的方法,包括PUT,DELETE等等,
关于HTTP请求方法,可以查看本专栏HTTP请求首行一文,链接如下:
【JavaEE】_HTTP请求首行-CSDN博客
https://blog.csdn.net/m0_63299495/article/details/136115813
2.3.3 限制请求方法
如果服务器需要限制客户端发送的请求的方法,也可以使用@RequestMapping注解method属性进行限制;
现假设限定客户端请求必须使用GET请求:
.java文件内容如下:
package com.example.demo.controller;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;@RequestMapping("/Hi")
@RestController
public class HelloController {@RequestMapping(value = "/sayHi",method = RequestMethod.GET)public String sayHi(){return "Hi, SpringBoot";}@RequestMapping("/sayHello")public String sayHello(){return "Hello ,SpringBoot";}
}
构造一个POST请求并发送:

得到的响应为:

状态码为405,表示方法不允许;
关于响应状态码,可以查看本专栏HTTP响应一文,链接如下:
【JavaEE】_HTTP响应-CSDN博客
https://blog.csdn.net/m0_63299495/article/details/136141244注:对于@RequestMapping注解,如果没有写属性名时,默认属性为value/path,即路径;
如果有多个属性,则需加上属性名;
后续将介绍Spring MVC项目关于请求与响应。
相关文章:
【JavaEE】_Spring MVC项目之建立连接
目录 1. Spring MVC程序编写流程 2. 建立连接 2.1 RequestMapping注解介绍 2.2 RequestMapping注解使用 2.2.1 仅修饰方法 2.2.2 修饰类与方法 2.3 关于POST请求与GET请求 2.3.1 GET请求 2.3.2 POST请求 2.3.3 限制请求方法 1. Spring MVC程序编写流程 1. 建立连接&…...
【JavaEE进阶】 Spring AOP源码简单剖析
文章目录 🍃前言🍀Spring AOP源码剖析⭕总结 🍃前言 前面的博客中,博主对代理模式进行了一个简单的讲解,接下来博主将对Spring AOP源码进行简单剖析,使我们对Spring AOP了解的更加深刻。 🍀Sp…...
Redis--内存回收机制详解
什么是内存回收机制? 众所周知Redis之所以性能高是因为数据都存在内存中,内存是很宝贵的,Redis的内存回收机制本质就是处理达到过期时间的key-value,以及当内存到达最大使用值时候触发的内存淘汰策略。 Redis数据删除的策略有哪些…...
win安装卸载python3.13
一、安装 访问python官网:https://www.python.org/ 点击“Downloads” 点击“Windows” 找到自己要下载的版本和位数,比如我这个是3.13版本、64位的安装包 下载好了之后,双击安装包 勾选“Add python.exe to PATH”:把python环…...
APIFox-自动获取登录状态操作
APIFox-自动获取登录状态操作 概述 作为纯后端开发码农,每次接口开发完的调试很重要,因此每次重复的手动获取登陆状态Token或者直接放行就太麻烦了。 APIFox提供了前置操作,可以很方便的自动获取登录状态,节省大量重复劳动时间。…...
【NDK系列】Android tombstone文件分析
文件位置 data/tombstone/tombstone_xx.txt 获取tombstone文件命令: adb shell cp /data/tombstones ./tombstones 触发时机 NDK程序在发生崩溃时,它会在路径/data/tombstones/下产生导致程序crash的文件tombstone_xx,记录了死亡了进程的…...
CentOS7 Hive2.3.8安装
CentOS7 Hive2.3.8 安装 建议从头用我的博客,如果用外教的文件到 一、9)步骤了,就用他的弄完,数据库不一样,在9步骤前还能继续看我的 一、 安装MySQL 0.0)查询mariadb,有就去0.1),没有就不管…...
代码随想录算法训练营第四十四天 完全背包 、零钱兑换 II 、组合总和 Ⅳ
代码随想录算法训练营第四十四天 | 完全背包 、零钱兑换 II 、组合总和 Ⅳ 完全背包 题目链接:题目页面 (kamacoder.com) 解释一、01背包 一维 :为什么要倒序遍历背包? 首先要明白二维数组的递推过程,然后才能看懂二维变一维的…...
【经验】vscode 鼠标拖曳不能选中整行文字,只能选中纵向矩形范围
1、问题描述 不知道昨天操作vscode设置界面时,误选择了啥,导致鼠标拖曳不能选中整行文字,只能选中纵向矩形范围,现象如下: 2、解决方法 1)打开设置界面 点击左下角按键,选择“设置” 2&…...
Redis--事务机制的详解及应用
Redis事务的概念: Redis事务就是将一系列命令包装成一个队列,在执行时候按照添加的顺序依次执行,中间不会被打断或者干扰,在执行事务中,其他客户端提交的命令不可以插入到执行事务的队列中,简单来说Redis事…...
路由器端口映射如何配置?
在网络通信中,路由器是一个重要的设备,它负责将数据包从一个网络传输到另一个网络。路由器的端口映射配置是一种重要的设置,可以使外部网络中的计算机通过访问路由器上的特定端口与内部网络中的计算机进行通信。本文将介绍什么是路由器端口映…...
力扣34. 在排序数组中查找元素的第一个和最后一个位置(二分查找)
Problem: 34. 在排序数组中查找元素的第一个和最后一个位置 文章目录 题目描述思路复杂度Code 题目描述 思路 Problem: 二分查找常用解题模板(带一道leetcode题目) 直接套用上述中的寻找左、右边界的二分查找模板即可 复杂度 时间复杂度: O ( l o g n )…...
【每日一题】3.2 求逆序对
题目描述 给定一个长度为 n的整数数列,请你计算数列中的逆序对的数量。 逆序对的定义如下:对于数列的第 i个和第 j个元素,如果满足 i<j 且 a[i]>a[j],则其为一个逆序对;否则不是。 输入格式 第一行包含整数 n…...
NTP时间源服务器(NTP网络时钟)助力智慧医院数字化
NTP时间源服务器(NTP网络时钟)助力智慧医院数字化 NTP时间源服务器(NTP网络时钟)助力智慧医院数字化 目前计算机网络中各主机和服务器等网络设备的时间基本处于无序的状态。 随着计算机网络应用的不断涌现,计算机的时…...
Benchmark学习笔记
小记一篇Benchmark的学习笔记 1.什么是benchmark 在维基百科中,是这样子讲的 “As computer architecture advanced, it became more difficult to compare the performance of various computer systems simply by looking at their specifications.Therefore, te…...
Linux中的动静态库
目录 一、静态库 (1)静态库的优缺点: (2)Linux下静态库的创建和执行 1.直接编译编辑 2.指定路径和库名 3.用LIBRARY_PATH环境变量来配置路径 二、动态库 (1)动态库的优缺点 ÿ…...
C/C++基础语法
C/C基础语法 文章目录 C/C基础语法头文件经典问题链表链表基础操作 秒数转换闰年斐波那契数列打印n阶菱形曼哈顿距离菱形图案的定义大数计算 输入输出格式化输入输出getline()函数解决cin只读入一个单词的问题fgets读入整行输出字符数组(两种方式puts和printf&#…...
Home Assistant:基于Python的智能家居开源系统详解
Home Assistant:基于Python的智能家居开源系统详解 在数字化和智能化的时代,智能家居系统成为了现代家庭的新宠。它们能够让我们更加方便地控制家中的各种设备,实现自动化和个性化的居住体验。其中,Home Assistant作为一款基于Pyt…...
使用vscode进行简单的多文件编译
安装好必要的插件后(如C/C,code runner等)默认生成task.json即可进行单文件运行 涉及到多文件情况可以修改task.json如下: {"version": "2.0.0","tasks": [{"type": "cppbuild&quo…...
Python实现PPT演示文稿中视频的添加、替换及提取
无论是在教室、会议室还是虚拟会议中,PowerPoint 演示文稿都已成为一种无处不在的工具,用于提供具有影响力的可视化内容。PowerPoint 提供了一系列增强演示的功能,在其中加入视频的功能可以大大提升整体体验。视频可以传达复杂的概念、演示产…...
告别命令行恐惧:用SmartGit可视化搞定Git分支与合并冲突
告别命令行恐惧:用SmartGit可视化搞定Git分支与合并冲突 在团队协作开发中,Git分支管理和合并冲突是每个开发者都无法回避的挑战。传统的命令行操作虽然强大,但对于许多开发者来说,复杂的命令和晦涩的错误信息常常让人望而生畏。…...
【深度学习模型】手动部署EfficientNet.h5的完整指南与常见问题解决
1. 为什么需要手动部署EfficientNet.h5文件 当你第一次尝试使用EfficientNet模型时,可能会遇到一个常见问题:Keras自动下载模型文件失败。这种情况通常表现为控制台输出类似"URL fetch failure"的错误信息。这主要是因为网络连接问题或某些地区…...
智能搜索系统构建:BAAI/bge-m3语义召回模块部署教程
智能搜索系统构建:BAAI/bge-m3语义召回模块部署教程 想自己搭建一个能“理解”你意思的智能搜索系统吗?比如,你输入“我喜欢看书”,它能精准找到“阅读使我快乐”这样的相关文档,而不是机械地匹配“书”这个关键词。今…...
AI日志平台建设不是工具选型,而是数据契约重构:一份被头部大厂封存3年的《日志Schema治理黄金12条》首次公开
第一章:AI原生软件研发日志分析平台建设 2026奇点智能技术大会(https://ml-summit.org) AI原生软件研发过程中,日志不再是被动记录的副产品,而是具备语义理解能力、可主动推理与反馈的核心数据资产。传统ELK栈难以应对高噪声、多模态、强上下…...
跨平台资源捕获利器:3大核心功能实现全网内容轻松下载
跨平台资源捕获利器:3大核心功能实现全网内容轻松下载 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 你是否曾为…...
最强 AI Coding Agent 架构深度解构
在技术领域,我们常常被那些闪耀的、可见的成果所吸引。今天,这个焦点无疑是大语言模型技术。它们的流畅对话、惊人的创造力,让我们得以一窥未来的轮廓。然而,作为在企业一线构建、部署和维护复杂系统的实践者,我们深知…...
GitFS源码解读:Router、Worker和View三大核心组件分析
GitFS源码解读:Router、Worker和View三大核心组件分析 【免费下载链接】gitfs Version controlled file system 项目地址: https://gitcode.com/gh_mirrors/gi/gitfs GitFS作为一个版本控制文件系统(Version controlled file system)&…...
智能对象替换引擎:重新定义Adobe Illustrator设计自动化的范式转换
智能对象替换引擎:重新定义Adobe Illustrator设计自动化的范式转换 【免费下载链接】illustrator-scripts Adobe Illustrator scripts 项目地址: https://gitcode.com/gh_mirrors/il/illustrator-scripts 在当今设计工作流中,设计师平均37%的工作…...
从数据到模型:最小二乘法在曲线拟合中的实战解析
1. 最小二乘法:数据与模型的桥梁 当你手头有一堆实验数据,想要找出其中的规律时,最小二乘法就是你的好帮手。想象一下,你是一位化学研究员,记录了一组反应速率随温度变化的数据点。这些点看起来大致呈直线分布…...
别再忍受龟速下载了!保姆级教程:为Conda配置清华/阿里云镜像源(Windows/Mac/Linux全平台)
告别Conda下载卡顿:国内镜像源配置全攻略 每次看到Conda下载进度条像蜗牛一样爬行,是不是想砸键盘的心都有了?国内开发者使用默认源下载Python包时,经常遭遇三位数的下载速度,一个简单的numpy安装可能就要消耗半小时咖…...
