Spring MVC的核心类和注解——@RequestMapping注解(一)@RequestMapping注解的使用

一、@RequestMapping注解作用

        @RequestMapping注解用于建立请求URL和Handler(处理器)之间的映射关系,该注解可以标注在方法上和类上。下面分别对@RequestMapping注解的这两种使用方式进行介绍。

(一)、方式一—标注在方法上

        当@RequestMapping注解标注在方法上时,该方法就成了一个可以处理客户端请求的Handler(处理器),它会在Spring MVC接收到对应的URL请求时被执行。Handler在浏览器中对应的访问地址,由项目访问路径+处理方法的映射路径共同组成。

二、@RequestMapping注解的使用

接下来通过一个案例演示@RequestMapping注解标注在方法上的使用。

1、创建FirstController类,在类中创建sayHello()方法,用来处理客户端请求。

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;@Controller
public class FirstController {@RequestMapping(value="/firstController")public void sayHello() {System.out.println("hello Spring MVC");}
}

2、启动项目,在浏览器中访问http://localhost:8080/chapter11/firstController,控制台打印输出信息

hello Spring MVC

        由运行结果可知,sayHello()方法被成功执行,说明@RequestMapping注解标注在方法上时,成功建立了请求URL和处理请求方法之间的对应关系。

(二)、方式二—标注在类上

        当@RequestMapping注解标注在类上时,@RequestMapping的value属性值相当于本处理器类的命名空间,即访问该处理器类下的任意处理器都需要带上这个命名空间。@RequestMapping标注在类上时,其value属性值作为请求URL的第一级访问目录。当处理器类和处理器都使用@RequestMapping注解指定了对应的映射路径,处理器在浏览器中的访问地址,由项目访问路径+处理器类的映射路径+处理器的映射路径共同组成。

1、接下来通过一个案例演示@RequestMapping注解标注在类上的使用。

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;@Controller
@RequestMapping(value="/springMVC")
public class FirstController {@RequestMapping(value="/firstController")public void sayHello() {System.out.println("hello Spring MVC");}
}

2、启动项目,在浏览器中访问http://localhost:8080/chapter11/springMVC/firstController,控制台打印输出信息。

hello Spring MVC

        由运行结果可知, sayHello()方法被成功执行,说明@RequestMapping注解标注在类上时,成功建立了请求URL和处理请求类之间的对应关系。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/33053.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络期末

1、IP 地址为:192.168.0.254,它的子网掩码应该为( ) A.255.255.255.0 B.255.255.254.0 C.255.255.252.0 D.255.255.0.0 2、最容易产生网络可靠性瓶颈问题的拓扑构型是( )。 A 总线型 B 星型 C 环型 D 网状型 3、HTTP 就是电子邮件阅读协议&#xff0…

UE5 中的碰撞问题

文章目录 一、初始准备二、重叠和碰撞三、自定义碰撞 一、初始准备 首先我们创建一个 BP_ThirdPerson 项目,然后在项目中创建两个 Actor 的蓝图 Blueprint 首先是一个移动的 BP_Push,这里使用 time line 循环旋转 cube 的相对位置 得到效果如下 然后是…

在QVBoxLayout中如何将小部件垂直对齐到顶部而不是居中

在使用Qt框架进行开发时,当你将小部件添加到布局中,小部件默认会垂直居中。我们如何能让这些小部件从顶部开始垂直排列而不是默认的居中呢? 方法一:使用addStretch 如果你希望在一个QVBoxLayout中将固定大小的小部件堆叠在顶部&…

计算机网络 —— 应用层(FTP)

