当前位置: 首页 > news >正文

Jsp技术入门指南【七】JSP动作讲解

Jsp技术入门指南【七】JSP动作讲解

  • 前言
  • 一、什么是JSP动作?
  • 二、核心JSP动作详解
    • 1. jsp:include:动态包含其他页面
      • 与<%@ include %>的区别
    • 2. jsp:forward:请求转发到另一个页面
    • 3. jsp:param:为动作传递参数
    • 4. jsp:useBean:创建或获取JavaBean对象
    • 5. jsp:setProperty:设置JavaBean属性值
    • 6. 作用域:四个核心对象的范围


  • 在之前的博客中,我们已经深入剖析了JSP页面的核心结构,从基础语法到动态交互的实现,逐步揭示了动态网页开发的底层逻辑
  • 通过这些内容的学习,相信我们已经对JSP的开发有了更清晰的认识,并且掌握了高效开发动态Web应用的关键技能。
  • 接下来,我们将继续深入JSP的世界,探索JSP动作的奥秘
  • JSP动作是JSP技术中用于实现页面动态交互、组件调用等功能的重要工具。通过掌握这些动作,我们将能够更加灵活地构建复杂的动态页面,提升开发效率和应用性能

前言

我的个人主页,欢迎来阅读我的其他文章
https://blog.csdn.net/2402_83322742?spm=1011.2415.3001.5343
我的JSP知识文章专栏
欢迎来阅读指出不足
https://blog.csdn.net/2402_83322742/category_12950980.html?spm=1001.2014.3001.5482


一、什么是JSP动作?

JSP动作是JSP提供的一组XML风格的标签(以<jsp:开头),用于实现页面动态交互、组件调用等功能。常见动作包括页面包含、跳转、传参、操作JavaBean等。

二、核心JSP动作详解

1. jsp:include:动态包含其他页面

作用
将另一个JSP/HTML文件的内容“动态插入”到当前页面,执行时合并内容。
特点:两个页面独立执行,共享请求(request),但各自有独立的作用域。

语法

<jsp:include page="被包含的页面路径" /> <!-- 简单用法 -->
<!-- 带参数时(参数会传递给被包含页面) -->
<jsp:include page="demo2.jsp"><jsp:param name="参数名" value="参数值" />
</jsp:include>

代码示例

  • demo1.jsp(主页面)
    <!DOCTYPE html>
    <html>
    <head><title>主页面</title>
    </head>
    <body><h1>这是主页面demo1.jsp</h1><!-- 动态包含demo2.jsp,会先执行demo2.jsp的逻辑,再合并内容 --><jsp:include page="demo2.jsp" /> 
    </body>
    </html>
    
  • demo2.jsp(被包含页面)
    <p>这是被包含的demo2.jsp内容</p>
    

与<%@ include %>的区别

特性<jsp:include>(动态包含)<%@ include %>(静态包含)
执行时机运行时合并内容(先执行被包含页)编译时合并代码(直接拼接文件)
独立性两个页面独立,可传递参数合并后为一个文件,无法单独传参
使用场景内容动态变化(如用户登录状态)内容固定(如页面底部版权信息)

2. jsp:forward:请求转发到另一个页面

作用
将当前请求“转发”到另一个页面,用户浏览器地址栏不变(服务器端跳转),且可传递参数。
特点:两个页面共享同一个请求(request),可通过request.setAttribute()共享数据。

语法

<jsp:forward page="目标页面路径"><jsp:param name="参数名" value="参数值" /> <!-- 可选:传递参数 -->
</jsp:forward>

代码示例

  • demo1.jsp(转发页面)
    <!DOCTYPE html>
    <html>
    <body><%// 转发前可在request中存储数据(供目标页面使用)request.setAttribute("message", "来自demo1的消息"); %><!-- 转发到demo2.jsp,并传递参数age=18 --><jsp:forward page="demo2.jsp"><jsp:param name="age" value="18" /></jsp:forward>
    </body>
    </html>
    
  • demo2.jsp(目标页面)
    <!DOCTYPE html>
    <html>
    <body><!-- 获取转发时传递的参数 -->年龄:<%= request.getParameter("age") %> <br><!-- 获取request中存储的数据 -->消息:<%= request.getAttribute("message") %>
    </body>
    </html>
    

