赞
踩
Spring Web MVC是基于Servlet API 构建的原始Web框架,从一开始就包含在Spring框架中。
Servlet 是一套Java Web 开发的规范,或者说是一套Java Web 开发的技术标准。只有规范并不能做任何事情,必须要有人去实现它,实现Servlet就是去实现Servlet规范提到的各种功能,包括类,方法,属性等。例如Tomcat就实现了Servlet,称为“Servlet”容器。
MVC是Model View Controller的缩写,它是软件工程中的一种软件架构设计模式,它把软件系统分为模型,视图和控制器三个基本部分。
(Spring MVC就是Spring Web MVC)
MVC是一种架构设计模式,而Spring MVC是对MVC思想的具体实现。我们上期创建Spring Boot项目时勾选的 Spring Web 框架,其实就是Spring MVC 框架,也就是说我们上期创建的Spring Boot项目也可以说是Spring MVC项目。
Spring Boot 和SpringMVC的关系就相当于,Spring Boot是一个可以添加很多功能的框架,当然也可以添加 Spring MVC,所以是一个包含的关系。
Spring实现MVC时 ,也结合自身项目的特点,进行了一些改变:
我们学习Spring MVC,重点也就是学习如何通过浏览器和用户进行交互。
和创建Spring Boot项目相同,在创建时 选择上Spring Web即可
在Spring MVC中使用 @RequsetMapping 注解来建立服务器和客户端的连接,用来指定处理哪些HTTP请求以及对应的路径。
- package com.example.j20240313springmvc;
-
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
-
- @RestController
- public class RequestController {
- @RequestMapping("/springMVC")
- public String say() {
- return "hello Spring MVC";
- }
- }
@RequsetMapping 也可以修饰类
- package com.example.j20240313springmvc;
-
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
-
- @RequestMapping("/request")
- @RestController
- public class RequestController {
- @RequestMapping("/springMVC")
- public String say() {
- return "hello Spring MVC";
- }
- }
注意访问的url会发生变化:
可以在类中放多个@RequsetMapping 修饰的方法,注意路径不能相同
- @RequestMapping("/request")
- @RestController
- public class RequestController {
- @RequestMapping("/say1")
- public String say1() {
- return "hello Spring MVC";
- }
- @RequestMapping("/say2")
- public String say2() {
- return "你好 Spring MVC";
- }
- }
我们使用Fiddler抓包:
可以看到@RequsetMapping是支持get请求的。
浏览器发送的请求类型都是GET,我们可以在resources/static下写一个html文件使用post发送一个请求
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>post</title>
- </head>
- <body>
- <form action = "/request/say2" method = "post">
- <input type = "submit" value = "发送请求">
- </form>
- </body>
- </html>
注意访问时IP和端口号后直接跟文件名,即把static当作根目录。
点击发送
成功跳转到say2 ,Fiddler中也可以看到post请求
作为一个后端开发人员,测试代码还要写html文件显得过于麻烦,所以我们可以使用一些工具来发送请求。
PostMan下载链接:Download Postman | Get Started for Free
注册后登录:
点击Create 创建,创建完成后,点击Add a request,创建一个请求
我们输入url点击发送:
下面这些内容代表传递的参数。
Params代表使用查询字符串传参......
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。