Spring MVC【创建与使用】

简介: Spring MVC【创建与使用】

🍎一.Spring MVC介绍


🍒1.1 什么是SpringMVC?


Spring Web MVC 是基于 Servlet API 构建的原始 Web 框架,从⼀开始就包含在 Spring 框架中。它的正式名称“Spring Web MVC”来⾃其源模块的名称(Spring-webmvc),但它通常被称为“Spring MVC” .


从上述定义我们可以得出两个关键信息:


  1. Spring MVC 是⼀个 Web 框架
  2. Spring MVC 是基于 Servlet API 构建的


🍒1.2 MVC 定义


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


3821928f22724a4b833398d90c44e618.png



● Model(模型)是应⽤程序中⽤于处理应⽤程序数据逻辑的部分。通常模型对象负责在数据库中存取数据


● View(视图)是应⽤程序中处理数据显示的部分。通常视图是依据模型数据创建的


● Controller(控制器)是应⽤程序中处理⽤户交互的部分。通常控制器负责从视图读取数据,控制⽤户输⼊,并向模型发送数据


🍒1.3 Spring MVC 与 MVC 的区别


MVC 是⼀种思想,⽽ Spring MVC 是对 MVC 思想的具体实现

总结来说,Spring MVC 是⼀个实现了 MVC 模式,并继承了 Servlet API 的 Web 框架。既然是 Web框架,那么当⽤户在浏览器中输⼊了 url 之后,我们的 Spring MVC 项⽬就可以感知到⽤户的请求


🍒1.4 Spring MVC的基本功能


Spring MVC 我们只需要掌握以下 3 个基本功能:



连接的功能:将⽤户(浏览器)和 Java 程序连接起来,也就是访问⼀个地址能够调⽤到我们的Spring 程序


获取参数的功能:⽤户访问的时候会带⼀些参数,在程序中要想办法获取到参数


输出数据的功能:执⾏了业务逻辑之后,要把程序执⾏的结果返回给⽤户对于 Spring MVC 来说,掌握了以上 3 个功能就相当于掌握了 Spring MVC


🍎二. Spring MVC项目的创建


🍒2.1 Spring MVC 创建


Spring MVC 项⽬创建和 Spring Boot 创建项⽬相同(Spring MVC 使⽤ Spring Boot 的⽅式创建),在创建的时候选择 Spring Web 就相当于创建了 Spring MVC 的项⽬


Spring MVC 可以基于 Spring Boot 创建,也就是创建⼀个 Spring Boot 项⽬,勾选上 Spring Web模块即可,如下图所示:

0f913a55226d4afdafec90e389e9db84.png


🍒2.2 Spring MVC 连接


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

例如:

在我们所部署的项目中返回一个"hello world!“的这个方法,我我们就可以利用@RequestMapp(”/你所设置的访问目录")在本地浏览器网站输入127.0.0.1:8080/输入你所设置的目录就会在页面中返回你设置的方法"hello world!"


@Controller
public class UserController {
    //返回一个非静态页面的数据
    @ResponseBody 
    //设置路由url/第一路径
    @RequestMapping("/sayhi") 
    public String sayHi(){
        return "hello world." ;
    }
}

214dccdd3a1140fb91645462b0d8dd0a.png

🍎 @RequestMapping 与 (GetMapping和PostMapping)注解的使用


@RequestMapping的请求方式


● 如果方法上的@RequestMapping注解没有设置method属性,则get和post请求默认都可以访问

● 如果方法上的@RequestMapping注解设置了method属性,则只能是相应的请求方式可以访问


🍒3.1 @RequestMapping注解的介绍与使用



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


@RequestMapping 是 Spring Web 应⽤程序中最常被⽤到的注解之⼀,它是⽤来注册接⼝的路由映射的.

路由映射:所谓的路由映射指的是,当⽤户访问⼀个 url 时,将⽤户的请求对应到程序中某个类的某个⽅法的过程就叫路由映射


@RequestMapping 基础使⽤就与刚才我们提到的Spring MVC连接中提到的就


我们也可以在method属性中来选择使用哪个方法

 @RequestMapping(method = RequestMethod.POST, value = "/sayhi2")
    public String sayHi2(){
        return "Hello World!";
    }


🍒3.2 GetMapping注解的使用

// 写法1
@RequestMapping("/index")
// 写法2
@RequestMapping(value = "/index",method = RequestMethod.GET)
// 写法3
@GetMapping("/index")

我们可以通过postman来进行验证,是否GetMapping注解只能支持Get方法访问


@GetMapping("/sayhi4")
    public String sayHi4(){
        return "Hello World4!";
    }


67aeffaa949446eaa882280e20e7c11a.png


我们可以在postman不能在post方法下进行访问


4561a53fd26e493599c7ceb52d630e17.png


🍒3.3 PostMapping注解的介绍与使用


// 写法1
@RequestMapping(value = "/index",method = RequestMethod.POST)
// 写法2
@PostMapping("/index")


我们可以通过postman来进行验证,是否PostMapping注解只能支持Post方法访问


@PostMapping("/sayhi3")
    public String sayHi3(){
        return "Hello World3!";
    }


26dd7ffb9d5d4e5fa35ca158ea489da7.png



我们可以在postman中发现不能在Get方法下进行访问


bb252a3034f144febc5fbb88babeaa0f.png