注意

  • 转发后,当前页面后续代码不再执行(类似Java的return)。
  • response.sendRedirect()的区别:
    • forward是服务器端跳转(地址栏不变,共享request);
    • redirect是客户端跳转(地址栏改变,需重新发起请求)。

3. jsp:param:为动作传递参数

作用
单独作为标签使用,必须嵌套在<jsp:include><jsp:forward>中,用于传递参数。

语法

<jsp:param name="参数名" value="参数值" /> <!-- 值可以是静态字符串或表达式 -->

示例

<jsp:include page="search.jsp"><jsp:param name="keyword" value="Java" /> <!-- 传递搜索关键词 -->
</jsp:include>

4. jsp:useBean:创建或获取JavaBean对象

作用
用于实例化JavaBean(Java类对象),并指定其作用域(页面、请求、会话、应用)。
JavaBean要求:类必须有无参构造方法,属性通过setter/getter方法访问。

语法

<jsp:useBean id="对象名" class="类全路径" scope="作用域" />
  • id:对象在作用域中的唯一标识(如user)。
  • scope:作用域(page/request/session/application,默认page)。

代码示例
假设存在Java类com.User(有nameage属性,及对应setter/getter):

<!-- 创建User对象,作用域为request -->
<jsp:useBean id="user" class="com.User" scope="request" />

5. jsp:setProperty:设置JavaBean属性值

作用
配合<jsp:useBean>使用,为JavaBean的属性赋值。

语法

<!-- 方式1:通过参数名匹配属性名(自动赋值) -->
<jsp:setProperty name="对象名" property="属性名" /> <!-- 方式2:指定具体值(静态值或表达式) -->
<jsp:setProperty name="对象名" property="属性名" value="值" /> 

示例

<jsp:useBean id="user" class="com.User" />
<!-- 从请求参数中获取名为“name”的值,赋值给user的name属性 -->
<jsp:setProperty name="user" property="name" /> 
<!-- 直接设置age属性为20 -->
<jsp:setProperty name="user" property="age" value="20" /> 

6. 作用域:四个核心对象的范围

JSP中属性可存储在4个作用域对象中,范围从小到大依次为:
pageContext(当前页面) < request(一次请求) < session(一次会话) < application(整个应用)。

代码示例

  • 设置属性(假设在demo1.jsp)

    <%// pageContext作用域:仅当前页面有效pageContext.setAttribute("pageKey", "pageValue"); // request作用域:一次请求内有效(转发时共享)request.setAttribute("requestKey", "requestValue"); // session作用域:用户登录后直到会话结束(关闭浏览器或超时)session.setAttribute("sessionKey", "sessionValue"); // application作用域:整个应用运行期间有效(所有用户共享)application.setAttribute("applicationKey", "applicationValue"); 
    %>
    
  • 获取属性(在demo2.jsp,通过请求转发到达)

    <body><!-- 按作用域从小到大获取 -->pageContext属性:<%= pageContext.getAttribute("pageKey") %> <br>request属性:<%= request.getAttribute("requestKey") %> <br>session属性:<%= session.getAttribute("sessionKey") %> <br>application属性:<%= application.getAttribute("applicationKey") %> <br>
    </body>
    
  • 注意

  • pageContext只能在当前页面使用,转发后失效。

  • request属性在请求转发(forward)时有效,但若使用重定向(redirect)则失效(因为重定向是新请求)。


以上就是这篇博客的全部内容,下一篇我们将继续探索JSP的更多精彩内容。

我的个人主页,欢迎来阅读我的其他文章
https://blog.csdn.net/2402_83322742?spm=1011.2415.3001.5343
我的JSP知识文章专栏
欢迎来阅读指出不足
https://blog.csdn.net/2402_83322742/category_12950980.html?spm=1001.2014.3001.5482

非常感谢您的阅读,喜欢的话记得三连哦

在这里插入图片描述

相关文章:

