Bombax's Knowledge Document Notes Bombax's Knowledge Document Notes
首页
  • 前置

    • 尚硅谷Java学习
    • 基础软件安装与配置
  • 核心

    • Java从入门到精通(JDK17版)
    • MySQL从入门到高级-基础篇
    • MySQL从入门到高级-高级篇
    • JDBC 核心技术(JDK21版)
    • JavaWeb 技术
  • 学习笔记

    • POJO 概念
  • Spring Cloud

    • SpringCloud
    • SpringCloud-Alibaba
  • 持久层框架

    • MyBatis
    • MyBatis-Plus
  • 相关知识

    • Mybatis 代码生成工具比较
  • 安全框架

    • 安全框架之 Spring Security
    • 安全框架之 Shiro
  • 定时任务框架

    • 定时任务框架之 Quartz
    • 定时任务框架之 XXL-JOB
  • Java 日志热门框架
  • Git 常用命令
  • Swagger API 文档生成工具
  • Motan RPC (opens new window)
  • Lombok Tutorial (opens new window)
  • Lombok Features (opens new window)
  • FastJSON2 (opens new window)
  • Spring Framework 5 中文文档 (opens new window)
  • XStream (opens new window)
  • fluent-validator 业务逻辑验证框架 (opens new window)
  • ehcache java 缓存框架 (opens new window)
  • jetcache java 缓存框架 (opens new window)
  • caffeine 缓存框架 (opens new window)
  • Spring Cache (opens new window)
  • 主流缓存框架调研 (opens new window)
  • redisson 官方中文文档 (opens new window)
  • LiquiBase 中文学习指南 (opens new window)
  • LiquiBase 官方文档 (opens new window)
  • 分类
  • 归档
GitHub (opens new window)

bombax

小小程序猿
首页
  • 前置

    • 尚硅谷Java学习
    • 基础软件安装与配置
  • 核心

    • Java从入门到精通(JDK17版)
    • MySQL从入门到高级-基础篇
    • MySQL从入门到高级-高级篇
    • JDBC 核心技术(JDK21版)
    • JavaWeb 技术
  • 学习笔记

    • POJO 概念
  • Spring Cloud

    • SpringCloud
    • SpringCloud-Alibaba
  • 持久层框架

    • MyBatis
    • MyBatis-Plus
  • 相关知识

    • Mybatis 代码生成工具比较
  • 安全框架

    • 安全框架之 Spring Security
    • 安全框架之 Shiro
  • 定时任务框架

    • 定时任务框架之 Quartz
    • 定时任务框架之 XXL-JOB
  • Java 日志热门框架
  • Git 常用命令
  • Swagger API 文档生成工具
  • Motan RPC (opens new window)
  • Lombok Tutorial (opens new window)
  • Lombok Features (opens new window)
  • FastJSON2 (opens new window)
  • Spring Framework 5 中文文档 (opens new window)
  • XStream (opens new window)
  • fluent-validator 业务逻辑验证框架 (opens new window)
  • ehcache java 缓存框架 (opens new window)
  • jetcache java 缓存框架 (opens new window)
  • caffeine 缓存框架 (opens new window)
  • Spring Cache (opens new window)
  • 主流缓存框架调研 (opens new window)
  • redisson 官方中文文档 (opens new window)
  • LiquiBase 中文学习指南 (opens new window)
  • LiquiBase 官方文档 (opens new window)
  • 分类
  • 归档
GitHub (opens new window)
  • 前置

  • 核心

    • Java从入门到精通(JDK17版)

    • MySQL从入门到高级-基础篇

    • MySQL从入门到高级-高级篇

    • JDBC 核心技术(JDK21版)
    • JavaWeb技术

      • 第一章 概述
        • 1.1 JavaWeb 简介
        • 1.2 JavaWeb 技术栈
        • 1.3 JavaWeb 交互模式
        • 1.4 JavaWeb 的 CS 和 BS 模式
        • 1.5 JavaWeb 实现前后端分离
      • 第二章 HTML&CSS
      • 第三章 JavaScript
      • 第四章 XML、Tomcat、HTTP
      • 第五章 Servlet
      • 第六章 会话、过滤器、监听器
      • 第七章 前端工程化-上
      • 第八章 前端工程化-中
      • 第九章 前端工程化-下
  • 学习笔记

  • Java基础
  • 核心
  • JavaWeb技术
bombax
2025-10-13
目录

第一章 概述

# 第一章 WEB 概述

# 1.1 JavaWeb 简介

