JSP基础1:客户端请求端,前端和后端的联系(半成品)
JSP虽然是20年前的老框架,它的存在是为了讲解前后端不分离,在前端html,css中可以嵌入兼容java后端代码,类似的有vue3
下面的看不懂先跳过
问题如下:request对象 = 后端创建,封装前端发送的数据或请求. 还有哪些对象可以对前后端互相发送的请求做处理.哪些对象可以进行前后端交互
在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个jsp文件代码讲解:
JSP登录页面.jsp:
tomcat服务器运行后会通过 form标记 跳转到响应登录.jsp响应登录.jsp:
tomcat服务器运行响应登录.jsp后会跳转到浏览器端显示用户名和密码
2. 实际请求过程大致为:
- 客户端(浏览器) 服务器端(Tomcat+JSP)
| 0.tomcat服务器在后端编译JSP代码 将JSP转换为servlet |
| ① (发送请求到服务器端)访问JSP登录页面.jsp (对应整个登录页面.jsp的代码)
|------------------------------------------------------------------------------- > |
| |
| ② 返回登录表单(对应以下代码) |
|<---------------------------------------------------------------------------------- - | |
| ③ 填写表单,点击登录 |
| |
| ④ 发送POST请求(响应登录.jsp) | - | | ⑤ 创建request对象(请求处理阶段:5,6,7)
| | ⑥ 执行响应登录.jsp
| | ⑦ 生成HTML响应
| ⑧ 接收HTML响应 |
|<---------------------------------------------------------------------------------|
| |
| ⑨ 渲染显示页面 |
| |
<form action="响应登录.jsp" method="post">
|---------------------------------------------------------------------------------->|
<%--jsp登录页面.jsp--%> <form action="响应登录.jsp" method="post"> 用户名:<input type="text" name="username"> 密码:<input type="text" name="password"> <input type="submit" name="登录"> </form>- 编译阶段:JSP→Servlet(首次访问)
- 运行时阶段:处理请求(每次请求)
客户端(前端/移动端):步骤①②③④⑧⑨(浏览器操作)服务器端(后端):步骤④⑤⑥⑦(Tomcat处理)以上代码的关键点:request对象在服务器端(后端)创建,用于封装客户端(前端)发送的数据或1. 客户端(前端/移动端)
包括但不限于:Web前端:浏览器(Chrome、Firefox等)移动端:iOS App、Android App桌面应用:Windows/Mac客户端程序其他客户端:小程序、物联网设备等服务器端(后端)
包括但不限于:Web服务器:Tomcat、Nginx、Apache应用服务器:Spring Boot应用、Java EE应用数据库服务器:MySQL、Oracle等微服务:各种后端服务
阶段1:首次访问JSP登录页面(步骤①-②)
① 发送请求到服务器端
- 浏览器请求
JSP登录页面.jsp - 对应文件位置:web/JSP登录页面.jsp
② 返回登录表单
- 服务器返回的HTML内容对应第13-16行的表单代码
- 代码位置:web/JSP登录页面.jsp
阶段2:表单提交处理(步骤③-⑨)
③ 填写表单,点击登录
- 用户在第14行输入用户名,第15行输入密码
- 点击第16行的提交按钮
④ 发送POST请求
- 表单提交到
响应登录.jsp - 对应第13行的
action="响应登录.jsp"和method="post"
⑤-⑦ 服务器处理阶段
- 这3步属于运行时请求处理阶段,不是编译阶段
- 编译阶段只在JSP首次访问时执行一次
- 请求处理阶段在每次表单提交时都会执行
⑧-⑨ 响应处理
- 浏览器接收并渲染服务器返回的HTML