JSP 虽然是较早期的框架,其存在意义在于讲解前后端不分离的场景。在前端 HTML、CSS 中可以嵌入兼容 Java 后端代码,类似的现代技术有 Vue3 等。
核心对象与交互
在 Java Web 开发中,主要使用以下对象处理前后端交互(JSP 作为老框架,理解以下核心对象即可):
| 对象 | 创建位置 | 主要作用 | 数据流向 |
|---|---|---|---|
| request | 服务器端 | 封装请求信息 | 前端→后端 |
| response | 服务器端 | 封装响应信息 | 后端→前端 |
| session | 服务器端 | 维护用户会话 | 双向 |
| application | 服务器端 | 全局共享数据 | 双向 |
| Cookie | 服务器端创建,前端存储 | 小数据持久化 | 双向 |
选择建议:临时数据传递 → request;用户状态保持 → session;小数据持久化 → Cookie;全局数据共享 → application。
1. "客户端"的含义
在 request 对象的上下文中,"客户端"指的是:
- 浏览器(Chrome、Firefox、Edge 等):用户在浏览器中访问网站。
- 发起 HTTP 请求的设备(用户的电脑、手机等)。
- 不是指 JSP 页面本身。
请求流程分析
浏览器 (客户端) → JSP 登录页面.jsp → 响应登录.jsp ↓ ↓ ↓ 发起请求 显示表单 处理登录逻辑
客户端 = 浏览器(用户操作的界面) 服务器端 = Tomcat 服务器 + Servlet/JSP 代码(处理请求的后端)
2. 实际请求过程
- 编译阶段:Tomcat 服务器在后端编译 JSP 代码,将 JSP 转换为 Servlet(仅首次访问时执行)。
- 运行时阶段:处理请求(每次请求都会执行)。
流程步骤详解:
- 发送请求到服务器端:访问
JSP 登录页面.jsp。 - 返回登录表单:服务器返回 HTML 内容,包含表单代码。
- 填写表单,点击登录:用户在第 14 行输入用户名,第 15 行输入密码,点击第 16 行的提交按钮。
- 发送 POST 请求:表单提交到
响应登录.jsp。 - 创建 request 对象:请求处理阶段,封装客户端发送的数据。
- 执行响应登录.jsp:服务器端处理业务逻辑。
- 生成 HTML 响应:服务器生成响应内容。
- :浏览器接收服务器返回的 HTML。