Jsp技术入门指南【七】JSP动作讲解

Jsp技术入门指南【七】JSP动作讲解 前言一、什么是JSP动作&#xff1f;二、核心JSP动作详解1. jsp:include&#xff1a;动态包含其他页面与<% include %>的区别 2. jsp:forward&#xff1a;请求转发到另一个页面3. jsp:param&#xff1a;为动作传递参数4. jsp:useBean&am…...

电脑 访问 github提示 找不到网页,处理方案

1、找到 本机的 host文件 例如 windows 的 一般在 C:\Windows\System32\drivers\etc\hosts 用管理员身份打开 hosts 文件 如果文件中没有 github的配置&#xff0c;需要自己手动添加上去&#xff1b; 如果有&#xff0c;则需要 检查 github.com 与 github.global.ssl.fastly.…...

性能比拼: Elixir vs Go

本内容是对知名性能评测博主 Anton Putra Elixir vs Go (Golang) Performance (Latency - Throughput - Saturation - Availability) 内容的翻译与整理, 有适当删减, 相关指标和结论以原作为准 对比 Elixir 和 Go 简介 许多人长期以来一直要求我对比 Elixir 和 Go。在本视频…...

动手实现文本生成模型:基于 Decoder-only Transformer (PyTorch)

1. 选择框架:PyTorch 我们选择 PyTorch 作为实现框架。PyTorch 提供了灵活的动态图,并且拥有功能强大的 nn.Transformer 模块,方便我们快速构建模型。其社区活跃,资源丰富,是进行深度学习研究和开发的优秀选择。 确保你已经安装了 PyTorch 和其他必要的库: Bash pip i…...

WSL+Ubuntu+miniconda环境配置

安装到指定目录 bash Miniconda3-latest-Linux-x86_64.sh -b -p /usr/local/miniconda3添加环境变量 echo export PATH"/usr/local/miniconda3/bin:$PATH" >> /etc/profile echo export PATH"/usr/local/miniconda3/bin:$PATH" >> ~/.bashrc…...

linux学习 5 正则表达式及通配符

重心应该放在通配符的使用上 正则表达式 正则表达式是用于 文本匹配和替换 的强大工具 介绍两个交互式的网站来学习正则表达式 regexlearn 支持中文 regexone 还有一个在线测试的网址 regex101 基本规则 符号作用示例.匹配任何字符除了换行a.b -> axb/a,b[abc]匹配字符…...

【web服务_负载均衡Nginx】三、Nginx 实践应用与高级配置技巧

一、Nginx 在 Web 服务器场景中的深度应用​ 1.1 静态网站部署与优化​ 在 CentOS 7 系统中&#xff0c;使用 Nginx 部署静态网站是最基础也最常见的应用场景。首先&#xff0c;准备网站文件&#xff0c;在/var/www/html目录下创建index.html文件&#xff1a; sudo mkdir -p…...

详解与HTTP服务器相关操作

HTTP 服务器是一种遵循超文本传输协议&#xff08;HTTP&#xff09;的服务器&#xff0c;用于在网络上传输和处理网页及其他相关资源。以下是关于它的详细介绍&#xff1a; 工作原理 HTTP 服务器监听指定端口&#xff08;通常是 80 端口用于 HTTP&#xff0c;443 端口用于 HT…...

LeetCode 2563.统计公平数对的数目:排序 + 二分查找

【LetMeFly】2563.统计公平数对的数目&#xff1a;排序 二分查找 力扣题目链接&#xff1a;https://leetcode.cn/problems/count-the-number-of-fair-pairs/ 给你一个下标从 0 开始、长度为 n 的整数数组 nums &#xff0c;和两个整数 lower 和 upper &#xff0c;返回 公平…...

Manus技术架构、实现内幕及分布式智能体项目实战

Manus技术架构、实现内幕及分布式智能体项目实战 模块一&#xff1a; 剖析Manus分布式多智能体全生命周期、九大核心模块及MCP协议&#xff0c;构建低幻觉、高效且具备动态失败处理能力的Manus系统。 模块二&#xff1a; 解析Manus大模型Agent操作电脑的原理与关键API&#xf…...

