欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > 【SpringBoot+Vue自学笔记】003 SpringBoot Controll

【SpringBoot+Vue自学笔记】003 SpringBoot Controll

2025/5/21 22:09:14 来源:https://blog.csdn.net/m0_61709053/article/details/147304162  浏览:    关键词:【SpringBoot+Vue自学笔记】003 SpringBoot Controll
跟着这位老师学习的:https://www.bilibili.com/video/BV1nV4y1s7ZN?vd_source=af46ae3e8740f44ad87ced5536fc1a45

这段话的意思其实是:Spring Boot 简化了传统 Web 项目的搭建流程,让你少折腾配置,直接开搞业务逻辑。


🔧 传统 Web 项目的问题

在没有 Spring Boot 之前,我们想写一个 Web 项目,至少得配置好这些:

  • Spring MVC:处理请求和返回视图或 JSON。

  • Jackson(或其他):处理 JSON 序列化/反序列化。

  • Tomcat:Web 容器,还得自己安装和部署。

  • 再加一堆配置文件才能跑起来。

每一部分都要手动整合,稍有差错就报错,搭建项目成了一种“玄学”。


🧰 Spring Boot 的简化方式

Spring Boot 提供了一个组件:
👉 spring-boot-starter-web

它是个“启动器”,只要你在创建项目时勾选了 Spring Web,
这个启动器就自动加入了进来,里面已经帮你 整合好了你需要的大部分依赖


🚀 spring-boot-starter-web 里面包括:

  • spring-web + spring-webmvc:支持 Web 请求的处理,MVC 模式。

  • jackson-databind:用于处理 JSON,帮你自动把对象转成 JSON 发给前端。

  • 内嵌 tomcat:你不再需要自己装 Tomcat,它内置好了,点个运行就能启动服务。

                Tomcat 是一个 Web 服务器,也叫 Servlet 容器

                        它最主要的作用是:

                📦「运行你的 Web 项目,处理 HTTP 请求」

                        你写的 Spring Boot 应用,前端发来的 HTTP 请求,
                        最后都是由 Tomcat 来接收、分发、处理、响应的。

                        假如你写了个接口:

@GetMapping("/hello")
public String sayHello() {return "Hello";
}

                        用户在浏览器访问:

http://localhost:8080/hello

就是 Tomcat:

  • 接收这个请求

  • 把它交给 Spring 处理

  • 然后 Spring 把结果返回给 Tomcat

  • Tomcat 最后把结果响应给前端

个人理解不一定对:

整个流程像一条流水线,从浏览器发起请求开始,到最终收到响应为止,可以分为下面这几步——每一环都刚刚好接上下一环:


1. 浏览器发送请求

用户在页面点击某个按钮,比如发帖,前端通过 axios 发出 HTTP 请求(如:POST /api/posts)。


2. 请求被 Tomcat 接收到

Spring Boot 内嵌的 Tomcat 是个 Web 服务器,它监听端口(比如 8080),收到请求之后,把请求传给 Spring 的处理核心。


3. DispatcherServlet 拦截请求

这是 Spring MVC 的总调度,叫 “前端控制器”
它接到请求后,开始派活:

  • 查找对应的 Controller

  • 根据请求路径、方法类型(GET/POST)来定位到具体方法,比如 PostController.createPost()


4. Controller 执行方法

你的 Controller 接到请求,拿到参数(比如表单内容),调用服务层逻辑,最终返回一个 Java 对象,比如:

return new Result("发布成功", postId);

5. 返回对象被转换成 JSON

Spring 内置的 JSON 处理器是 Jackson
它把 Java 对象变成 JSON 字符串,比如:

{ "message": "发布成功", "data": 101 }

6. DispatcherServlet 把 JSON 塞进响应里

调度器拿到 JSON 后,放进 HttpServletResponse 里,准备发送。


7. Tomcat 把响应发回浏览器

Tomcat 把 HTTP 响应封装好,通过 TCP 发回用户浏览器。


8. 浏览器收到响应,前端页面更新

前端拿到 JSON 数据,展示“发布成功”的提示,或更新帖子列表等。


整个过程,是从浏览器 → Tomcat → DispatcherServlet → Controller → Jackson → DispatcherServlet → Tomcat → 浏览器
每个部分就像一环扣一环的“链条”,中间没有哪一步是可以省略的。

MVC:model,view,controller

@controller 必须返回一个视图,必须返回一个html页面(用Thymeleaf前后端不分离)

参数映射:

@RequestMapping(value="/getTest3" ,method = RequestMethod.GET)
//http//localhost:8080/qetTest2?nickname=xxx
PUblic String getTest3(@RequestParam("nickname")String.name){System.out.println("nickname:"+name) ;return "GET 请求';
}

用了@RequestParam,则nickname必须被访问到,不能为空,否则这个方法不能被访问到,使用required = false则可以不访问

@RequestMapping(value="/getTest3" ,method = RequestMethod.GET)
//http//localhost:8080/qetTest2?nickname=xxx
PUblic String getTest3(@RequestParam(value = "nickname",required = false)String.name){System.out.println("nickname:"+name) ;return "GET 请求';
}

@RequestBody:接收json数据。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词