【Spring MVC】创建项目和建立请求连接

我的主页:************************************************************************************************************************************************************************************************************************************************************2的n次方_****************************************************************************************************************************************************************************************************************************************************************

1. MVC

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

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

2. Spring MVC

Spring MVC 是对 MVC 思想的具体实现,此外 Spring MVC 还是一个 web 框架,所以说 Spring MVC 是一个实现了 MVC 模式的 web 框架

3. 项目创建

Spring MVC 项目的创建和上次的 Spring Boot 项目的步骤一样

3.1. 建立连接

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

@RequestMapping 是用来注册接口的路由映射的,表示服务器收到请求时,映射的"/hello"路径就会调用 hello 的方法,路径的名称也可以随便写,不用和方法名保持一致

java 复制代码
@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String hello(){
        return "hello spring";
    }
}

运行程序之后,然后在浏览器中输入 http://127.0.0.1:8080/hello 就能访问了

@RestController标识了这是一个控制器类,一个项目中会有很多类和方法,Spring 会对所有的类进行扫描,如果添加了 @RestController注解,才会去访问这个类中有没有 @RequestMapping 注解,如果把 @RestController去掉再访问就会访问不到这个路径

@RequestMapping既可以修饰类,也可以修饰方法,当修饰类和方法时,访问的路径是类路径 + 方法路径,如果不加类路径还是会找不到页面

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

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

java 复制代码
@RequestMapping("/user")
@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String hello(){
        return "hello spring";
    }
}

3.2. 请求

@RequestMapping同时支持 post 请求和 get 请求

java 复制代码
@RequestMapping("/v1")
public String method(){
    return "v1";
}

使用 postman 发送 get 请求和 post 请求都可以得到响应

可以通过设置来只支持 get 请求或者使用 @GetMapping来限制只支持 get 请求

java 复制代码
@RequestMapping(value = "/v2",method = RequestMethod.GET)
public String method1(){
    return "v2";
}
@GetMapping("/v3")
public String method2(){
    return "v3";
}

无论是 v2 还是 v3 都已经不支持 post 请求了

同理,如果设置为只支持 post 请求或者使用 @PostMapping就不会支持 get 请求了

java 复制代码
@RequestMapping(value = "/v4",method = RequestMethod.POST)
public String method3(){
    return "v4";
}
@PostMapping("v5")
public String method4(){
    return "v5";
}

在上面的方式中,无论是通过设置 @RequestMapping的方式还是直接使用 @PostMapping@GetMapping 注解的方式都可以

相关推荐
好好沉淀5 分钟前
ES 脚本核心语法:ctx._source [‘group_id‘]
java·elasticsearch·script
李慕婉学姐28 分钟前
【开题答辩过程】以《基于Spring Boot的疗养院理疗管理系统的设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·spring boot·后端
tb_first34 分钟前
SSM速通2
java·javascript·后端
qq_124987075337 分钟前
基于协同过滤算法的运动场馆服务平台设计与实现(源码+论文+部署+安装)
java·大数据·数据库·人工智能·spring boot·毕业设计·计算机毕业设计
大飞哥~BigFei38 分钟前
自定义注解记录接口切面log日志入库优化
java
人道领域40 分钟前
javaWeb从入门到进阶(maven高级进阶)
java·spring·maven
一路向北⁢42 分钟前
Spring Boot 3 整合 SSE (Server-Sent Events) 企业级最佳实践(一)
java·spring boot·后端·sse·通信
风象南1 小时前
JFR:Spring Boot 应用的性能诊断利器
java·spring boot·后端
爱吃山竹的大肚肚1 小时前
微服务间通过Feign传输文件,处理MultipartFile类型
java·spring boot·后端·spring cloud·微服务
_周游1 小时前
Java8 API文档搜索引擎_使用内存缓冲区优化
java·搜索引擎·intellij-idea