基于springboot的个人财务管理系统的设计与实现

博主介绍&#xff1a;java高级开发&#xff0c;从事互联网行业六年&#xff0c;熟悉各种主流语言&#xff0c;精通java、python、php、爬虫、web开发&#xff0c;已经做了六年的毕业设计程序开发&#xff0c;开发过上千套毕业设计程序&#xff0c;没有什么华丽的语言&#xff0…...

新能源汽车动力电池热管理方案全解析:开启电车续航与安全的密码

热管理&#xff1a;新能源汽车的隐形守护者 在新能源汽车飞速发展的今天&#xff0c;热管理系统作为保障车辆核心部件稳定运行的关键&#xff0c;正逐渐成为行业关注的焦点。据市场研究机构的数据显示&#xff0c;近年来新能源汽车的销量持续攀升&#xff0c;而与之相伴的是热…...

Ubuntu开启自启动PostgreSQL读取HDD失败处理思路

前置文章&#xff1a; windows通用网线连接ubuntu实现ssh登录、桌面控制、文件共享Ubuntu挂载HDD迁移存储PostgreSQL数据 背景&#xff1a; 启动实体Ubuntu机器后后很大的概率PostgreSQL不会成功启动&#xff0c;查看日志&#xff1a; Ubuntu启动时间&#xff1a; rootPine…...

损失函数总结

目录 回归问题L1损失 平均绝对值误差&#xff08;MAE&#xff09;Smooth L1 LossL2损失 均方误差损失MSE 分类问题交叉熵损失KL 散度损失 KLDivLoss负对数似然损失 NLLLoss 排序MarginRankingLoss 回归问题 L1损失 平均绝对值误差&#xff08;MAE&#xff09; 指模型预测值f(x…...

LeetCode 热题 100:回溯

46. 全排列 给定一个不含重复数字的数组 nums &#xff0c;返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3] 输出&#xff1a;[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2&#xff1a; 输入&#xff…...

Jetson Orin NX 部署YOLOv12笔记

步骤一.创建虚拟环境 conda create -n yolov12 python3.8.20 注意&#xff1a;YOLOv12/YOLOv11/YOLOv10/YOLOv9/YOLOv8/YOLOv7a/YOLOv5 环境通用 步骤二.激活虚拟环境 conda activate yolov12 #激活环境 步骤三.查询Jetpack出厂版本 Jetson系列平台各型号支持的最高Jetp…...

『Linux_网络』 第二章 UDP_Socket编程

学习了网络的概念了&#xff0c;接下来我们开始实践&#xff0c;本次我们会通过UDP来模拟实现UDP客户端和UDP服务器之间的通信&#xff0c;以及在此基础上扩展几个应用。 下面&#xff0c;我们将使用socket&#xff0c;bind&#xff0c;htons等接口实现UDP网络通信。 v1 版本 …...

【leetcode刷题日记】lc.322-零钱兑换

目录 1.题目 2.代码 1.题目 给你一个整数数组 coins &#xff0c;表示不同面额的硬币&#xff1b;以及一个整数 amount &#xff0c;表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额&#xff0c;返回 -1 。 你可以认…...

从GET到POST:HTTP请求的攻防实战与CTF挑战解析

初探HTTP请求:当浏览器遇见服务器 基础协议差异可视化 # 典型GET请求 GET /login.php?username=admin&password=p@ssw0rd HTTP/1.1 Host: example.com User-Agent: Mozilla/5.0# 典型POST请求 POST /login.php HTTP/1.1 Host: example.com Content-Type: application/x…...

实现Azure Data Factory安全地请求企业内部API返回数据

需要配置一个Web Activity组件在Azure云上的Azure Data Factory运行&#xff0c;它需要访问企业内部的API获取JSON格式的数据&#xff0c;企业有网关和防火墙&#xff0c;API有公司的okta身份认证&#xff0c;通过公司的域账号来授权访问&#xff0c;现在需要创建一个专用的域账…...

JDOM处理XML:Java程序员的“乐高积木2.0版“

