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

FPGA 面试题目汇总含解析,FPGAer 上岸必备!

FPGA 面试题目汇总含解析,FPGAer 上岸必备!

每到招聘季,很多做 FPGA 的同学都会有同一个感受: 项目能做,代码能写,一到面试却被问得很散、很细、很杂。 本质原因只有一个: FPGA 面试问的不是“你会不会写代码”,而是“你是否真的理解硬件行为”。 这篇文章整理了一批 FPGA 面试中高频出现的经典问题,覆盖 基础语法、时序设计、接口、调试、工程经验 等方向,每道题都配有工程视角的解析,适合: * 校招 / 社招 FPGA 面试前系统复习 * 查漏补缺,验证自己“到底懂没懂” * 面试前快速过一遍,避免低级失分 一、Verilog / HDL 基础高频题 1. 阻塞赋值(=)和非阻塞赋值(<=)的区别? 参考答案: * 阻塞赋值(=) * 按顺序执行 * 常用于组合逻辑 * 非阻塞赋值(

By Ne0inhk
《从零搭建自主无人机》—2——硬件设备搭建及EGOPlanner实现

《从零搭建自主无人机》—2——硬件设备搭建及EGOPlanner实现

一、主要参考: ZJU-FAST-Lab/ego-plannerhttps://github.com/ZJU-FAST-Lab/ego-planner【完结】从0制作自主空中机器人 | 开源 | 浙江大学Fast-Lab_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1WZ4y167me/?spm_id_from=333.1387.favlist.content.click&vd_source=cc27dfcb640aa62a70874f5ec72a2143 二、硬件组成: 这里所用硬件设备: 1、OrangePi 5 MAX/ Inter NUC 2、Holybro Pixhawk 6C 3、Intel RealSense D435i Depth Camera

By Ne0inhk
windows部署的OpenClaw接入飞书机器人

windows部署的OpenClaw接入飞书机器人

文章目录 * 前言 * 一、创建飞书应用 * 1.登录飞书开放平台 * 2.创建企业自建应用 * 3.发布企业自建应用 * 二、OpenClaw配置接入飞书 * 1.安装飞书插件 * 2.配置飞书事件回调 * 3.使用测试 * 总结 前言 OpenClaw 原生支持的即时通信平台主要是海外的 WhatsApp、Telegram、Discord、Slack、iMessage 等,国内用户不习惯,目前国产即时通信软件大厂也跟进了,现在钉钉,飞书等都已支持接入OpenClaw,本文主要是配置飞书机器人接入 OpenClaw,使大家可以通过飞书即可指挥OpenClaw为我们干活,当然配置钉钉接入也可以作为参考。 * windowsWindows 本地(PowerShell)一键部署 OpenClaw * 飞书账号(有飞书开放平台权限的账号) 一、创建飞书应用 1.登录飞书开放平台 1.1 网页访问,

By Ne0inhk
Stable Diffusion 秋叶大神2025最新整合一键安装包

Stable Diffusion 秋叶大神2025最新整合一键安装包

这段时间我在折腾 Stable Diffusion,期间试过很多安装方式。有手动安装的,也有别人做好的整合包。手动安装的方式对环境要求高,步骤也多,系统要装 Python,要装依赖,还要配好运行库,哪一步出错都要重新查资料,挺消耗时间。后来了解到秋叶大神做的整合一键安装包,这个版本省掉了很多折腾,对新手比较友好。 我自己把安装流程整理了一遍,又结合网上的信息,把一些需要注意的地方写下来,希望能帮到想尝试 Stable Diffusion 的人。 这里完整下载链接 秋叶整合包是什么 这个整合包属于别人已经帮你配好的版本,里面把 Stable Diffusion WebUI、模型管理、插件、运行环境都准备好了。下载之后按照提示解压,点一下启动脚本就能跑起来,不需要另外去折腾环境。 整合包里放的 WebUI 是常见的 AUTOMATIC1111 版本,所以大部分教程都能直接用。适合想直接出图、想先体验一下模型效果的人。 系统环境方面 我现在用的是 Windows 电脑,所以下面写的内容主要基于

By Ne0inhk