HttpServletRequest req和前端的关系,req.getParameter详细解释,req.getParameter和前端的关系

HttpServletRequest 对象在后端和前端之间起到了桥梁的作用,它包含了来自客户端的所有请求信息。通过 HttpServletRequest 对象,后端可以获取前端发送的请求参数、请求头、请求方法等信息,并根据这些信息进行相应的处理。以下是对 HttpServletRequest 对象与前端关系的详细解释:

前端请求

前端通常通过 HTML 表单、JavaScript AJAX 请求等方式向后端发送请求。以下是几种常见的前端请求方式:

1. HTML 表单
<form action="/typetable" method="get"><label for="name">搜索:</label><input type="text" id="name" name="name"><button type="submit">搜索</button>
</form>

在这个表单中,用户输入搜索关键词并点击“搜索”按钮,表单会以 GET 方法提交到 /typetable 路径,请求参数 name 会被包含在 URL 中。

2. JavaScript AJAX 请求
fetch('/typetable', {method: 'GET',params: {name: 'example'}
})
.then(response => response.json())
.then(data => {console.log(data);
});

在这个 AJAX 请求中,JavaScript 通过 fetch 函数发送一个 GET 请求到 /typetable 路径,并携带请求参数 name

后端处理

在后端,HttpServletRequest 对象用于接收和处理前端发送的请求。以下是 HttpServletRequest 对象的主要功能:

1. 获取请求参数
String name = req.getParameter("name");
  • req.getParameter("name"):获取请求参数 name 的值。
  • 如果请求是通过表单提交的,name 参数会出现在 URL 的查询字符串中,例如 /typetable?name=example
  • 如果请求是通过 AJAX 发送的,name 参数也会作为查询字符串的一部分。
2. 获取请求头
String userAgent = req.getHeader("User-Agent");
  • req.getHeader("User-Agent"):获取请求头中 User-Agent 的值,表示客户端的浏览器信息。
3. 获取请求方法
String method = req.getMethod();
  • req.getMethod():获取请求的方法,例如 GETPOSTPUTDELETE 等。
4. 获取请求 URI 和 URL
String requestURI = req.getRequestURI();
StringBuffer requestURL = req.getRequestURL();
  • req.getRequestURI():获取请求的 URI,例如 /typetable
  • req.getRequestURL():获取请求的完整 URL,例如 http://example.com/typetable
5. 设置请求属性
req.setAttribute("typeList", typeList);
  • req.setAttribute("typeList", typeList):将 typeList 设置为请求属性,属性名称为 "typeList"
  • 这样,在视图中可以通过 ${typeList} 访问这些数据。

示例代码解释

以下是你提供的代码段的详细解释:

