首页 > 编程语言 >【JavaEE】Spring Web MVC

【JavaEE】Spring Web MVC

时间:2024-12-01 15:57:42浏览次数:7  
标签:Web RequestMapping Spring JavaEE MVC Servlet 请求

目录


一、Spring Web MVC简介

官方文档介绍:

Spring Web MVC is the original web framework built on the Servlet API and has been included in the Spring Framework from the very beginning. The formal name, “Spring Web MVC,” comes from the name of its source module (spring-webmvc), but it is more commonly known as “Spring MVC”.

Parallel to Spring Web MVC, Spring Framework 5.0 introduced a reactive-stack web framework whose name, “Spring WebFlux,” is also based on its source module (spring-webflux). This chapter covers Spring Web MVC. For reactive-stack web applications, see Web on Reactive Stack.

For baseline information and compatibility with Servlet container and Jakarta EE version ranges, see the Spring Framework Wiki.

翻译:

Spring Web MVC 是基于 Servlet API 构建的原始 Web 框架,从一开始就包含在 Spring 框架中。正式名称“Spring Web MVC”来自其源模块的名称 (spring-webmvc),但更常见的名称是“Spring MVC”。

与 Spring Web MVC 并行,Spring Framework 5.0 引入了一个反应式堆栈 Web 框架,其名称“Spring WebFlux”也基于其源模块 (spring-webflux)。本章介绍 Spring Web MVC。对于反应式堆栈 Web 应用程序,请参阅反应式堆栈上的 Web。

有关 Servlet 容器和 Jakarta EE 版本范围的基线信息和兼容性,请参阅 Spring Framework Wiki。

servlet:

Servlet 是⼀种实现动态⻚⾯的技术. 准确来讲Servlet是⼀套 Java Web 开发的规范,或者说是⼀套 Java Web 开发的技术标准. 只有规范并不能做任何事情,必须要有⼈去实现它. 所谓实现 Servlet 规范,就是真正编写代码去实现 Servlet 规范提到的各种功能,包括类、⽅法、属性等.
Servlet 规范是开放的,除了 Sun 公司,其它公司也可以实现 Servlet 规范,⽬前常⻅的实现了
Servlet 规范的产品包括 Tomcat、Weblogic、Jetty、Jboss、WebSphere等,它们都被称
为"Servlet 容器". Servlet 容器⽤来管理程序员编写的Servlet 类.

1.1 MVC简介

MVC:

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

  • View(视图) 指在应⽤程序中专⻔⽤来与浏览器进⾏交互,展⽰数据的资源.
  • Model(模型) 是应⽤程序的主体部分,⽤来处理程序中数据逻辑的部分.
  • Controller(控制器)可以理解为⼀个分发器,⽤来决定对于视图发来的请求,需要⽤哪⼀个模型来处理,以及处理完后需要跳回到哪⼀个视图。即⽤来连接视图和模型

1.2 Spring MVC

MVC 是⼀种架构设计模式, 也是⼀种思想, ⽽ Spring MVC 是对 MVC 思想的具体实现.
除此之外, Spring MVC还是⼀个Web框架.
总结来说,Spring MVC 是⼀个实现了MVC 模式的 Web 框架.

  • Spring Boot 只是实现Spring MVC的其中⼀种⽅式⽽已.
  • Spring Boot 可以添加很多依赖, 借助这些依赖实现不同的功能. Spring Boot通过添加Spring Web
  • MVC框架, 来实现web功能.

1.3 @RequestMapping注解

@RequestMapping 是Spring Web MVC 应⽤程序中最常被⽤到的注解之⼀,它是⽤来注册接⼝的
路由映射的.
表⽰服务收到请求时, 路径为 /sayHi 的请求就会调⽤ sayHi 这个⽅法的代码.

路由映射:

当⽤⼾访问⼀个 URL 时, 将⽤⼾的请求对应到程序中某个类的某个⽅法的过程就叫路由映射.

1.3.1 使用

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

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

此时访问的就是:http://127.0.0.1:8080/user/hello

路径命名:

@RequestMapping 的URL 路径最前⾯加不加 / (斜杠)都可以, Spring程序启动时, 会进⾏判断,如果前⾯没有加 / , Spring会拼接上⼀个 / ,但是习惯加上。

1.3.2 @RequestMapping的请求设置

@RequestMapping支持所有请求
指定请求⽅法类型:
我们可以显⽰的指定@RequestMapping 来接收POST的情况,如下所⽰:

1.3.2.1 方法1

形式:在注解中value设置为路径,method设置为需要的请求,可以是数组。

 @RequestMapping(value = 路径, method = {RequestMethod.POST, 请求2})
@RestController
@RequestMapping("/user")
public class UserController {
    @RequestMapping(value = "/hello", method = RequestMethod.POST)
    public String hello() {
        return "hello Spring";
    }

}

