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. 实际请求过程大致为:

  1. 客户端(浏览器)                                             服务器端(Tomcat+JSP)
         |  0.tomcat服务器在后端编译JSP代码 将JSP转换为servlet       |
         | ① (发送请求到服务器端)访问JSP登录页面.jsp (
    对应整个登录页面.jsp的代码)                        
         |------------------------------------------------------------------------------- >  | 
         |                                                                                                     |
         | ② 返回登录表单(
    对应以下代码)                                                 |
         |<----------------------------------------------------------------------------------
  2.      |                                                                                                     |
         | ③ 填写表单,点击登录                                                               |
         |                                                                                                     |
         | ④ 发送POST请求(响应登录.jsp)                                                |
  3.      |                                                  | ⑤ 创建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

Read more

Flutter 组件 whitecodel_auto_link 适配鸿蒙 HarmonyOS 实战:交互式文本探针,构建信息流自动链接识别与极速预览架构

Flutter 组件 whitecodel_auto_link 适配鸿蒙 HarmonyOS 实战:交互式文本探针,构建信息流自动链接识别与极速预览架构

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 whitecodel_auto_link 适配鸿蒙 HarmonyOS 实战:交互式文本探针,构建信息流自动链接识别与极速预览架构 前言 在鸿蒙(OpenHarmony)生态迈向深度社交、企业办公及即时通讯全场景覆盖的背景下,如何将枯燥的长文本转化为具备可交互能力的“信息枢纽”,已成为提升用户操作效率的关键。在鸿蒙设备这类强调分布式协同与智慧感知的移动终端上,如果应用仅能显示纯文本,而无法识别其中的网址(URL)、邮箱(Email)或电话(Phone),用户就必须通过复杂的“长按、复制、切换应用、粘贴”链路来处理信息,这极大地割裂了鸿蒙系统的流转体验。 我们需要一种能够自动扫描文本特征、支持多维热点识别且具备高性能渲染能力的富文本处理引擎。 whitecodel_auto_link 为 Flutter 开发者引入了极其简便的长文本自动链接方案。它通过内置的高精度正则匹配矩阵,自动将文本中的特定识别域转化为可点击的高亮区域。在适配到鸿蒙

By Ne0inhk
Spring Boot 后端分层开发实战:从 MVC 到三层架构详解

Spring Boot 后端分层开发实战:从 MVC 到三层架构详解

应用分层 通过上面的练习,我们学习了 Spring MVC 简单功能的开发,但是我们也发现了一些问题。目前我们程序的代码有点 “杂乱”,然而当前只是 “一点点功能” 的开发。如果我们把整个项目功能完成呢?代码会更加的 “杂乱无章”(文件乱,代码内容乱)。 也基于此,咱们接下来学习应用分层。类似公司的组织架构:公司初创阶段,一个人身兼数职,既做财务,又做人事,还有行政。随着公司的逐渐壮大,会把岗位进行细分,划分为财务部门,人事部门,行政部门等。各个部门内部还会再进行细分。 项目开发也是类似,最开始功能简单时,我们前后端放在一起开发,随着项目功能的复杂,我们分为前端和后端不同的团队,甚至更细粒度的团队。后端开发也会根据功能再进行细分。MVC 就是其中的一种拆分方式。但是随着后端人员不再涉及前端,后端开发又有了新的分层方式。 4.1 介绍 阿里开发手册中,关于工程结构部分,定义了常见工程的应用分层结构: 那么什么是应用分层呢?应用分层是一种软件开发设计思想,

By Ne0inhk

大模型实习模拟面试面经:同花顺金融大模型算法一面深度复盘(RAG、LoRA、强化学习、Agent 架构全解析)

大模型实习模拟面试面经:同花顺金融大模型算法一面深度复盘(RAG、LoRA、强化学习、Agent 架构全解析) 关键词:大模型面试|RAG 重排序|LoRA 参数优化|GRPO 训练异常处理|Agentic RL|金融 Agent 开发|AI for SE 前言:为什么这场面试值得复盘? 2026 年,大模型技术已从“学术热点”全面转向“工业落地”,尤其在金融、医疗、法律等高价值垂直领域,智能 Agent 正成为企业核心竞争力的关键载体。作为国内领先的金融科技公司,同花顺近年来大力投入金融大模型与智能投研 Agent 的研发,其算法岗面试自然聚焦于工程实现能力 + 领域理解深度 + 技术前沿敏感度三大维度。 本文基于真实模拟面试场景,完整还原一场面向大模型算法实习生岗位的一轮技术面全过程。面试官围绕 RAG 重排序机制、LoRA

By Ne0inhk
Spring Cloud 熔断降级详解:用 “保险丝“ 类比,Sentinel 实战教程

Spring Cloud 熔断降级详解:用 “保险丝“ 类比,Sentinel 实战教程

欢迎文末添加好友交流,共同进步! “ 俺はモンキー・D・ルフィ。海贼王になる男だ!” * 📋 目录 * 什么是熔断降级 * 定义 * 为什么需要熔断降级? * 保险丝类比:形象理解熔断机制 * 生活中的保险丝 * 熔断器工作原理对比 * 熔断器三种状态 * Sentinel 核心概念 * 什么是 Sentinel? * 核心概念对比 * Sentinel vs Hystrix 对比 * Sentinel 实战教程 * 环境准备 * 1. 添加依赖 * 2. 配置文件 * 基础示例:注解方式 * 3. 主启动类 * 4. 创建订单服务 * 5. 控制器 * 高级配置:规则定义 * 6. 流控规则配置 * OpenFeign 集成 * 7. Feign客户端集成Sentinel * 8. Feign降级处理 * 规则持久化(

By Ne0inhk