@RequestMapping("typetable")
public String typeTable(HttpServletRequest req) {if (!StringUtils.isEmpty(req.getParameter("name"))) {String name = "%" + req.getParameter("name") + "%";req.setAttribute("typeList", typeDao.findByTypeNameLikeOrTypeModelLike(name, name));} else {Iterable<SystemTypeList> typeList = typeDao.findAll();req.setAttribute("typeList", typeList);}return "systemcontrol/typetable";
}
  1. 方法声明

    @RequestMapping("typetable")
    public String typeTable(HttpServletRequest req) {
    
    • @RequestMapping("typetable"):将该方法映射到 /typetable 路径。
    • public String typeTable(HttpServletRequest req):方法返回一个字符串,表示视图的名称。HttpServletRequest req 参数表示当前的 HTTP 请求对象。
  2. 检查请求参数

    if (!StringUtils.isEmpty(req.getParameter("name"))) {
    
    • req.getParameter("name"):获取请求参数 name 的值。
    • StringUtils.isEmpty:检查字符串是否为空或仅包含空白字符。
    • 如果 name 参数存在且不为空,则进入条件分支。
  3. 处理模糊查询

    String name = "%" + req.getParameter("name") + "%";
    req.setAttribute("typeList", typeDao.findByTypeNameLikeOrTypeModelLike(name, name));
    
    • String name = "%" + req.getParameter("name") + "%";:将 name 参数值前后加上 %,构建模糊查询条件。
    • typeDao.findByTypeNameLikeOrTypeModelLike(name, name):调用 typeDaofindByTypeNameLikeOrTypeModelLike 方法,根据类型名称或类型模型进行模糊查询。
    • req.setAttribute("typeList", typeDao.findByTypeNameLikeOrTypeModelLike(name, name));:将查询结果设置为请求属性,属性名称为 "typeList"
  4. 处理全量查询

    else {Iterable<SystemTypeList> typeList = typeDao.findAll();req.setAttribute("typeList", typeList);
    }
    
    • 如果 name 参数不存在或为空,则进入 else 分支。
    • typeDao.findAll():调用 typeDaofindAll 方法,查询所有类型的记录。
    • req.setAttribute("typeList", typeList);:将查询结果设置为请求属性,属性名称为 "typeList"
  5. 返回视图名称

    return "systemcontrol/typetable";
    
    • 返回字符串 "systemcontrol/typetable",表示视图的名称。
    • Spring MVC 会根据这个名称找到对应的视图文件并渲染。

视图文件中的使用

在视图文件中,可以通过 JSTL 标签库(JavaServer Pages Standard Tag Library)来遍历 typeList 并显示数据。假设视图文件是 systemcontrol/typetable.jsp,它可能会包含如下内容:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head><title>类型表格</title>
</head>
<body>
<h1>类型表格</h1>
<form action="typetable" method="get"><label for="name">搜索:</label><input type="text" id="name" name="name"><button type="submit">搜索</button>
</form>
<table><tr><th>ID</th><th>类型名称</th><th>类型模型</th><th>操作</th></tr><c:forEach items="${typeList}" var="type"><tr><td>${type.typeId}</td><td>${type.typeName}</td><td>${type.typeModel}</td><td><a href="typeedit?typeid=${type.typeId}">编辑</a><a href="deletetype?id=${type.typeId}">删除</a></td></tr></c:forEach>
</table>
</body>
</html>

在这个视图文件中,通过 ${typeList} 访问从控制器传递过来的类型数据,并显示在一个表格中。用户还可以通过表单提交 name 参数进行模糊查询。

总结

HttpServletRequest 对象在后端和前端之间起到了桥梁的作用,它包含了来自客户端的所有请求信息。通过 HttpServletRequest 对象,后端可以获取前端发送的请求参数、请求头、请求方法等信息,并根据这些信息进行相应的处理。

String name = “%” + req.getParameter(“name”) + “%”; req.setAttribute(“typeList”, typeDao.findByTypeNameLikeOrTypeModelLike(name, name));

这两行代码用于处理前端传来的搜索请求参数,并进行模糊查询。以下是详细的解释:

代码片段

String name = "%" + req.getParameter("name") + "%";
req.setAttribute("typeList", typeDao.findByTypeNameLikeOrTypeModelLike(name, name));

详细解释

1. 构建模糊查询条件
String name = "%" + req.getParameter("name") + "%";
  • 获取请求参数req.getParameter("name")

    • req.getParameter("name"):从 HttpServletRequest 对象中获取名为 name 的请求参数值。
    • 例如,如果前端表单提交的 URL 是 /typetable?name=example,那么 req.getParameter("name") 会返回 "example"
  • 构建模糊查询条件"%" + req.getParameter("name") + "%"

    • name 参数值的前后各加一个 % 符号,构建模糊查询条件。
    • % 是 SQL 中的通配符,表示任意字符序列(包括空字符序列)。
    • 例如,如果 name 参数值是 "example",那么 name 变量的值将是 "%example%"
2. 执行模糊查询
req.setAttribute("typeList", typeDao.findByTypeNameLikeOrTypeModelLike(name, name));
  • 调用 DAO 方法typeDao.findByTypeNameLikeOrTypeModelLike(name, name)

    • typeDao 是一个 DAO(Data Access Object)对象,用于与数据库交互。
    • findByTypeNameLikeOrTypeModelLiketypeDao 中定义的方法,用于根据类型名称或类型模型进行模糊查询。
    • 方法签名可能类似于:
      List<SystemTypeList> findByTypeNameLikeOrTypeModelLike(String typeName, String typeModel);
      
    • 该方法接受两个参数,分别表示类型名称和类型模型的模糊查询条件。
    • 由于我们希望同时在类型名称和类型模型中进行模糊匹配,所以传递相同的 name 参数。
  • 设置请求属性req.setAttribute("typeList", ...)

    • req.setAttribute("typeList", typeDao.findByTypeNameLikeOrTypeModelLike(name, name)):将查询结果设置为请求属性,属性名称为 "typeList"
    • 这样,在视图中可以通过 ${typeList} 访问这些数据。

示例 DAO 方法

假设 SystemTypeList 是一个实体类,表示系统类型列表中的一个条目,DAO 方法可能如下实现:

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;@Repository
public interface SystemTypeListDao extends JpaRepository<SystemTypeList, Long> {List<SystemTypeList> findByTypeNameLikeOrTypeModelLike(String typeName, String typeModel);
}

视图文件中的使用

在视图文件中,可以通过 JSTL 标签库(JavaServer Pages Standard Tag Library)来遍历 typeList 并显示数据。假设视图文件是 systemcontrol/typetable.jsp,它可能会包含如下内容:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head><title>类型表格</title>
</head>
<body>
<h1>类型表格</h1>
<form action="typetable" method="get"><label for="name">搜索:</label><input type="text" id="name" name="name"><button type="submit">搜索</button>
</form>
<table><tr><th>ID</th><th>类型名称</th><th>类型模型</th><th>操作</th></tr><c:forEach items="${typeList}" var="type"><tr><td>${type.typeId}</td><td>${type.typeName}</td><td>${type.typeModel}</td><td><a href="typeedit?typeid=${type.typeId}">编辑</a><a href="deletetype?id=${type.typeId}">删除</a></td></tr></c:forEach>
</table>
</body>
</html>

在这个视图文件中,通过 ${typeList} 访问从控制器传递过来的类型数据,并显示在一个表格中。用户还可以通过表单提交 name 参数进行模糊查询。

总结

这两行代码的主要功能是:

  1. 构建模糊查询条件:从请求参数中获取 name 值,并在其前后加上 % 符号,构建模糊查询条件。
  2. 执行模糊查询:调用 DAO 方法进行模糊查询,并将查询结果设置为请求属性,以便在视图中使用。

req.getParameter详细解释

req.getParameterHttpServletRequest 接口中用于获取请求参数的方法。通过这个方法,可以从客户端发送的请求中提取出特定的参数值。以下是对 req.getParameter 方法的详细解释,以及它在你的代码中的具体应用。

req.getParameter 方法

定义

getParameter 方法定义在 HttpServletRequest 接口中,用于获取请求参数的值。

public String getParameter(String name);
参数
  • name:参数的名称,类型为 String
返回值
  • 返回类型为 String,表示请求参数的值。
  • 如果请求中没有该参数,或者参数值为空,则返回 null

使用场景

getParameter 方法通常用于处理表单提交、URL 查询字符串、AJAX 请求等场景中传递的参数。

示例代码解释

以下是你提供的代码片段的详细解释:

String name = "%" + req.getParameter("name") + "%";
req.setAttribute("typeList", typeDao.findByTypeNameLikeOrTypeModelLike(name, name));
1. 获取请求参数
String name = req.getParameter("name");
  • 获取请求参数req.getParameter("name")
    • reqHttpServletRequest 对象,表示当前的 HTTP 请求。
    • getParameter("name") 方法用于获取名为 name 的请求参数的值。
    • 例如,如果前端表单提交的 URL 是 /typetable?name=example,那么 req.getParameter("name") 会返回 "example"
    • 如果请求中没有 name 参数,或者参数值为空,则返回 null
2. 构建模糊查询条件
String name = "%" + req.getParameter("name") + "%";
  • 构建模糊查询条件"%" + req.getParameter("name") + "%"
    • name 参数值的前后各加一个 % 符号,构建模糊查询条件。
    • % 是 SQL 中的通配符,表示任意字符序列(包括空字符序列)。
    • 例如,如果 name 参数值是 "example",那么 name 变量的值将是 "%example%"
3. 执行模糊查询
req.setAttribute("typeList", typeDao.findByTypeNameLikeOrTypeModelLike(name, name));
  • 调用 DAO 方法typeDao.findByTypeNameLikeOrTypeModelLike(name, name)

    • typeDao 是一个 DAO(Data Access Object)对象,用于与数据库交互。
    • findByTypeNameLikeOrTypeModelLiketypeDao 中定义的方法,用于根据类型名称或类型模型进行模糊查询。
    • 方法签名可能类似于:
      List<SystemTypeList> findByTypeNameLikeOrTypeModelLike(String typeName, String typeModel);
      
    • 该方法接受两个参数,分别表示类型名称和类型模型的模糊查询条件。
    • 由于我们希望同时在类型名称和类型模型中进行模糊匹配,所以传递相同的 name 参数。
  • 设置请求属性req.setAttribute("typeList", ...)

    • req.setAttribute("typeList", typeDao.findByTypeNameLikeOrTypeModelLike(name, name)):将查询结果设置为请求属性,属性名称为 "typeList"
    • 这样,在视图中可以通过 ${typeList} 访问这些数据。

示例前端请求

HTML 表单
<form action="/typetable" method="get"><label for="name">搜索:</label><input type="text" id="name" name="name"><button type="submit">搜索</button>
</form>

在这个表单中,用户输入搜索关键词并点击“搜索”按钮,表单会以 GET 方法提交到 /typetable 路径,请求参数 name 会被包含在 URL 中,例如 /typetable?name=example

JavaScript AJAX 请求
fetch('/typetable', {method: 'GET',params: {name: 'example'}
})
.then(response => response.json())
.then(data => {console.log(data);
});

在这个 AJAX 请求中,JavaScript 通过 fetch 函数发送一个 GET 请求到 /typetable 路径,并携带请求参数 name,例如 /typetable?name=example

总结

req.getParameter 方法用于从 HttpServletRequest 对象中获取请求参数的值。在你的代码中,req.getParameter("name") 用于获取前端传递的 name 参数值,并构建模糊查询条件,然后调用 DAO 方法进行模糊查询,最后将查询结果设置为请求属性,以便在视图中使用。

req.getParameter和前端的关系

req.getParameter 方法在后端用于获取前端发送的请求参数。通过这个方法,后端可以读取用户在前端页面中输入的数据或其他传递的信息。以下是 req.getParameter 方法与前端关系的详细解释,包括常见的前端请求方式和后端处理过程。

前端请求

前端通常通过 HTML 表单、JavaScript AJAX 请求等方式向后端发送请求。以下是几种常见的前端请求方式:

1. HTML 表单
<form action="/typetable" method="get"><label for="name">搜索:</label><input type="text" id="name" name="name"><button type="submit">搜索</button>
</form>

在这个表单中,用户输入搜索关键词并点击“搜索”按钮,表单会以 GET 方法提交到 /typetable 路径,请求参数 name 会被包含在 URL 中,例如 /typetable?name=example

2. JavaScript AJAX 请求
fetch('/typetable', {method: 'GET',params: {name: 'example'}
})
.then(response => response.json())
.then(data => {console.log(data);
});

在这个 AJAX 请求中,JavaScript 通过 fetch 函数发送一个 GET 请求到 /typetable 路径,并携带请求参数 name,例如 /typetable?name=example

后端处理

在后端,HttpServletRequest 对象用于接收和处理前端发送的请求。req.getParameter 方法用于从请求中获取特定的参数值。

示例代码

以下是你提供的代码片段的详细解释:

@RequestMapping("typetable")
public String typeTable(HttpServletRequest req) {if (!StringUtils.isEmpty(req.getParameter("name"))) {String name = "%" + req.getParameter("name") + "%";req.setAttribute("typeList", typeDao.findByTypeNameLikeOrTypeModelLike(name, name));} else {Iterable<SystemTypeList> typeList = typeDao.findAll();req.setAttribute("typeList", typeList);}return "systemcontrol/typetable";
}

详细解释

1. 获取请求参数
String name = req.getParameter("name");
  • 获取请求参数req.getParameter("name")
    • reqHttpServletRequest 对象,表示当前的 HTTP 请求。
    • getParameter("name") 方法用于获取名为 name 的请求参数的值。
    • 例如,如果前端表单提交的 URL 是 /typetable?name=example,那么 req.getParameter("name") 会返回 "example"
    • 如果请求中没有 name 参数,或者参数值为空,则返回 null
2. 检查参数是否为空
if (!StringUtils.isEmpty(req.getParameter("name"))) {
  • 条件检查!StringUtils.isEmpty(req.getParameter("name"))
    • StringUtils.isEmpty 是一个工具方法,用于检查字符串是否为空或仅包含空白字符。
    • 如果 name 参数存在且不为空,则进入条件分支。
3. 构建模糊查询条件
String name = "%" + req.getParameter("name") + "%";
  • 构建模糊查询条件"%" + req.getParameter("name") + "%"
    • name 参数值的前后各加一个 % 符号,构建模糊查询条件。
    • % 是 SQL 中的通配符,表示任意字符序列(包括空字符序列)。
    • 例如,如果 name 参数值是 "example",那么 name 变量的值将是 "%example%"
4. 执行模糊查询
req.setAttribute("typeList", typeDao.findByTypeNameLikeOrTypeModelLike(name, name));
  • 调用 DAO 方法typeDao.findByTypeNameLikeOrTypeModelLike(name, name)

    • typeDao 是一个 DAO(Data Access Object)对象,用于与数据库交互。
    • findByTypeNameLikeOrTypeModelLiketypeDao 中定义的方法,用于根据类型名称或类型模型进行模糊查询。
    • 方法签名可能类似于:
      List<SystemTypeList> findByTypeNameLikeOrTypeModelLike(String typeName, String typeModel);
      
    • 该方法接受两个参数,分别表示类型名称和类型模型的模糊查询条件。
    • 由于我们希望同时在类型名称和类型模型中进行模糊匹配,所以传递相同的 name 参数。
  • 设置请求属性req.setAttribute("typeList", ...)

    • req.setAttribute("typeList", typeDao.findByTypeNameLikeOrTypeModelLike(name, name)):将查询结果设置为请求属性,属性名称为 "typeList"
    • 这样,在视图中可以通过 ${typeList} 访问这些数据。
5. 处理全量查询
else {Iterable<SystemTypeList> typeList = typeDao.findAll();req.setAttribute("typeList", typeList);
}
  • 条件不满足时:如果 name 参数不存在或为空,则进入 else 分支。
  • 查询所有数据typeDao.findAll():调用 typeDaofindAll 方法,查询所有类型的记录。
  • 设置请求属性req.setAttribute("typeList", typeList);:将查询结果设置为请求属性,属性名称为 "typeList",以便在视图中使用。
6. 返回视图名称
return "systemcontrol/typetable";
  • 返回值"systemcontrol/typetable":这是一个字符串,表示视图的名称。
  • 视图渲染:Spring MVC 会根据这个名称找到对应的视图文件并渲染。

视图文件中的使用

在视图文件中,可以通过 JSTL 标签库(JavaServer Pages Standard Tag Library)来遍历 typeList 并显示数据。假设视图文件是 systemcontrol/typetable.jsp,它可能会包含如下内容:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head><title>类型表格</title>
</head>
<body>
<h1>类型表格</h1>
<form action="typetable" method="get"><label for="name">搜索:</label><input type="text" id="name" name="name"><button type="submit">搜索</button>
</form>
<table><tr><th>ID</th><th>类型名称</th><th>类型模型</th><th>操作</th></tr><c:forEach items="${typeList}" var="type"><tr><td>${type.typeId}</td><td>${type.typeName}</td><td>${type.typeModel}</td><td><a href="typeedit?typeid=${type.typeId}">编辑</a><a href="deletetype?id=${type.typeId}">删除</a></td></tr></c:forEach>
</table>
</body>
</html>

在这个视图文件中,通过 ${typeList} 访问从控制器传递过来的类型数据,并显示在一个表格中。用户还可以通过表单提交 name 参数进行模糊查询。

总结

req.getParameter 方法用于从 HttpServletRequest 对象中获取前端发送的请求参数值。在你的代码中,req.getParameter("name") 用于获取前端传递的 name 参数值,并构建模糊查询条件,然后调用 DAO 方法进行模糊查询,最后将查询结果设置为请求属性,以便在视图中使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/478677.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

单片机学习笔记 8. 矩阵键盘按键检测

更多单片机学习笔记&#xff1a;单片机学习笔记 1. 点亮一个LED灯单片机学习笔记 2. LED灯闪烁单片机学习笔记 3. LED灯流水灯单片机学习笔记 4. 蜂鸣器滴~滴~滴~单片机学习笔记 5. 数码管静态显示单片机学习笔记 6. 数码管动态显示单片机学习笔记 7. 独立键盘 目录 0、实现的…

道品智能科技移动式水肥一体机:农业灌溉施肥的革新之选

在现代农业的发展进程中&#xff0c;科技的力量正日益凸显。其中&#xff0c;移动式水肥一体机以其独特的可移动性、智能化以及实现水肥一体化的卓越性能&#xff0c;成为了农业领域的一颗璀璨新星。它不仅改变了传统的农业灌溉施肥方式&#xff0c;更为农业生产带来了高效、精…

android 音效可视化--Visualizer

Visualizer 是使应用程序能够检索当前播放音频的一部分以进行可视化。它不是录音接口&#xff0c;仅返回部分低质量的音频内容。但是&#xff0c;为了保护某些音频数据的隐私&#xff0c;使用 Visualizer 需要 android.permission.RECORD_AUDIO权限。传递给构造函数的音频会话 …

计算机网络八股整理(一)

计算机网络八股文整理 一&#xff1a;网络模型 1&#xff1a;网络osi模型和tcp/ip模型分别介绍一下 osi模型是国际标准的网络模型&#xff0c;它由七层组成&#xff0c;从上到下分别是&#xff1a;应用层&#xff0c;表示层&#xff0c;会话层&#xff0c;传输层&#xff0c;…

利用Python爬虫获得1688按关键字搜索商品:技术解析

在电商领域&#xff0c;1688作为中国领先的B2B电商平台&#xff0c;其商品搜索功能对于商家来说具有极高的价值。通过获取搜索结果&#xff0c;商家可以更好地了解市场趋势&#xff0c;优化产品标题&#xff0c;提高搜索排名。本文将介绍如何使用Python编写爬虫&#xff0c;以获…

Spring Boot集成MyBatis-Plus:自定义拦截器实现动态表名切换

Spring Boot集成MyBatis-Plus&#xff1a;自定义拦截器实现动态表名切换 一、引言 介绍动态表名的场景需求&#xff0c;比如多租户系统、分表分库&#xff0c;或者不同业务模块共用一套代码但操作不同表。说明 MyBatis-Plus 默认绑定固定表名的问题。 二、项目配置 1. 集成 M…

(原创)Android Studio新老界面UI切换及老版本下载地址

前言 这两天下载了一个新版的Android Studio&#xff0c;发现整个界面都发生了很大改动&#xff1a; 新的界面的一些设置可参考一些博客&#xff1a; Android Studio新版UI常用设置 但是对于一些急着开发的小伙伴来说&#xff0c;没有时间去适应&#xff0c;那么怎么办呢&am…

数据新时代:如何选择现代数据治理平台(上)

谈现代数据治理系统的十大架构特征 最近一位老友找到我&#xff0c;咨询他的数据治理平台到底该不该换&#xff0c;背景是这样的&#xff1a;若干年前采购了一个市场主流的数据治理平台&#xff0c;功能大概就是数据治理三件套——标准、元数据和质量等经典数据治理的功能。现…

抖音SEO矩阵系统:开发技术分享

市场环境剖析 短视频SEO矩阵系统是一种策略&#xff0c;旨在通过不同平台上的多个账号建立联系&#xff0c;整合同一品牌下的各平台粉丝流量。该系统通过遵循每个平台的规则和内容要求&#xff0c;输出企业和品牌形象&#xff0c;以矩阵形式增强粉丝基础并提升商业价值。抖音作…

从零开始打造个人博客:我的网页设计之旅

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 ✨特色专栏&#xff1a…

STM32F103C8T6实时时钟RTC

目录 前言 一、RTC基本硬件结构 二、Unix时间戳 2.1 unix时间戳定义 2.2 时间戳与日历日期时间的转换 2.3 指针函数使用注意事项 ​三、RTC和BKP硬件结构 四、驱动代码解析 前言 STM32F103C8T6外部低速时钟LSE&#xff08;一般为32.768KHz&#xff09;用的引脚是PC14和PC…

Jmeter中的定时器

4&#xff09;定时器 1--固定定时器 功能特点 固定延迟&#xff1a;在每个请求之间添加固定的延迟时间。精确控制&#xff1a;可以精确控制请求的发送频率。简单易用&#xff1a;配置简单&#xff0c;易于理解和使用。 配置步骤 添加固定定时器 右键点击需要添加定时器的请求…

Fakelocation Server服务器/专业版 ubuntu

前言:需要Ubuntu系统 Fakelocation开源文件系统需求 Ubuntu | Fakelocation | 任务一 任务一 更新Ubuntu&#xff08;安装下载不再赘述&#xff09; sudo -i # 提权 sudo apt update # 更新软件包列表 sudo apt upgrade # 升级已安装的软…

5.5 W5500 TCP服务端与客户端

文章目录 1、TCP介绍2、W5500简介2.1 关键函数socketlistensendgetSn_RX_RSRrecv自动心跳包检测getSn_SR 1、TCP介绍 TCP 服务端&#xff1a; 创建套接字[socket]&#xff1a;服务器首先创建一个套接字&#xff0c;这是网络通信的端点。绑定套接字[bind]&#xff1a;服务器将…

超高流量多级缓存架构设计!

文章内容已经收录在《面试进阶之路》&#xff0c;从原理出发&#xff0c;直击面试难点&#xff0c;实现更高维度的降维打击&#xff01; 文章目录 电商-多级缓存架构设计多级缓存架构介绍多级缓存请求流程负载均衡算法的选择轮询负载均衡一致性哈希负载均衡算法选择 应用层 Ngi…

信创改造 - TongRDS 替换 Redis

记得开放 6379 端口哦 1&#xff09;首先在服务器上安装好 TongRDS 2&#xff09;替换 redis 的 host&#xff0c;post&#xff0c;passwd 3&#xff09;TongRDS 兼容 jedis # 例如&#xff1a;更改原先 redis 中对应的 host&#xff0c;post&#xff0c;passwd 改成 TongRDS…

vue3 uniapp 扫普通链接或二维码打开小程序并获取携带参数

vue3 uniapp 扫普通链接或二维码打开小程序并获取携带参数 微信公众平台添加配置 微信公众平台 > 开发管理 > 开发设置 > 扫普通链接二维码打开小程序 配置链接规则需要下载校验文档给后端存入服务器中&#xff0c;保存配置的时候会校验一次&#xff0c;确定当前的配…

Git(一)基本使用

目录 一、使用git -v 查看安装git版本 二、使用mkdir 创建一个文件&#xff0c;并使用 git init 在该目录下创建一个本地仓库&#xff0c; 三、通过git clone命令接入线上仓库 四、使用git status查看仓库状态信息 五、利用echo写入一个文件 并使用cat进行查看 【Linux】e…

QML学习 —— 29、3种不同使用动画的方式(附源码)

效果 说明 第一种:属性动画 - 当启动软件时候自动执行动画。      第二种:行为动画 - 当属性发生变化则自动执行动画。      第三种:目标动画 - 将动画变为对象,指定对象的目标进行执行动画。 代码 import QtQuick 2.12 import QtQuick.Window 2.12 import QtQu…

下载并安装Visual Studio 2017过程

一、下载 1、下载链接 下载链接&#xff1a;官方网址 先登录 往下滑找到较早的下载 2、进行搜索下载 或者直接点击&#x1f517;网站跳转 3、确认系统信息进行下载 二、安装 下载完成后右键使用管理员身份运行 1、点击同意后安装 2、若报错—设置失败 打开控制面板-&g…