0


SpringBoot⼊⻔、Spring Web MVC

文章目录

认识Spring

Spring官⽅(https://spring.io/)的介绍

Spring让Java程序更加快速,简单和安全.Spring对于速度、简单性和⽣产⼒的关注使其成为世界上最流⾏的Java框架。
Spring官⽅提供了很多开源的项⽬,覆盖范围从Web开发到⼤数据,Spring发展到了今天,已经形成了⾃⼰的⽣态圈.
我们在开发时,也倾向于使⽤Spring官⽅提供的技术,来解决对应的问题

在这里插入图片描述
SpringBoot的诞⽣是为了简化Spring程序开发的。
SpringBoot就是Spring脚⼿架
在这里插入图片描述

盖房⼦的这个架⼦就是脚⼿架,脚⼿架的作⽤是砌筑砖墙,浇筑混凝⼟、⽅便墙⾯抹灰,装饰和粉刷的,简单来说,就是使⽤脚⼿架可以更快速的盖房子
SpringBoot就是Spring框架的脚⼿架,它是为了快速开发Spring框架⽽诞⽣的

SpringBoot项目创建

Spring Boot Helper插件能创建SpringBoot项⽬
在这里插入图片描述
SpringBoot项⽬的⽬录:
• src/main/java: Java源代码
• src/main/resources:为静态资源或配置⽂件:

/static:静态资源⽂件夹,⽐如css,html等静态⽂件,不需要服务器数据进⾏绑定的⻚⾯

/templates:模版资源⽂件夹,主要存放动态模板⽂件,⽐如JSP,Freemarker,Thymeleaf等需要服务器动态渲染数据的⽂件

• src/test/java:测试代码源代码
target:编译后的⽂件路径
• pom.xml:maven配置⽂件

请求响应流程分析

SpringBoot内置了Tomcat服务器,⽆需配置即可直接运⾏
在这里插入图片描述

访问出错

  • 404表⽰用户访问的资源不存在.⼤概率是URL的路径写的不正确
  • 500:服务器出现内部错误.⼀般是服务器的代码执⾏过程中遇到了⼀些特殊情况(服务器异常崩溃)会产⽣
  • ⽆法访问此⽹站,⼀般是Tomcat启动失败了

SpringBoot优势

• SpringBoot提供了启动添加依赖的功能,可以快速集成框架.
• 内置web服务器,⽆需配置Tomcat等Web服务器,直接运⾏和部署程序.
• 可以完全抛弃繁琐的XML,使⽤注解和配置的⽅式进⾏开发.
• ⽀持更多的监控的指标,可以更好的了解项⽬的运⾏情况等特点

Spring Web MVC介绍

Spring Web MVC是基于Servlet API构建的原始Web框架,包含在Spring框架中。通常被称为Spring MVC
在这里插入图片描述
Spring MVC是⼀个实现了MVC模式的Web框架

SpringBoot可以添加很多依赖,借助这些依赖实现不同的功能.SpringBoot通过添加SpringWebMVC框架,来实现web功能.
在这里插入图片描述

如何通过浏览器和用户程序进⾏交互

  1. 建⽴连接:将用户(浏览器)和Java程序连接起来,也就是访问⼀个地址能够调⽤到我们的Spring程序。
  2. 请求:用户请求的时候会带⼀些参数,在程序中要想办法获取到参数,所以请求这块主要是获取参数的功能.
  3. 响应:执⾏了业务逻辑之后,要把程序执⾏的结果返回给用户,也就是响应.

建⽴连接

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

创建⼀个UserController类,实现⽤⼾通过浏览器和程序的交互

@RestControllerpublicclassUserController{// 路由器规则注册 @RequestMapping("/sayHi")publicStringsayHi(){return"hello,Spring MVC";}}

@RequestMapping 是SpringWebMVC应⽤程序中最常被⽤到的注解之⼀,它是⽤来注册接⼝的路由映射的.
服务收到请求时,路径为/sayHi的请求就会调⽤sayHi这个⽅法的代码.
路由映射:当⽤⼾访问⼀个URL时,将⽤⼾的请求对应到程序中某个类的某个⽅法的过程就叫路由映射Spring会对所有的类进⾏扫描,
如果类加了注解@RestController,Spring才会去看这个类⾥⾯的⽅法
@RequestMapping 既⽀持Get请求,⼜⽀持Post请求.同理,也⽀持其他的请求⽅式

注解

@RequestMapping:路由映射
@RequestParam:后端参数重命名
@RequestBody:接收JSON类型的参数
@PathVariable:接收路径参数
@RequestPart:上传⽂件
@ResponseBody:返回数据
@CookieValue:从Cookie中获取值
@SessionAttribute:从Session中获取值
@RequestHeader:从Header中获取值
@Controller:定义⼀个控制器,Spring框架启动时加载,把这个对象交给Spring管理.默认返回视图

Cookie、Session

HTTP协议⾃⾝是属于"⽆状态"协议.

"⽆状态"的含义指的是:
默认情况下HTTP协议的客⼾端和服务器之间的这次通信,和下次通信之间没有直接的联系.

但是实际开发中,我们很多时候是需要知道请求之间的关联关系的.
例如登陆⽹站成功后,第⼆次访问的时候服务器就能知道该请求是否是已经登陆过
在这里插入图片描述
理解Session
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Cookie和Session的区别
• Cookie是客⼾端保存⽤⼾信息的⼀种机制.Session是服务器端保存⽤⼾信息的⼀种机制.
• Cookie和Session之间主要是通过SessionId关联起来的,SessionId是Cookie和Session之间的
桥梁
• Cookie和Session经常会在⼀起配合使⽤.但是不是必须配合

完全可以⽤Cookie来保存⼀些数据在客⼾端.这些数据不⼀定是⽤⼾⾝份信息,也不⼀定是SessionId
Session中的sessionId也不需要⾮得通过Cookie/Set-Cookie传递,⽐如通过URL传递

Cookie和Session都是会话机制,Cookie是客⼾端机制,Session是服务端机制.⼆者通过SessionId来关联.SpringMVC内置HttpServletRequest,HttpServletResponse两个对象.需要使⽤时,直接在⽅法中添加对应参数即可,Cookie和Session可以从HttpServletRequest中来获取,也可以直接使⽤HttpServletResponse设置Http响应状态码


本文转载自: https://blog.csdn.net/2301_80381519/article/details/143822526
版权归原作者 鱼run 所有, 如有侵权,请联系我们删除。

“SpringBoot⼊⻔、Spring Web MVC”的评论:

还没有评论