各位代码建筑师们&#xff01;今天我们要玩一款比原生DOM更"Java友好"的XML积木套装——JDOM&#xff01;它像乐高得宝系列&#xff08;Duplo&#xff09;一样简单易用&#xff0c;却能让你的XML工程稳如霍格沃茨城堡&#xff01;&#xff08;温馨提示&#xff1a;别…...

Grouped Query Attention (GQA) PyTorch实现

个人在网上看到的实现好像都长得奇奇怪怪的&#xff0c;没有简洁的感觉&#xff0c;因此在这里给出一种易读的GQA实现方法&#xff1a; import torch import torch.nn as nn import torch.nn.functional as Fclass GroupedQueryAttention(nn.Module):def __init__(self, embed…...

《AI大模型应知应会100篇》第27篇:模型温度参数调节:控制创造性与确定性

第27篇&#xff1a;模型温度参数调节&#xff1a;控制创造性与确定性 摘要 在大语言模型的使用中&#xff0c;“温度”&#xff08;Temperature&#xff09;是一个关键参数&#xff0c;它决定了模型输出的创造性和确定性之间的平衡。通过调整温度参数&#xff0c;您可以根据任…...

演讲比赛流程管理项目c++

对于一个基本项目&#xff0c;先分析基本的东西有哪些 1.类 演讲管理类:用于编写比赛流程用的功能 演讲者类&#xff1a;包含姓名&#xff0c;分数 创建比赛流程&#xff1a;创建选手12个人&#xff0c;分为两组&#xff0c;6人一组&#xff0c;每组进行两轮比赛&#xff0…...

在小米AX6000中通过米家控制tailscale

由于tailscale占用内存较大&#xff0c;AX6000中的可用内存非常有限&#xff0c;所以需要对AX6000的内存使用进行优化&#xff1a; 1.减小tmpfs内存占用的大小&#xff1a; #从150M -> 90M&#xff0c;由于tailscale下载安装包是27M作用&#xff0c; 解压后50M左右&#xf…...

REC: 引爆全球万亿级市场!Web3+消费革命重塑全球-东南亚-跨境商业未来

在全球数字经济浪潮下&#xff0c;东南亚已成为增长最快的互联网市场之一&#xff0c;其与全球之间蓬勃发展的跨境贸易更是蕴藏着巨大潜力。然而&#xff0c;传统模式下的效率瓶颈、信任壁垒和用户激励难题日益凸显。在此背景下&#xff0c;基于去中心化与消费相结合的 REC 颠覆…...

微服务与事件驱动架构(EDA)

微服务架构 微服务架构核心特征 服务自治&#xff1a;每个服务拥有独立的代码库、数据库和运维流程。轻量级通信&#xff1a;服务间通过API&#xff08;REST/gRPC&#xff09;或消息队列&#xff08;如Kafka&#xff09;交互。去中心化治理&#xff1a;允许技术栈多样化&…...

单片机如何通过串口与上位机进行数据交换

单片机通过串口与上位机进行数据交换是一种常见的方式&#xff0c;广泛应用于嵌入式系统中。以下是实现这一功能的具体步骤和注意事项&#xff1a; 1. 硬件连接 在硬件层面&#xff0c;需要确保单片机和上位机之间的串口连接正确&#xff1a; 信号线连接&#xff1a;通常使用…...

AI速读 Seed-Thinking-v1.5:大模型推理的新飞跃

在大语言模型&#xff08;LLM&#xff09;蓬勃发展的今天&#xff0c;推理模型的性能提升成为了AI领域的关键议题。今天为大家解读的论文&#xff0c;带来了名为Seed-Thinking-v1.5的推理模型&#xff0c;它在多个任务上表现惊艳&#xff0c;还创新性地解决了不少难题&#xff…...

Mysql从入门到上手(二)-全面了解增删改查(CRUD).

一、检索数据 MySQL 中的检索数据操作是数据库操作中最常见的任务之一。使用 SQL 查询语言中的 SELECT 语句&#xff0c;可以从数据库中的一个或多个表中检索数据。以下是 MySQL 中与数据检索相关的各种技术和用法的详细讲解。 1.1、基本查询 最基本的查询是使用 SELECT 语句来…...