计算机网络 —— 应用层(FTP) FTP核心特性:运作流程: FTP工作原理主动模式被动模式 我门今天来看应用层的FTP(文件传输协议) FTP FTP(File Transfer Protocol,文件传输协议&#x…

qt基本窗口类(QWidget,QDialog,QMainWindow)

1.三个基本窗口类 1.1QWidget 所有窗口的基类 可以内嵌到其他窗口的内部,无边框 也可以作为独立窗口显示,有边框 1.2QDialog 继承于QWidget 对话框窗口类 不可以内嵌到其他窗口 有模态和非模态两种显示方式 1.3QMainWind 继承于QWidget 主窗口类 不可以…

【服务器07】之【GitHub项目管理】及【Unity异步加载场景】

登录GitHub官网 GitHub: Let’s build from here GitHub 注册账号 登录账号 输入一个自定义名字,点击创建存储库就可以了 现在我们下载Fork Fork - a fast and friendly git client for Mac and Windows (git-fork.com) 免费的 下载完成之后点击File下的Clone …

IPython使用技巧整理

以下是一些常见且有用的IPython使用技巧,整理如下: 一、基本功能 1. 启动IPython:在终端输入ipython命令即可启动IPython环境。 2. 自动补全:使用Tab键进行变量和函数名的自动补全。例如,输入pri后按Tab键&#xff0c…

Docker 多阶段构建

多阶段构建 目录 尝试创建 Dockerfile构建容器镜像运行 Spring Boot 应用程序使用多阶段构建额外资源 在传统构建中,所有构建指令都在一个构建容器中顺序执行:下载依赖项、编译代码、打包应用程序。所有这些层最终都在你的最终镜像中。这种方法虽然可行…

TLS握手中的RTT

文章目录 TLS 1.2 握手过程中的 RTT 次数TLS 1.3 1-RTT 初次TLS1.3 0-RTT 握手过程总结 TLS 1.2 握手过程中的 RTT 次数 TLS 1.2 握手通常需要2 RTT 才能完成。具体步骤如下: 第一次 RTT: 客户端发送 ClientHello:客户端生成一个随机数&…

怎么描述shareed_ptr与unique_ptr的共享与独占

std::shared_ptr 和 std::unique_ptr 是 C11 引入的智能指针类型,它们用于自动管理动态分配的内存,防止内存泄漏。这两种智能指针在内存所有权和生命周期管理方面有着明显的区别。 std::shared_ptr(共享所有权) std::shared_ptr …

深度神经网络简介

深度神经网络(Deep Neural Networks, DNNs)是机器学习领域中一种重要的技术,特别是在处理复杂和大规模数据方面表现出色。以下是关于深度神经网络的详细介绍: 一、定义与原理 深度神经网络是由多层神经元组成的人工神经网络&…

分别使用autofs和修改/etc/fstab文件挂载其他ip地址路径的示例

题目: 按照以下要求,通过 autofs 自动挂载远程用户的主目录: server1.lab0.example.com(172.25.0.254)通过 NFS 共享目录/rhome 到你的系统, 此文件系统中包含为用户 ldapuser0 预配置分别使用autofs和修改/etc/fstab文件挂载其他…

ServletRequest类及其使用方法介绍

在Java的Servlet技术中,ServletRequest是一个接口,它定义了客户端发送到服务器的请求的API。这个接口提供了获取请求信息的方法,包括参数、头信息、属性等。以下是对ServletRequest接口中一些重要方法的介绍以及它们的使用示例。 ServletReq…

【退役之重学 AI】Ubuntu 安装 Anaconda

一. 下载 安装文件 https://www.anaconda.com/download/success 二. 安装 bash anaconda****.bash 一路 enter,yes 最后一个问你 要不要 conda init,这里得输入yes(默认是no,所以不要直接 enter),否则你…

Pytest和Unitest框架对比

在学到自动化的时候,很多同学都遇到了Pytest和Unitest框架,有的人是两个都学,但是学的不精只是知道分别怎么用.不了解两个区别是什么.有的是犹豫到底要学习那个框架.其实要做好自动化测试,是有必要了解不同框架之间的差异化的. Pytest 特点: Pytest采用了更简洁、更灵活的语法…

Linux - 探秘 Linux 的 /proc/sys/vm 常见核心配置

文章目录 PreLinux 的 /proc/sys/vm 简述什么是 /proc/sys/vm?主要的配置文件及其用途参数调整对系统的影响dirty_background_ratio 和 dirty_ratioswappinessovercommit_memory 和 overcommit_ratiomin_free_kbytes 实例与使用建议调整 swappiness设置 min_free_kb…

移动展厅:便捷高效的展示新模式—轻空间

在现代社会,移动展厅作为一种创新的展示模式,逐渐成为各行业的重要工具。凭借其便捷高效的特点,移动展厅为企业和组织提供了全新的展示解决方案。 快速部署与灵活性 移动展厅采用气膜结构,能够在短时间内快速部署。这种高效的搭建…

【非常实验】如何在移动设备上运行 Docker?

本章就从在 DevOps 中最基本但也是最强大的工具 Docker 开始。最近,我在尝试更多Termux的可能性,于是就想着试试Docker适不适合arm架构。 我用的是天玑9000芯片,而不是高通,所以显示不出来 Qualcomm。所以我决定从在手机上运行 docker 开始,但这可能吗?让我们一起来看看吧…

什么是超级智能?

“超级智能”可以理解为将多个人的智能、机器智能以及环境智能融合在一起。这个定义强调了跨越不同领域和系统的综合与协同,以实现更强大和高效的智能能力。 多个人的智能融合指的是将多个个体的知识、经验和创造力结合起来。通过协作和信息共享,能够集思…

论文阅读--Cross-view Transformers for real-time Map-view Semantic Segmentation

一种新的2D维度的bev特征提取方案,其通过引入相机先验信息(相机内参和外参)构建了一个多视图交叉注意力机制,能够将多视图特征映射为BEV特征。 cross view attention:BEV位置编码由根据相机标定结果(内参和…