Spring Web MVC入门(1)(建立连接)

一.什么是Spring Web MVC?

        Spring Web MVC是基于ServletAPI构建的原始Web框架,从一开始就包含在Spring框架中.它的正式名称"Spring Web MVC"来自其源模块的名称(Spring-webmvc),但它通常被称为"Spring MVC".

二.MVC的定义

    MVC是Model View Controller的缩写,它是软件工程中的一种软件架构设计模式,它把软件系统分为模型,视图和控制三个基本部分.

       

          View(视图):指在应用程序中专门用来与浏览器进行交互,展示数据的资源

          Model(模型):是应用程序的主体部分,用来处理程序中数据逻辑部分

          Controller(控制器):可以理解为一个分发器,用来决定对于视图发来的请求,需要用哪一个模型来处理,以及处理完后需要跳回到哪一个视图.即用来连接视图和模型.

三.什么是Spring MVC?

     MVC是一种架构设计模式,也是一种思想,而Spring MVC是对MVC思想的具体实现.除此之外,Spring MVC还是一个Web框架.

总结来说,Spring MVC是一个实现了MVC模式的Web框架

四.学习Spring MVC

   既然是Web框架,那么当用户下浏览器中输入url之后,我们的Spring MVC项目就可以感知到用户的请求,并给予响应.

  学习Spring MVC,重点也就是学习如何通过浏览器和用户程序进行交互.

主要分以下三个方面:

1.建立连接: 将用户(浏览器)和Java程序连接起来,也就是访问一个地址能够调用到我们的Spring程序.

2.请求: 用户请求的时候会带一些参数,在程序中要想办法获取到参数,所以请求这块主要是获取参数的功能

3.响应: 执行了业务逻辑之后,要把程序执行的结果返回给用户,也就是响应.

1.建立连接

在Spring MVC中使用@RequestMapping来实现URL路由映射,也就是浏览器连接程序的作用

创建一个UserController类,实现用户通过浏览器和程序的交互,具体实现代码如下:

package com.example.demo;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class UserController {//路由器规则注册@RequestMapping("/sayHi")public String sayHi() {return "hello Spring MVC";}
}

方法名和路径名称无需一致

接下来访问: http://127.0.0.1:8080/sayHi ,就可以返回数据了

(1).@RequestMapping 注解介绍

@RequestMapping是Spring Web MVC应用程序中最常被用到的注解之一,它是用来注册接口的路由映射的.

表示服务器收到请求时,路径为/sayHi的请求就会调用sayHi这个方法的代码.

路由映射: 当用户访问一个URL时,将用户的请求对应到程序中某个类的方法的过程就叫路由映射.

(2).@RequestMapping 使用

@RequestMapping 既可以修饰类,也可以修饰方法,当修饰类和方法时,访问的地址是类路径+方法路径.

@RequestMapping标识一个类: 设置映射请求的请求路径的初始信息

@RequestMapping标识一个方法: 设置映射请求的请求路径的具体信息

@RequestMapping("/User")
@RestController
public class UserController {@RequestMapping("/sayHi")public String sayHi() {return "hello Spring MVC";}
}

访问地址: http://127.0.0.1:8080/User/sayHi

注意: @RequestMapping 的URL路径最前面加不加/都可以,Spring程序启动时,会进行判断,如果前面没加/,Spring会拼接上一个/

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

fastadmin框架后台列表固定第一行列表固定头部

在列表中,如果列表字段很多,并且每页数量很多,往下拉的时候就不好辨别数据是哪个字段的,对用户造成不好的浏览体验。 通过以下方法,可以实现将列表的第一行,也就是头部,固定在第一行显示,这样就能轻松辨别每个数据对应是哪个字段的,增加用户的使用体验。 打开项目的…

UML图书管理系统用例图示例

新书速览|《UML 2.5基础、建模与设计实践》新书速览|《UML 2.5基础、建模与设计实践 【例4.4】图书管理系统用例图。 图书管理系统按其业务功能分成借阅者管理、图书管理、借书、还书和用户管理等几部分,这些职能对应于系统的不同组织部门。 1)系统参…

即时设计初学者指南,零基础入门必看

1.1下载 即时设计目前支持个人免费使用,用户可以自由创建项目和文件,并邀请团队成员在线合作。即时设计支持网页端、macOS、Windows、Linux、iOS、Android 和微信小程序 1.2 安装 进入即时设计官网,点击免费使用即时设计或进入工作台&#…

基于conda包的环境创建、激活、管理与删除

Conda 是一个开源的包管理和环境管理系统。 很多不同的项目可能需要使用不同的环境。例如某个项目需要使用pytorch1.6,另一个项目需要使用pytorch1.8,那么conda包就可以创建两个虚拟环境,分别配置不同的资源,需要使用哪些资源就去…

14-52 剑和诗人26 - RAG 和 VectorDB 简介

检索增强生成 (RAG) 和 VectorDB 是自然语言处理 (NLP) 中的两个重要概念,它们正在突破 AI 系统所能实现的界限。 在这篇博文中,我将深入探讨 RAG,探索其工作原理、应用、优势和局限性。 我们还将研究 VectorDB,这是一种专用于向…

9月Sui Builder House新加坡站开启报名