再次使用浏览器访问就会报错:报客户端的错误,因为我们发的请求方式错误

当我们使用Postman发送POST请求就可以成功。

1.3.2.2 方法2

直接使用对应的请求的注解即请求+Mapping。

@RestController
public class UserController {
    @PostMapping (value = "/hello")
    public String hello() {
        return "hello Spring";
    }
}

二、Postman介绍

Postman就是专门测试后端代码的,可以发送不同的请求。
下载链接:https://www.postman.com/downloads/

2.1 创建请求

2.2 界面如下:

2.3 传参介绍

普通传参, 就是通过查询字符串来传参。
URL结构:

Postman通过这个板块传参:

标签:Web,RequestMapping,Spring,JavaEE,MVC,Servlet,请求
From: https://blog.csdn.net/yj20040627/article/details/144009078

相关文章

  • 【Java毕业设计】基于Springcloud+SpringBoot+Vue的智慧养老系统
    源码获取:https://download.csdn.net/download/u011832806/89426620基于Springcloud+SpringBoot+Vue的智慧养老系统开发语言:Java数据库:MySQL技术:Springcloud+SpringBoot+MyBatis+Vue.js+Eureka+elementUI工具:IDEA/Ecilpse、Navicat、Maven系统演示视频:链接:https://pan.b......
  • springcloud组件openFeign
    openFeign是什么?1、openFeign是个声明式WebServer客户端,使用openFeign让编写WebService客户端更加简单2、它的使用方法是定义一个服务接口然后在上面添加注解3、openFeign也支持可拔插式的编码器和解码器4、SpringCloud对openFeign进行了封装使其支持了SpringMvc标准注解......
  • springboot毕设北京市美食推荐管理系统程序+论文
    系统程序文件列表开题报告内容研究背景北京市,作为中国的首都,不仅拥有丰富的历史文化遗产,更是一个美食汇聚的宝地。从传统的宫廷御膳到地道的老北京小吃,再到各式各样的国际美食,北京市的美食种类繁多,各具特色。然而,面对如此庞大的美食资源,如何有效地推荐给用户,帮助他们快速找......
  • springboot毕设北京冬奥会志愿者管理系统程序+论文
    系统程序文件列表开题报告内容研究背景随着2022年北京冬奥会的临近,志愿者的管理和调度成为了赛事成功举办的关键因素之一。志愿者作为连接赛事与观众的桥梁,其服务质量和效率直接影响到赛事的顺利进行和观众的体验。然而,传统的志愿者管理方式往往存在信息更新不及时、调度不......
  • 【springboot开发】Spring Boot参数验证
    一、简介二、实战案例2.1基础知识2.2Controller接口参数验证2.3在非Controller层数据验证2.4JPA实体验证2.5自定义验证2.6编程验证2.7验证分组2.8验证错误处理2.9错误消息国际化2.10自定义验证注解环境搭建Spr......
  • springboot毕设报价制酒水交易网站程序+论文
    系统程序文件列表开题报告内容研究背景在当今数字化时代,电子商务的兴起极大地改变了人们的消费习惯,为各行各业带来了前所未有的发展机遇。酒水行业作为传统零售业的重要组成部分,也逐渐开始向线上转型,以寻求更广阔的市场和更高的效率。然而,目前市场上的酒水交易网站大多功能......
  • springboot毕设保险在线理赔系统程序+论文
    系统程序文件列表开题报告内容研究背景随着互联网的飞速发展和普及,各行各业都在积极探索数字化转型之路,保险业也不例外。传统的保险理赔流程繁琐、耗时长,往往需要客户多次往返于保险公司和医疗机构之间,提交大量纸质材料,这不仅降低了理赔效率,也严重影响了客户的满意度。近年......
  • 从源码角度深入剖析Spring Bean对象创建过程中各后置处理器的作用与实现原理
            springioc容器刷新的过程中涵盖了bean对象的创建流程,再bean对象创建的过程中,使用了哪些后置处理器(扩展接口)?这些后置处理器又有什么作用?下图为spring容器刷新过程中,各处理器的位置。        本文着重对BeanDefinitionRegistryPostProcessor、MergedB......
  • 【开题报告+论文+源码】基于SpringBoot+Vue 的减肥管理系统的设计与实现
    项目背景与意义随着现代生活节奏的加快,人们在工作和生活中面临着越来越多的压力,这导致了不少人出现了不健康的生活习惯,如饮食不规律、缺乏运动等,进而引发肥胖等健康问题。肥胖不仅关系到个人的外观形象,更重要的是它增加了患心血管疾病、糖尿病、高血压等多种慢性病的风险,严......
  • spring的注解开发-事务@transactional的使用
    新建maven项目pom<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http......