220V转5V转12V电机驱动供电WT5105

220V转5V转12V电机驱动供电WT5105 WT5105 芯片概述 WT5105 是一款集成非隔离式电源控制器&#xff0c;内部集成了 650V 高雪崩能力功率 MOSFET 以及高压启动与自供电电路。该芯片具有多模式输出的特点&#xff0c;输出电压可通过 FB 电阻灵活调整&#xff0c;能够实现 3.3V 以…...

基于Python Django 的全国房价大数据可视化系统(附源码,部署)

博主介绍&#xff1a;✌程序员徐师兄&#xff0c;7年大厂开发经验。全网粉丝12w&#xff0c;CSDN博客专家&#xff0c;同时活跃在掘金、华为云、阿里云、InfoQ等平台&#xff0c;专注Java技术和毕业项目实战分享✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&a…...

leetcode0113. 路径总和 II - medium

1 题目&#xff1a;路径总和 II 官方标定难度&#xff1a;中 给你二叉树的根节点 root 和一个整数目标和 targetSum &#xff0c;找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点 是指没有子节点的节点。 示例 1&#xff1a; 输入&#xff1a;root …...

day46——两数之和-输入有序数组(LeetCode-167)

题目描述 给你一个下标从 1 开始的整数数组 numbers &#xff0c;该数组已按 非递减顺序排列 &#xff0c;请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] &#xff0c;则 1 < index1 < index2 &l…...

数据结构:以一个例题演示弗洛伊德算法

例 8.5.2 利用弗洛伊德算法&#xff0c;对图 8.5.5 中左侧的带权有向图求最短路径&#xff0c;给出每一对顶点之间的最短路径及其路径长度在求解过程中的变化。 图 8.5.5 带权图和邻接矩阵 【解】 根据图 8.5.5 中的带权有向图&#xff0c;可得所对应的邻接矩阵 g g g &#…...

Nginx 报错403 排查与解决

目录 前言-环境基础问题出现&#xff1a;403 Forbidden问题排查问题解决 前言 今天领导让我部署一个前端项目,一顿操作报错访问报错403,让我们一起搞定他。 环境 CentOS 7 x86 的服务器上部署了 Nginx 服务器。 配置文件 我把前端项目打包后的 dist 文件夹放在了 /root/…...

React-useImperativeHandle (forwardRef)

我们会遇到这样的场景&#xff1a;某个组件想要暴露一些方法&#xff0c;来供外部组件来调用。例如我们在开发form表单的时候&#xff0c;就需要把设置表单值、重置值、提交等方法暴露给外部使用。会有如下代码&#xff1a; import { forwardRef } from react;const Form for…...

研一自救指南 - 07. CSS面向面试学习

最近的前端面试多多少少都会遇到css的提问&#xff0c;感觉还是要把重点内容记记背背。这里基于b站和我自己面试的情况整理。 20250418更新&#xff1a; 1. BFC Block Formatting Context&#xff0c;一个块级的盒子&#xff0c;可以创建多个。里面有很多个块&#xff0c;他们…...

生成式人工智能驱动下的个性化学习资源开发研究——以K12学科知识图谱构建为例

一、引言 1.1 研究背景与意义 在当今数字化时代&#xff0c;教育领域正经历着深刻的变革&#xff0c;生成式 AI 技术的迅猛发展为 K12 教育带来了新的契机与挑战。长期以来&#xff0c;K12 教育主要采用标准化教学模式&#xff0c;这种 “一刀切” 的方式难以满足学生多样化的…...

A股周度复盘与下周策略 的deepseek提示词模板

以下是反向整理的股票大盘分析提示词模板&#xff0c;采用结构化框架数据占位符设计&#xff0c;可直接套用每周市场数据&#xff1a; 请根据一下markdown格式的模板&#xff0c;帮我检索整理并输出本周股市复盘和下周投资策略 【A股周度复盘与下周策略提示词模板】 一、市场…...

性能比拼: Deno vs. Node.js vs. Bun (2025版)

