Java Web实战(二)Web后端之http请求响应实例+Spring基础

本文详细介绍了HTTP请求的数据格式、不同请求方法的特点,以及SpringBoot中的分层架构和解耦技术,包括控制器、服务层和数据访问层。此外,还讨论了Spring的核心功能和SpringBoot简化开发的优势。
摘要由CSDN通过智能技术生成

1. http 请求数据格式

请求行: 请求方式, 资源路径, 协议(HTTP/1.1)
请求头: 格式为(key: value)对, 例如浏览器版本, 浏览器接受的资源类型等等
请求体: POST请求, 存放请求参数

请求方式与可携带数据

  1. get/post, 简单直接参数
  2. get/post, 简单实体参数
  3. get/post, 复杂实体参数
  4. post, json参数
  5. get/post, 数组/集合参数
  6. get, 路径参数

2. http 响应数据

响应行: 状态码(1xx)

状态码描述
1xx响应中-临时状态码,表示请求已经接收,告诉客户端应该继续请求或者如果它已经完成则忽略它。
2xx成功-表示请求已经被成功接收,处理已完成。
3xx重定向-重定向到其他地方;让客户端再发起一次请求以完成整个处理
4xx客户端错误-处理发生错误,责任在客户端。如: 请求了不存在的资源、客户端未被授权、禁止访问等。
5xx服务器错误-处理发生错误,责任在服务端。如: 程序抛出异常等。

响应头: 格式为(key: value)对, 例如响应内容类型, 长度, 压缩算法
响应体: POST请求, 存放请求参数

响应码描述表(常见)

状态码英文描述解释
200OK客户端请求成功,即处理成功,这是我们最想看到的状态码
302Found指示所请求的资源已移动到由Location响应头给定的 URL,浏览器会自动重新访问到这个页面告诉客户端
304Not Modified请求的资源至上次取得后,服务端并未更改,使用本地缓存,隐式重定向
400Bad Request客户端请求有语法错误,不能被服务器所理解
403Forbidden服务器收到请求,但是拒绝提供服务,比如:没有权限访问相关资源
404Not Found请求资源不存在,一般是URL输入有误,或者网站资源被删除
405Method Not Allowed请求方式有误,比如应该用GET请求方式的资源,用了POST
428Precondition Required服务器要求有条件的请求,告诉客户端要想访问该资源,必须携带特定的请求头
429Too Many Requests指示用户在给定时间内发送了太多请求 ("限速”) ,配合 Retry-After(多长时间后可以请求)响应头一起使用
431Request Header Fie1ds Too Large请求头太大,服务器拒绝处理,可以在减少请求头域的大小后重新提交
500Internal Server Error服务器发生不可预期的错误。服务器出异常了,赶紧看日志去吧
503service Unavailable服务器尚未准备好处理请求,服务器刚刚启动,还未初始化好

响应数据

返回字符串
返回对象实体
返回对象实体的集合
@RestController = @Controller + @ResponseBody, 返回值均统一封装为了json

统一响应结果

均封装为 Result 对象: Result(code, msg, data)。后面会详细展开

Spring

在没有正式的学习SpringBoot之前,我们要先来了解下什么是Spring。
我们可以打开Spring的官网( https://spring.io ),去看一下Spring的简介:Spring makes Java simple。Spring发展到今天已经形成了一种开发生态圈,Spring提供了若干个子项目,每个项目用于完成特定的功能。而我们在项目开发时,一般会偏向于选择这一套spring家族的技术,来解决对应领域的问题,那我们称这一套技术为spring全家桶。

Spring家族旗下这么多的技术,最基础、最核心的是 SpringFramework。其他的spring家族的技术,都是基于SpringFramework的,SpringFramework中提供很多实用功能,如:依赖注入、事务管理、web开发支持、数据访问、消息服务等等。

如果我们在项目中,直接基于SpringFramework进行开发,存在两个问题:配置繁琐、入门难度大。spring官方推荐我们从另外一个项目开始学习,那就是目前最火爆的SpringBoot。
通过springboot就可以快速的帮我们构建应用程序,所以springboot呢,最大的特点有两个 :

  • 简化配置
  • 快速开发
    Spring Boot 可以帮助我们非常快速的构建应用程序、简化开发、提高效率 。

springboot分层解耦–三层架构

1. 分层

controller service dao

2.解耦合

java bean, ioc/di

  • 25
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值