相关文章
|
2月前
|
JSON 前端开发 Java
SSM:SpringMVC
本文介绍了SpringMVC的依赖配置、请求参数处理、注解开发、JSON处理、拦截器、文件上传下载以及相关注意事项。首先,需要在`pom.xml`中添加必要的依赖,包括Servlet、JSTL、Spring Web MVC等。接着,在`web.xml`中配置DispatcherServlet,并设置Spring MVC的相关配置,如组件扫描、默认Servlet处理器等。然后,通过`@RequestMapping`等注解处理请求参数,使用`@ResponseBody`返回JSON数据。此外,还介绍了如何创建和配置拦截器、文件上传下载的功能,并强调了JSP文件的放置位置,避免404错误。
|
2月前
|
前端开发 Java 应用服务中间件
【Spring】Spring MVC的项目准备和连接建立
【Spring】Spring MVC的项目准备和连接建立
59 2
|
3月前
|
缓存 前端开发 Java
【Java面试题汇总】Spring,SpringBoot,SpringMVC,Mybatis,JavaWeb篇(2023版)
Soring Boot的起步依赖、启动流程、自动装配、常用的注解、Spring MVC的执行流程、对MVC的理解、RestFull风格、为什么service层要写接口、MyBatis的缓存机制、$和#有什么区别、resultType和resultMap区别、cookie和session的区别是什么?session的工作原理
【Java面试题汇总】Spring,SpringBoot,SpringMVC,Mybatis,JavaWeb篇(2023版)
|
2月前
|
XML 前端开发 Java
Spring,SpringBoot和SpringMVC的关系以及区别 —— 超准确,可当面试题!!!也可供零基础学习
本文阐述了Spring、Spring Boot和Spring MVC的关系与区别,指出Spring是一个轻量级、一站式、模块化的应用程序开发框架,Spring MVC是Spring的一个子框架,专注于Web应用和网络接口开发,而Spring Boot则是对Spring的封装,用于简化Spring应用的开发。
140 0
Spring,SpringBoot和SpringMVC的关系以及区别 —— 超准确,可当面试题!!!也可供零基础学习
|
3月前
|
XML 缓存 前端开发
springMVC02,restful风格,请求转发和重定向
文章介绍了RESTful风格的基本概念和特点,并展示了如何使用SpringMVC实现RESTful风格的请求处理。同时,文章还讨论了SpringMVC中的请求转发和重定向的实现方式,并通过具体代码示例进行了说明。
springMVC02,restful风格,请求转发和重定向
|
4月前
|
Java 数据库连接 Spring
后端框架入门超详细 三部曲 Spring 、SpringMVC、Mybatis、SSM框架整合案例 【爆肝整理五万字】
文章是关于Spring、SpringMVC、Mybatis三个后端框架的超详细入门教程,包括基础知识讲解、代码案例及SSM框架整合的实战应用,旨在帮助读者全面理解并掌握这些框架的使用。
后端框架入门超详细 三部曲 Spring 、SpringMVC、Mybatis、SSM框架整合案例 【爆肝整理五万字】
|
4月前
|
XML JSON 数据库
SpringMVC入门到实战------七、RESTful的详细介绍和使用 具体代码案例分析(一)
这篇文章详细介绍了RESTful的概念、实现方式,以及如何在SpringMVC中使用HiddenHttpMethodFilter来处理PUT和DELETE请求,并通过具体代码案例分析了RESTful的使用。
SpringMVC入门到实战------七、RESTful的详细介绍和使用 具体代码案例分析(一)
|
4月前
|
前端开发 应用服务中间件 数据库
SpringMVC入门到实战------八、RESTful案例。SpringMVC+thymeleaf+BootStrap+RestFul实现员工信息的增删改查
这篇文章通过一个具体的项目案例,详细讲解了如何使用SpringMVC、Thymeleaf、Bootstrap以及RESTful风格接口来实现员工信息的增删改查功能。文章提供了项目结构、配置文件、控制器、数据访问对象、实体类和前端页面的完整源码,并展示了实现效果的截图。项目的目的是锻炼使用RESTful风格的接口开发,虽然数据是假数据并未连接数据库,但提供了一个很好的实践机会。文章最后强调了这一章节主要是为了练习RESTful,其他方面暂不考虑。
SpringMVC入门到实战------八、RESTful案例。SpringMVC+thymeleaf+BootStrap+RestFul实现员工信息的增删改查
|
4月前
|
JSON 前端开发 Java
Spring MVC返回JSON数据
综上所述,Spring MVC提供了灵活、强大的方式来支持返回JSON数据,从直接使用 `@ResponseBody`及 `@RestController`注解,到通过配置消息转换器和异常处理器,开发人员可以根据具体需求选择合适的实现方式。
171 4
|
5月前
|
前端开发 Java 应用服务中间件
我以为我对Spring MVC很了解,直到我遇到了...
所有人都知道Spring MVC是是开发的,却鲜有人知道Spring MVC的理论基础来自于1978 年提出MVC模式的一个老头子,他就是Trygve Mikkjel Heyerdahl Reenskaug,挪威计算机科学家,名誉教授。Trygve Reenskaug的MVC架构思想早期用于图形用户界面(GUI) 的软件设计,他对MVC是这样解释的。MVC 被认为是解决用户控制大型复杂数据集问题的通用解决方案。最困难的部分是为不同的架构组件想出好的名字。模型-视图-编辑器是第一个。
131 1
我以为我对Spring MVC很了解,直到我遇到了...