JavaWeb 可以通俗理解成,用 Java 这门语言,在服务器端写程序,专门处理浏览器发来的请求,处理完业务之后,再把页面或者数据返回给浏览器,属于 B/S 架构的 Web 开发技术,很多初学者一开始会把 JavaWeb 当成一门独立新语言,其实它不是新语言,核心还是 JavaSE 的语法,只是增加了一套 Web 通信规范,也就是基于 HTTP 协议,由 Tomcat 这类 Web 容器来调度 Java 写的服务端代码,浏览器和服务器之间是一问一答模式,浏览器发起请求,服务器响应结果,这个一问一答就是 JavaWeb 最核心的运行逻辑,理解这个通信模型,再去看 Servlet JSP Session 这些知识点就不会觉得抽象,后面学习 SSM SpringBoot 框架,本质也只是把这套原生请求处理流程封装简化,底层逻辑依然不变。
基础信息表
| 项目 | 详细内容 |
|---|---|
| 核心定义 | 使用 Java 开发 B/S 架构 Web 应用 |
| 通信协议 | HTTP |
| 运行载体 | Tomcat 等 Web 容器 |
| 客户端 | 浏览器 |
| 底层语言基础 | JavaSE |
| 核心模型 | 请求 Request 响应 Response |
核心模型通俗拆解
可以把整个流程类比成餐厅
浏览器 = 顾客,发起点餐也就是请求
Tomcat = 餐厅后厨主管,接收订单,分配任务
Servlet = 后厨厨师,也就是 Java 写的业务代码,处理订单业务
数据库 = 仓库,存放菜品原料也就是业务数据
响应 = 后厨做好餐品,送回给顾客也就是浏览器
这个类比可以帮助理解,浏览器不会直接操作数据库,必须经过服务器端 Java 程序中转,并且 HTTP 本身是无状态,上一次请求和下一次请求默认互相独立,所以才会引入 Session Cookie 来保存登录状态,这就是为什么 JavaWeb 会单独学习会话技术。
分层理解思路
第一层 本质认知:JavaWeb 不是新编程语言,是 Java 在 Web 领域的应用,前提是掌握 JavaSE 面向对象 集合 IO 这些基础
第二层 通信认知:所有交互依靠 HTTP 请求响应,理解 GET POST 请求报文 响应状态码
第三层 原生组件认知:Servlet 接收请求,JSP 负责动态页面渲染,Filter 拦截请求,Listener 监听对象生命周期
第四层 框架认知:SSM SpringBoot 是封装升级,解决原生 Servlet 代码重复、配置繁琐的问题,但是底层依然是请求响应模型
学习理解步骤
第一步 先建立 B/S 概念,区分 B/S 和 C/S,明白用户只需要浏览器,不用单独安装客户端
第二步 吃透 HTTP 协议,明白浏览器和服务器怎么通信
第三步 部署 Tomcat,写第一个 Servlet,亲手跑通一次请求响应,直观感受整个流程
第四步 学习 JSP Cookie Session Filter,理解动态页面和状态保存
第五步 过渡到 SSM SpringBoot,理解框架是对原生 JavaWeb 的封装,不要学了框架就忘记底层原理
常见理解误区清单
误区 1 JavaWeb 等于 JSP,JSP 只是动态页面技术,不是 JavaWeb 全部
误区 2 SpringBoot 就是 JavaWeb,SpringBoot 只是现代开发框架,原生 Servlet 原理仍然是面试重点
误区 3 浏览器直接和数据库通信,实际必须经过 Java 服务端程序做业务处理
误区 4 JavaWeb 只能写传统网页,现在也可以做前后端分离项目,后端只返回 JSON 数据
综合来看,理解 JavaWeb 关键就是抓住浏览器请求,Java 服务器处理,返回响应这个核心模型,不要把它当成孤立知识点,所有 Servlet Session Filter 框架,都是围绕这个一问一答模型衍生出来的技术,抓住主线之后,零散知识点就可以串联起来。
【常见问题】
问题 1 Javaweb 要怎么理解 它是不是一门新的编程语言
回答 1 Javaweb 要怎么理解,JavaWeb 不是新编程语言,Javaweb 要怎么理解,它是基于 JavaSE,使用 Java 开发 Web 应用的一套技术体系
问题 2 Javaweb 要怎么理解 B/S 架构是什么意思
回答 1 Javaweb 要怎么理解,B/S 就是浏览器加服务器架构,Javaweb 要怎么理解,用户通过浏览器访问,不需要单独安装客户端程序
问题 3 Javaweb 要怎么理解 为什么一定要学习 Tomcat
回答 1 Javaweb 要怎么理解,Tomcat 是 Web 容器,负责运行 Java 写的 Servlet,Javaweb 要怎么理解,没有容器,Java 服务端代码无法接收浏览器 HTTP 请求
问题 4 Javaweb 要怎么理解 学完框架还需要懂原生 Servlet 吗
回答 1 Javaweb 要怎么理解,框架只是封装原生流程,Javaweb 要怎么理解,面试和排错仍然需要掌握原生 Servlet 底层原理
【免责申明】
本内容为 JavaWeb 概念通俗讲解,技术版本持续迭代,相关技术细节以官方规范和最新教材为准,本内容仅作为入门理解参考。


