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

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 方法进行模糊查询,最后将查询结果设置为请求属性,以便在视图中使用。

相关文章:

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

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

React-useEffect的使用

useEffect react提供的一个常用hook&#xff0c;用于在函数组件中执行副作用操作&#xff0c;比如数据获取、订阅或手动更改DOM。 基本用法&#xff1a; 接受2个参数&#xff1a; 一个包含命令式代码的函数&#xff08;副作用函数&#xff09;。一个依赖项数组&#xff0c;用…...

MySQL数据库与Informix:能否创建同名表?

MySQL数据库与Informix:能否创建同名表? 一、MySQL数据库中的同名表创建1. 使用CREATE TABLE ... SELECT语句2. 使用CREATE TABLE LIKE语句3. 复制表结构并选择性复制数据4. 使用同义词(Synonym)二、Informix数据库中的同名表创建1. 使用不同所有者2. 使用不同模式3. 复制表…...

爬虫实战:采集知乎XXX话题数据

目录 反爬虫的本意和其带来的挑战目标实战开发准备代码开发发现问题1. 发现问题[01]2. 发现问题[02] 解决问题1. 解决问题[01]2. 解决问题[02] 最终结果 结语 反爬虫的本意和其带来的挑战 在这个数字化时代社交媒体已经成为人们表达观点的重要渠道&#xff0c;对企业来说&…...

大数据新视界 -- Hive 数据桶原理:均匀分布数据的智慧(上)(9/ 30)

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…...

【小白学机器学习33】 大数定律python的 pandas.Dataframe 和 pandas.Series基础内容

目录 0 总结 0.1pd.Dataframe有一个比较麻烦琐碎的地方&#xff0c;就是引号 和括号 0.2 pd.Dataframe关于括号的原则 0.3 分清楚几个数据类型和对应的方法的范围 0.4 几个数据结构的构造关系 list → np.array(list) → pd.Series(np.array)/pd.Dataframe 1 python 里…...

【shodan】(五)网段利用

shodan基础&#xff08;五&#xff09; 声明&#xff1a;该笔记为up主 泷羽的课程笔记&#xff0c;本节链接指路。 警告&#xff1a;本教程仅作学习用途&#xff0c;若有用于非法行为的&#xff0c;概不负责。 nsa ip address range www.nsa.gov需科学上网 搜索网段 shodan s…...

LeetCode739. 每日温度(2024冬季每日一题 15)

给定一个整数数组 temperatures &#xff0c;表示每天的温度&#xff0c;返回一个数组 answer &#xff0c;其中 answer[i] 是指对于第 i 天&#xff0c;下一个更高温度出现在几天后。如果气温在这之后都不会升高&#xff0c;请在该位置用 0 来代替。 示例 1: 输入: temperatu…...

Node.js的http模块:创建HTTP服务器、客户端示例

新书速览|Vue.jsNode.js全栈开发实战-CSDN博客 《Vue.jsNode.js全栈开发实战&#xff08;第2版&#xff09;&#xff08;Web前端技术丛书&#xff09;》(王金柱)【摘要 书评 试读】- 京东图书 (jd.com) 要使用http模块&#xff0c;只需要在文件中通过require(http)引入即可。…...

加菲工具 - 好用免费的在线工具集合

加菲工具 https://orcc.online AI 工具 加菲工具 集合了目前主流的&#xff0c;免费可用的ai工具 文档处理 加菲工具 pdf转word、office与pdf互转等等工具都有链接 图片图标 加菲工具 统计了好用免费的在线工具 编码解码 加菲工具 base64编码解码、url编码解码、md5计算…...

.NET9 - 新功能体验(二)

书接上回&#xff0c;我们继续来聊聊.NET9和C#13带来的新变化。 01、新的泛型约束 allows ref struct 这是在 C# 13 中&#xff0c;引入的一项新的泛型约束功能&#xff0c;允许对泛型类型参数应用 ref struct 约束。 可能这样说不够直观&#xff0c;简单来说就是Span、ReadO…...

map和redis关系

Map 和 Redis 都是用于存储和管理数据的工具&#xff0c;但它们在用途、实现和应用场景上有所不同。下面详细解释 Map 和 Redis 之间的关系和区别。 1. Map 数据结构 定义 Map 是一种数据结构&#xff0c;用于存储键值对&#xff08;key-value pairs&#xff09;。每个键都是…...

《数据结构》学习系列——图(中)

系列文章目录 目录 图的遍历深度优先遍历递归算法堆栈算法 广度优先搜索 拓扑排序定义定理算法思想伪代码 关键路径基本概念关键活动有关量数学公式伪代码时间复杂性 图的遍历 从给定连通图的某一顶点出发&#xff0c;沿着一些边访问遍图中所有的顶点&#xff0c;且使每个顶点…...

探索Python的HTTP之旅:揭秘Requests库的神秘面纱

文章目录 **探索Python的HTTP之旅&#xff1a;揭秘Requests库的神秘面纱**第一部分&#xff1a;背景介绍第二部分&#xff1a;Requests库是什么&#xff1f;第三部分&#xff1a;如何安装Requests库&#xff1f;第四部分&#xff1a;Requests库的五个简单函数使用方法第五部分&…...

Python 爬虫从入门到(不)入狱学习笔记

爬虫的流程&#xff1a;从入门到入狱 1 获取网页内容1.1 发送 HTTP 请求1.2 Python 的 Requests 库1.2 实战&#xff1a;豆瓣电影 scrape_douban.py 2 解析网页内容2.1 HTML 网页结构2.2 Python 的 Beautiful Soup 库 3 存储或分析数据&#xff08;略&#xff09; 一般爬虫的基…...