本次以建设者为主的活动包括: 与Sui社区互动的机会庆祝Sui生态成就的时刻公布和发布新产品建设者学习、网络交流、分享和启动新项目的机会 该活动与Token2049新加坡同期进行,Token2049是一个全球性会议系列,汇集加密货币的决策者们交换想法…

RAGFlow开源Star量破万,是时候思考下RAG的未来是什么了

搜索技术是计算机科学中最难的技术挑战之一,迄今只有很少一部分商业化产品可以把这个问题解决得很好。大多数商品并不需要很强的搜索,因为这和用户体验并没有直接关系。然而,随着 LLM 的爆炸性增长,每家使用 LLM 的公司都需要内置…

CentOS 8升级gcc版本

1、查看gcc版本 gcc -v发现gcc版本为8.x.x,而跑某个项目的finetune需要gcc-9,之前搜索过很多更新gcc版本的方式,例如https://blog.csdn.net/xunye_dream/article/details/108918316?spm1001.2014.3001.5506,但执行指令 sudo yu…

为什么使用 Lumion 3D 渲染软件进行建筑可视化?

如今,建筑可视化的需求量很大。一些报告指出,到 2025 年,建筑可视化作品的市场规模可能达到 57.2 亿美元。这只能说明 3D 渲染和建筑可视化在当今的重要性日益增加。如今,它已成为广告、营销、沟通等诸多领域前所未有的工具。 Lu…

先进电机拓扑及控制算法介绍(1)——串联绕组电机拓扑极其控制

1.前言 在这个专栏,我会介绍一些比较先进的电机拓扑及控制算法,并且会做仿真来验证这些电机拓扑及控制算法的先进性。什么叫做“比较先进的电机拓扑及控制算法”呢? 在我看来,这些电机拓扑及控制算法被提出不久,知道…

【排序 - 冒泡排序】

当我们谈论经典的排序算法时,冒泡排序(Bubble Sort)往往是最先被提及的一种。尽管它在实际应用中不太常见,但冒泡排序的简单易懂,有助于理解排序算法的基本原理和思想。 冒泡排序的基本原理 冒泡排序是一种基础的交换…

武汉迈信EP5-TLO8与博途1200通讯

目录 一、伺服调试软件安装二、USB连接软件,参数设置三、专业软件设置IP和名称四、博途组态配置一、伺服调试软件安装 自己去看 二、USB连接软件,参数设置 三、专业软件设置IP和名称

软件测试实习生面试一般都问啥啊?

在软件测试面试中,高频被问的问题通常涵盖了多个方面,包括个人背景、技能水平、对测试的理解、测试方法和技术等。以上是高频被问软件测试面试题视频教程,以下是一些常见的问题: 个人背景与经验: 请简单介绍一下你自己…

Nginx -Web服务器/反向代理/负载均衡

文章目录 一、web服务1.1 nginx安装1.2 配置文件1.3 Nginx处理Web机制 二、反向代理三、负载均衡3.1 分类3.2 负载相关配置文件3.3 keepalive 提高吞吐量3.4 配置浏览器缓存 附、JMeter性能测试工具 以赛促学内容,因不只考题,而大概率感觉会使用nginx做web服务,特对nginx做总结…

数据迁移探索

概念 数据迁移是指将数据从一个计算环境或存储系统移动到另一个计算环境或存储系统。 随着公司业务的发展,出于成本优化、系统升级、分库分表、整合数据等原因。数据迁移工作在日常工作中会陆续出现。 我们可以将数据迁移分成两个部分,第一部分是数据…

借助钡铼经济型网关实现台达PLC设备与OPC UA的连接

随着工业自动化的发展,将传统的PLC设备接入现代化的网络通信系统变得越来越重要。OPC UA(Open Platform Communications Unified Architecture)作为工业领域通信的开放标准,提供了安全、可靠且跨平台的数据传输能力,因…

淘宝商品历史价格查询(免费)

当前资料来源于网络,禁止用于商用,仅限于学习。 淘宝联盟里面就可以看到历史价格 并且没有加密 淘宝商品历史价格查询可以通过以下步骤进行: 先下载后,登录app注册账户 打开淘宝网站或淘宝手机App。在搜索框中输入你想要查询的商…

人工智能算法工程师(中级)课程4-sklearn机器学习之回归问题与代码详解

大家好,我是微学AI,今天给大家介绍一下人工智能算法工程师(中级)课程4-sklearn机器学习之回归问题与代码详解。回归分析是统计学和机器学习中的一种重要方法,用于研究因变量和自变量之间的关系。在机器学习中,回归算法被广泛应用于…

【基于R语言群体遗传学】-16-中性检验Tajima‘s D及连锁不平衡 linkage disequilibrium (LD)

Tajimas D Test 已经开发了几种中性检验,用于识别模型假设的潜在偏差。在这里,我们将说明一种有影响力的中性检验,即Tajimas D(Tajima 1989)。Tajimas D通过比较数据集中的两个𝜃 4N𝜇估计值来…

[Linux安全运维] Linux用户以及权限管理

Linux用户以及权限管理 Linux用户和组 用户信息文件pasawd /etc/passwd文件用于存储用户的信息 :用于分割不同的字段信息 字段示例(第一行)含义说明1root用户名2x密码占位符x代表用户有密码存储在shadow文件中无内容代表用户登录系统不需要密码30UID…