本内容是对知名性能评测博主 Anton Putra Deno vs. Node.js vs. Bun: Performance Comparison 2025 内容的翻译与整理, 有适当删减, 相关指标和结论以原作为准 在本视频中&#xff0c;我们将使用当前可用的最新版本对 Node.js、Bun 和 Deno 进行比较。我决定更新本视频&#x…...

猫咪如厕检测与分类识别系统系列【十二】猫咪进出事件逻辑及日志优化

前情提要 家里养了三只猫咪&#xff0c;其中一只布偶猫经常出入厕所。但因为平时忙于学业&#xff0c;没法时刻关注牠的行为。我知道猫咪的如厕频率和时长与健康状况密切相关&#xff0c;频繁如厕可能是泌尿问题&#xff0c;停留过久也可能是便秘或不适。为了更科学地了解牠的如…...

stm32| 中断标志位和中断挂起位 | TIM_ClearFlag 函数和TIM_ClearITPendingBit 函数

1. 中断标志位&#xff08;Interrupt Flag&#xff09; 作用&#xff1a; 中断标志位位于外设寄存器中&#xff08;如定时器的TIMx_SR、GPIO的EXTI_PR等&#xff09;&#xff0c;用于指示某个特定事件是否发生&#xff08;例如定时器溢出、GPIO引脚电平变化&#xff09;。该标志…...

QML Rectangle 组件

基本属性 属性类型默认值描述colorcolor"white"矩形填充颜色border.colorcolor"transparent"边框颜色border.widthint0边框宽度radiusreal0圆角半径gradientGradientnull渐变填充antialiasingbooltrue是否抗锯齿 几何属性 (继承自Item) 属性类型默认值描…...

Spring 学习笔记之 @Transactional详解

一、数据库事务基础 数据库事务&#xff08;Transaction&#xff09;是数据库管理系统中用于确保数据一致性和完整性的一种机制。它是一组操作的集合&#xff0c;这些操作要么全部成功&#xff0c;要么全部失败&#xff0c;从而保证数据库状态的正确性。 1.1 事务的基本概念 定…...

绕过UI的cooke和token的验证

很多的网站都在登录页面加入了识别文字&#xff0c;识别图片&#xff0c;拖动拼图的验证码方式来防止爬虫、恶意注册等&#xff0c;如果是做自动化&#xff0c;需要绕过 验证码才能进入下一步操作。 方案一、测试环境去除验证码 &#xff1a;最轻松的方法&#xff0c;找开发帮忙…...

2024-04-19| Java: Documented注解学习 JavaDoc

在 Java 中&#xff0c;Documented 是一个元注解&#xff08;meta-annotation&#xff09;&#xff0c;用于标记其他注解&#xff0c;表明这些注解应该被包含在 JavaDoc 文档中。以下是关于 Documented 注解的作用的简要说明&#xff1a; 作用 记录注解信息到 JavaDoc&#x…...

09-DevOps-Jenkins实现CI持续集成

前面已经把harbor搭建好了&#xff0c;也可以向harbor中推送自定义镜像。 原计划是在Jenkins这台服务器上&#xff0c;完成镜像构建&#xff0c;然后把镜像推送的harbor仓库中。现在改变计划了&#xff0c;Jenkins所在的服务器&#xff08;192.168.1.10&#xff09;不负责镜像…...

Java中包装类和泛型

包装类和泛型 包装类装箱和拆箱 泛型泛型的概念泛型的使用泛型的上界 通配符通配符概念通配符上界通配符下界 前言 在Java中&#xff0c;由于基本类型不是继承⾃Object&#xff0c;为了在泛型中可以⽀持基本类型&#xff0c;Java给每个基本类型都对应了⼀个包装类型&#xff0c…...

小程序 GET 接口两种传值方式

前言 一般 GET 接口只有两种URL 参数和路径参数 一&#xff1a;URL 参数&#xff08;推荐方式&#xff09; 你希望请求&#xff1a; https://serve.zimeinew.com/wx/products/info?id5124接口应该写成这样&#xff0c;用 req.query.id 取 ?id5124&#xff1a; app.get(&…...