IDEA优雅debug

目录 引言一、断点分类&#x1f384;1.1 行断点1.2 方法断点1.3 属性断点1.4 异常断点1.5 条件断点1.6 源断点1.7 多线程断点1.8 Stream断点 二、调试动作✨三、Debug高级技巧&#x1f389;3.1 watch3.2 设置变量3.3 异常抛出3.4 监控JVM堆大小3.5 数组过滤和筛选 引言 使用ID…...

wp the_posts_pagination 与分类页面搭配使用

<ul> <?php while( have_posts() ) : the_post(); <li > <a href"<?php the_permalink(); ?>"> <?php xizhitbu_get_thumbnail(thumb-pro); ?> </a> <p > <a href&q…...

大数据-231 离线数仓 - DWS 层、ADS 层的创建 Hive 执行脚本

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; Java篇开始了&#xff01; 目前开始更新 MyBatis&#xff0c;一起深入浅出&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff0…...

【Python】分割秘籍!掌握split()方法,让你的字符串处理轻松无敌!

在Python开发中&#xff0c;字符串处理是最常见也是最基础的任务之一。而在众多字符串操作方法中&#xff0c;split()函数无疑是最为重要和常用的一个。无论你是Python新手&#xff0c;还是经验丰富的开发者&#xff0c;深入理解并熟练运用split()方法&#xff0c;都将大大提升…...

免费实用在线AI工具集合 - 加菲工具

免费在线工具-加菲工具 https://orcc.online/ 在线录屏 https://orcc.online/recorder 时间戳转换 https://orcc.online/timestamp Base64 编码解码 https://orcc.online/base64 URL 编码解码 https://orcc.online/url Hash(MD5/SHA1/SHA256…) 计算 https://orcc.online/h…...

正则表达式灾难:重新认识“KISS原则”的意义

RSS Feed 文章标题整理 微积分在生活中的应用与思维启发 捕鹿到瞬时速度的趣味探索 微积分是一扇通往更广阔世界的门&#xff0c;从生活中学习思维的工具。 数据库才是最强架构 你还在被“复杂架构”误导吗&#xff1f; 把业务逻辑写入数据库&#xff0c;重新定义简单与效率。…...

eNSP-缺省路由配置

缺省路由是一种特殊的静态路由&#xff0c;其目的地址为0.0.0.0&#xff0c;子网掩码为0.0.0.0。 1.拓扑图搭建 2.配置路由器 AR2 <Huawei>sys #进入系统视图 [Huawei]ip route-static 0.0.0.0 0.0.0.0 192.168.3.2 #设置缺省路由 [Huawei]q #返回上一层 <Huawe…...

solr 远程命令执行 (CVE-2019-17558)

漏洞描述 Apache Velocity是一个基于Java的模板引擎&#xff0c;它提供了一个模板语言去引用由Java代码定义的对象。Velocity是Apache基金会旗下的一个开源软件项目&#xff0c;旨在确保Web应用程序在表示层和业务逻辑层之间的隔离&#xff08;即MVC设计模式&#xff09;。 Apa…...

STM32端口模拟编码器输入

文章目录 前言一、正交编码器是什么&#xff1f;二、使用步骤2.1开启时钟2.2配置编码器引脚 TIM3 CH1(PA6) CH2 (PA7)上拉输入2.3.初始化编码器时基2.4 初始化编码器输入2.5 配置编码器接口2.6 开启定时器2.7获取编码器数据 三、参考程序四、测试结果4.1测试方法4.2串口输出结果…...

Centos 8, add repo

Centos repo前言 Centos 8更换在线阿里云创建一键更换repo 自动化脚本 华为Centos 源 , 阿里云Centos 源 华为epel 源 , 阿里云epel 源vim /centos8_repo.sh #!/bin/bash # -*- coding: utf-8 -*- # Author: make.han...

MYSQL- 查看存储过程调式信息语句(二十七)

13.7.5.27 SHOW PROCEDURE CODE 语句 SHOW PROCEDURE CODE proc_name此语句是MySQL扩展&#xff0c;仅适用于已构建有调试支持的服务器。它显示了命名存储过程的内部实现的表示。类似的语句SHOW FUNCTION CODE显示有关存储函数的信息&#xff08;见第13.7.5.19节“SHOW FUNTIO…...

C#基础上机练习题

21.计算500-800区间内素数的个数cn&#xff0c;并按所求素数的值从大到小的顺序排列&#xff0c;再计算其间隔加、减之和&#xff0c;即第1个素数-第2个素数第3个素数-第4个素数第5个素数……的值sum。请编写函数实现程序的要求&#xff0c;把结果cn和sum输出。 22.在三位整数…...

5.5 W5500 TCP服务端与客户端

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

一区北方苍鹰算法优化+创新改进Transformer!NGO-Transformer-LSTM多变量回归预测

一区北方苍鹰算法优化创新改进Transformer&#xff01;NGO-Transformer-LSTM多变量回归预测 目录 一区北方苍鹰算法优化创新改进Transformer&#xff01;NGO-Transformer-LSTM多变量回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab NGO-Transformer-LST…...

深入理解 MyBatis 的缓存机制:一级缓存与二级缓存

MyBatis 是目前 Java 开发中常用的一种 ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;它不仅简化了 SQL 语句的编写和管理&#xff0c;还提供了强大的缓存机制&#xff0c;用以提高数据库访问的性能。MyBatis 的缓存分为一级缓存和二级缓存&#xff0c;分别应用于不…...