day02--Web 后端基础知识

33 阅读2分钟

Web 后端基础

1) Web 基本概念

  • 静态资源:HTML/CSS/JS/图片等,内容不随请求变化
  • 动态资源:后端生成的数据/接口(现在主流用 Spring 体系)
  • 架构:BS(浏览器/服务器,维护方便) vs CS(客户端/服务器,体验好但维护成本高)

2) SpringBootWeb 入门

  • SpringBoot 优点:简化配置、快速开发

  • spring-boot-starter-web 会引入 内嵌 Tomcat,运行启动类 main 即可启动 Web(默认 8080)

  • 写接口核心注解:

    • @RestController:返回数据(自动 JSON)
    • @RequestMapping:映射请求路径

3) HTTP 协议(请求/响应)

  • HTTP:浏览器与服务器数据传输规则,特点:基于 TCP、请求-响应、无状态

  • 请求格式:请求行(方法+路径+版本)+ 请求头 + 请求体

  • 响应格式:响应行(版本+状态码)+ 响应头 + 响应体

  • GET vs POST:

    • GET:参数在 URL,请求长度有限,安全性低
    • POST:参数在请求体,长度限制少,相对更安全
  • 常见状态码:200 / 404 / 500

4) 请求与响应的获取/设置

  • Tomcat 会把请求封装成 HttpServletRequest(可取参数、URL、method、header)
  • 响应可用 HttpServletResponseResponseEntity(实际项目一般不手动设置状态码/头,框架自动处理)

5) SpringBootWeb 案例要点

  • Controller 返回 对象/集合 ⇒ 自动转 JSON 返回前端
  • @RestController = @Controller + @ResponseBody

6) 分层架构与解耦(重点)

  • 三层架构:

    • Controller:接收请求/返回响应
    • Service:业务逻辑
    • Dao:数据访问(文件/数据库)
  • 目的:单一职责、高内聚低耦合、易维护可扩展

  • IOC/DI

    • IOC:对象交给容器创建管理(bean)
    • DI:容器把依赖注入进来
  • 常用注解:

    • bean 声明:@Controller/@Service/@Repository/@Component
    • 注入:@Autowired(按类型)
  • 多实现类冲突解决:@Primary / @Qualifier / @Resource(name=...)

  • 扫描规则:默认扫描 启动类所在包及子包@SpringBootApplication 内含扫描)