用 Java 技术来解决相关 Web 互联网领域的技术栈,使用 JavaEE 技术体系开发企业级互联网项目。项目规模和架构模式与 JavaSE 阶段有着很大的差别。在互联网项目下,首先需要明白客户端和服务器的概念。

客户端:与用户进行交互,用于接收用户的输入(操作)、展示服务器端的数据以及向服务器传递数据

服务端:与客户端进行交互,接收客户端的数据、处理具体的业务逻辑、传递给客户端其需要的数据

“服务器”是一个非常宽泛的概念

  • 从硬件而言: 服务器是计算机的一种,它比普通计算机运行更快、负载更高、价格更贵。服务器在网络中为其它客户机(如 PC 机、智能手机、ATM 等终端甚至是火车系统等大型设备)提供计算或者应用服务。
  • 从软件而言: 服务器其实就是安装在计算机上的一个软件,根据其作用的不同又可以分为各种不同的服务器,例如应用服务器、数据库服务器、Redis 服务器、DNS 服务器、ftp 服务器等等

综上所述: 服务器其实就是一台(或者一个集群)安装了服务器软件的高性能计算机

# 1.2 JavaWeb 技术栈

  • 前端部分:HTML CSS JavaScript ES6 Nodejs npm vite vue3 router pinia axios element-plus ...
  • 后端部分:HTTP xml Tomcat Servlet Request Response Cookie Sesssion Filter Listener MySQL JDBC Druid Jackson lombok jwt ...

1681177316138

# 1.3 JavaWeb 交互模式

请求:客户端向服务端传递数据的主要方式之一,客户端主动向服务端发送请求,可以携带数据,交给服务端处理。请求只能是客户端向服务端。

响应:服务端向客户端传递数据的主要方式之一,在接收请求后开始对数据进行处理,将结果反馈给客户端使用。响应只能是服务端向客户端。

# 1.4 JavaWeb 的 CS 和 BS 模式

根据客户端的不同,可以将 JAVA 的互联网项目运行模式分为 CS 模式和 BS 模式

CS 模式 Client-Server 模式 客户端-服务端模式

1681192888853.webp

  1. 程序分两部分,一部分是客户端需要安装的程序,一部分是要部署在服务器上的程序
  2. 用户需要在硬件设备或者操作系统中,下载安装特定的客户端程序才可以使用
  3. 程序运行的压力由客户端和服务端共同承担
  4. 可以借助客户端运算资源,对数据继续处理,一般可以有较好的画质和展现效果
  5. 程序更新时,往往需要同时更新客户端和服务端两部分
  6. 跨平台性能一般,不同的平台未必都有对应的客户端程序
  7. 开发成本较高,要为不同的客户端开发不同客户端程序

BS 模式 Browser-Server 模式

1681192907280.webp

  1. 程序就一部分,只要部署在服务器上即可
  2. 无论用户使用什么设备和操作系统,只要有一个安装任意一款浏览器即可
  3. 程序运行的压力主要由服务端承担
  4. 客户端承担的计算压力小,可以对数据进行简单的继续处理,但是不像 CS 模式那些可以获得较好的画质和展现效果
  5. 程序更新时,只需要同时服务端部分
  6. 跨平台性能优秀,只要有一个浏览器,到处都可以使用
  7. 开发成本略低,不必为不同的客户端开发不同客户端程序

模式选择:对于 JAVA 程序员来说,开发的是服务端代码,所有无论前端是何种类型的服务端,只要按照接口文档要求开发后端功能即可,尤其是在当前前后端分离模式开发为主的时代背景下,完全可以在几乎不接触前端的状态下完成开发。

# 1.5 JavaWeb 实现前后端分离

非前后端分离

  1. 开发不分离:程序员既要编写后端代码,又要去修改甚至编写前端代码,程序员的工作压力较大
  2. 部署不分离::使用了后端动态页面技术(JSP,Thymeleaf 等),前端代码不能脱离后端服务器环境,必须部署在一起

前后端分离

  1. 开发分离:后端程序员只要按照接口文档去编写后端代码,无需编写或者关系前端代码,前后端程序员压力都降低
  2. 部署分离:前端使用前端的页面动态技术,通过 VUE 等框架,工程化项目,前端项目可以部署到独立的服务器上

1681193247981.webp

上次更新: 2025/10/14, 19:11:05
JDBC 核心技术(JDK21版)
第二章 HTML&CSS

← JDBC 核心技术(JDK21版) 第二章 HTML&CSS→

最近更新
01
第九章 前端工程化-下
12-11
02
第八章 前端工程化-中
12-11
03
第七章 前端工程化-上
12-04
更多文章>
Theme by Vdoing | Copyright © 2024-2026 bombax | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式