SSM整合(XML方式)
文章目录
- SSM整合之后xml方式
- 1 系统环境
- 1.1 软件环境
- 1.2 项目环境
- 1.3 配置web.xml
- 1.4 配置jdbc.properties文件
- 1.5 配置SpringMVC核心文件
- 1.6 配置Spring的核心文件
- 1.7 配置MyBatis的核心文件
- 1.8 配置数据库
- 1.9 配置文件位置
- 2 编写后端代码
- 2.1 编写实体类
- 2.2 编写Dao接口
- 2.3 编写Dao映射文件(resource目录下)
- 2.4 编写Service接口
- 2.5 编写ServiceImpl实现类
- 2.6 编写Controller类
- 2.7 代码映射文件位置
- 3 编写前端代码
- 3.1 编写首页index.jsp
- 3.2 配置Tomcat
- 3.3 webapp下配置图片
- 3.4 编写功能页面WEB-INF下
- 4 运行访问
- 4.1 请求路径
- 4.2 增删改查界面
- 4.3 项目源代码
SSM整合之后xml方式
1 系统环境
1.1 软件环境
软件版本:
IDEA 2021.3
Maven 3.6.3
MySql (Mariadb) 10.10
JDK 1.8
1.2 项目环境
1、创建Maven的web工程

2、引入pom依赖
<dependencies><!--servlet的依赖--><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.1</version><scope>provided</scope></dependency><!--jsp的依赖--><dependency><groupId>javax.servlet</groupId><artifactId>jsp-api</artifactId><version>2.0</version></dependency><!--JSTL表达式--><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><!--SpringWeb--><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.3.1</version></dependency><!--spring事务--><dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>5.3.1</version></dependency><!--jsckson的依赖--><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.14.2</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.14.2</version></dependency><!--mybatis的依赖--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.13</version></dependency><!--spring整合mybatis--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>2.1.1</version></dependency><!--mysql依赖--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.28</version></dependency><!--Spring的JDBC--><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.3.17</version></dependency><!--druid连接池--><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.16</version></dependency><!--单元测试--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><!--lombok插件--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.28</version></dependency></dependencies>
3 设置插件
<build><resources><resource><!--所在的目录--><directory>src/main/java</directory><!--包括目录下的.properties .xml文件都会扫描到--><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>false</filtering></resource></resources><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.1</version><configuration><source>1.8</source><target>1.8</target></configuration></plugin></plugins></build>
1.3 配置web.xml
配置前端控制器
<!--配置前端控制器--><servlet><servlet-name>myssm</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:config/springmvc.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>myssm</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping>
注册监听器
<!--注册监听器--><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:config/applicationContext.xml</param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>
注册字符过滤器,处理中文乱码
<!--注册字符过滤器--><filter><filter-name>characterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param><init-param><param-name>forceRequestEncoding</param-name><param-value>true</param-value></init-param><init-param><param-name>forceResponseEncoding</param-name><param-value>true</param-value></init-param></filter><filter-mapping><filter-name>characterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>
1.4 配置jdbc.properties文件
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/db002
jdbc.username=root
jdbc.password=root
1.5 配置SpringMVC核心文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd"><!--springMVC的配置文件 配置controller和其他web相关对象--><!--配置扫描--><context:component-scan base-package="com.hx.controller"/><!--配置视图解析器--><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/jsp/"/><property name="suffix" value=".jsp"/></bean><!--配置注解驱动--><mvc:annotation-driven></mvc:annotation-driven>
</beans>
1.6 配置Spring的核心文件
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:p="http://www.springframework.org/schema/p"xmlns:tx="http://www.springframework.org/schema/tx"xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvchttps://www.springframework.org/schema/mvc/spring-mvc.xsd"><!--spring的配置文件,声明Service dao等工具类对象--><!-- 加载配置文件 --><context:property-placeholder location="classpath:config/jdbc.properties" /><!-- 数据库连接池 --><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"destroy-method="close"><property name="driverClassName" value="${jdbc.driver}" /><property name="url" value="${jdbc.url}" /><property name="username" value="${jdbc.username}" /><property name="password" value="${jdbc.password}" /></bean><!--声明SqlSessionFactoryBean 创建 sqlSessionFactory--><!-- mapper配置,mybatis的SqlSessionFactoryBean --><!-- 让spring管理sqlsessionfactory 使用mybatis和spring整合包中的 --><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><!-- 数据库连接池 --><property name="dataSource" ref="dataSource" /><!-- 加载mybatis的全局配置文件 --><property name="configLocation" value="classpath:config/mybatis-config.xml" /></bean><!--声明mybatis的扫描,创建dao对象--><!-- 配置Mapper扫描器 --><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/><property name="basePackage" value="com.hx.dao"/></bean><!--声明service的扫描--><context:component-scan base-package="com.hx.service"/></beans>
1.7 配置MyBatis的核心文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><!--设置实体类别名--><typeAliases><package name="com.hx.domain"/></typeAliases><!--配置接口文件映射--><mappers><!--使用package要求:1、mapper文件名称和mapper接口名完全一致,包括大小写2、mapper文件和mapper接口必须在统一目录--><package name="com.hx.dao"/></mappers>
</configuration>
1.8 配置数据库
创建数据库,数据表student
表字段如下:

1.9 配置文件位置

2 编写后端代码
2.1 编写实体类
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Student {private Integer sid;private String sname;private Integer sage;
}
2.2 编写Dao接口
@Mapper
public interface StudentDao {//查询所有List<Student> findAll();//新增数据int addStu(@Param("student") Student student);//删除数据int delStuById(Integer sid);//修改数据int updateStu(Student student);
}
2.3 编写Dao映射文件(resource目录下)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hx.dao.StudentDao"><!--查询所有列表--><select id="findAll" resultType="Student">select sid, sname, sagefrom student;</select><!--新增数据--><insert id="addStu">insert into studentvalues (#{student.sid}, #{student.sname}, #{student.sage});</insert><!--删除数据--><delete id="delStuById">deletefrom studentwhere sid = #{sid}</delete><!--修改数据--><update id="updateStu" parameterType="Student">update studentset sname=#{sname},sage=#{sage}where sid = #{sid}</update>
</mapper>
2.4 编写Service接口
public interface StudentService {//查询所有List<Student> selectAll();//插入数据int insertStu(Student student);int delStuById(Integer sid);int updateStu(Student student);
}
2.5 编写ServiceImpl实现类
@Service
public class StudentServiceImpl implements StudentService {@Autowiredprivate StudentDao studentDao;@Overridepublic List<Student> selectAll() {return studentDao.findAll();}@Overridepublic int insertStu(Student student) {return studentDao.addStu(student);}@Overridepublic int delStuById(Integer sid) {return studentDao.delStuById(sid);}@Overridepublic int updateStu(Student student) {return studentDao.updateStu(student);}
}
2.6 编写Controller类
1、业务Controller
@Controller
@RequestMapping("/student")
public class StudentController {@Autowiredprivate StudentService studentService;@GetMapping("/getAll.do")public ModelAndView getAll() {List<Student> list = studentService.selectAll();ModelAndView mv = new ModelAndView();mv.addObject("list", list);mv.setViewName("listStu");return mv;}@PostMapping("/add.do")public ModelAndView saveStu(Student student) {String tips = "插入失败";ModelAndView mv = new ModelAndView();int i = studentService.insertStu(student);if (i > 0) {tips = "插入成功";}mv.addObject("data1", tips);mv.setViewName("success");return mv;}@RequestMapping("/put.do")public ModelAndView putStu(Student student) {String tips = "修改失败!";ModelAndView mv = new ModelAndView();int i = studentService.updateStu(student);if (i > 0) {tips = "修改成功";}mv.addObject("data2", tips);mv.setViewName("success");return mv;}@RequestMapping(value = "/del.do")public ModelAndView delStu(Integer sid) {String tips = "删除失败!";ModelAndView mv = new ModelAndView();int i = studentService.delStuById(sid);if (i > 0) {tips = "删除成功";}mv.addObject("data3", tips);mv.setViewName("success");return mv;}
}
2、页面相关Controller
@RestController
@RequestMapping("/index")
public class IndexController {@RequestMapping("/m1Add.do")public ModelAndView m1Add(){ModelAndView mv = new ModelAndView();mv.setViewName("add");return mv;}@RequestMapping("/m2Put.do")public ModelAndView m2Put(){ModelAndView mv = new ModelAndView();mv.setViewName("put");return mv;}@RequestMapping("/m3Del.do")public ModelAndView m3Del(){ModelAndView mv = new ModelAndView();mv.setViewName("del");return mv;}
}
2.7 代码映射文件位置

3 编写前端代码
3.1 编写首页index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title><style>div {background-color: antiquewhite;width: 400px;height: 200px;margin: 100px auto;text-align: center;background-image: url("images/p5.jpg");background-repeat: no-repeat;}a {text-decoration: none;color: orange;}button {margin: 10px 20px;}</style>
</head>
<body>
<div><h1>功能区首页</h1><br><button><a href="/student/getAll.do">查询数据</a></button><button><a href="/index/m1Add.do">插入数据</a></button><br><button><a href="/index/m2Put.do">修改数据</a></button><button><a href="/index/m3Del.do">删除数据</a></button>
</div>
</body>
</html>
3.2 配置Tomcat


3.3 webapp下配置图片

3.4 编写功能页面WEB-INF下

1 编写 listStu.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%String basePath =request.getScheme() + "://" +request.getServerName() + ":" +request.getServerPort() + request.getContextPath() + "/";
%>
<html>
<head><title>展示所有学生信息</title><style>.box1 {width: 300px;height: 400px;text-align: center;margin: 10px auto;background-image: url("/images/p3.jpg");background-repeat: no-repeat;}.box2 {width: 80px;height: 25px;text-align: center;margin: 10px auto;}</style>
</head>
<body>
<div class="box1"><table border="1px" width="300px" height="30px" align="center" cellspacing="0" cellpadding="0"><caption style="font-size: 20px">学生信息表</caption><tr bgcolor="#a9a9a9" text-align="center"><td>学号</td><td>姓名</td><td>年龄</td></tr><%--数据行--%><c:forEach items="${list}" var="stu" varStatus="s"><tr><td>${stu.sid}</td><td>${stu.sname}</td><td>${stu.sage}</td></tr></c:forEach></table><%--返回到首页--%><div class="box2"><form action="<%=basePath%>index.jsp"><input type="submit" name="返回" value="返回功能区"></form></div>
</div>
</body>
</html>
2 编写 add.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%String basePath =request.getScheme() + "://" +request.getServerName() + ":" +request.getServerPort() + request.getContextPath() + "/";
%>
<html>
<head><title>新增学生信息</title><style>div {background-color: antiquewhite;width: 300px;height: 180px;margin: 100px auto;text-align: center;line-height: normal;background-image: url("/images/p1.jpg");background-repeat: no-repeat;}.box2 {width: 80px;height: 25px;text-align: center;margin: auto;}</style>
</head>
<body>
<div><h3>新增数据</h3><form action="/student/add.do" method="post">学号:<input type="text" name="sid" value=""><br>姓名:<input type="text" name="sname" value=""><br>年龄:<input type="text" name="sage" value=""><br><input type="submit" value="添加"><input type="reset" value="重置"></form><%--返回到首页--%><div class="box2"><form action="<%=basePath%>index.jsp"><input type="submit" name="返回" value="返回功能区"></form></div>
</div>
</body>
</html>
3 编写 put.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%String basePath =request.getScheme() + "://" +request.getServerName() + ":" +request.getServerPort() + request.getContextPath() + "/";
%>
<html>
<head><title>修改学生信息</title><style>div {background-color: antiquewhite;width: 300px;height: 180px;margin: 100px auto;text-align: center;line-height: normal;background-image: url("/images/p4.jpg");background-repeat: no-repeat;}.box2 {width: 80px;height: 25px;text-align: center;margin: auto;}</style>
</head>
<body>
<div><h3>根据学号修改数据</h3><form action="/student/put.do" method="post">学号:<input type="text" name="sid" value=""><br>姓名:<input type="text" name="sname" value=""><br>年龄:<input type="text" name="sage" value=""><br><input type="submit" value="修改"><input type="reset" value="重置"></form><%--返回到首页--%><div class="box2"><form action="<%=basePath%>index.jsp"><input type="submit" name="返回" value="返回功能区"></form></div>
</div>
</body>
</html>
4 编写 del.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%String basePath =request.getScheme() + "://" +request.getServerName() + ":" +request.getServerPort() + request.getContextPath() + "/";
%>
<html>
<head><title>删除学生信息</title><style>div {background-color: beige;width: 300px;height: 150px;margin: 100px auto;text-align: center;background-image: url("/images/p2.jpg");background-repeat: no-repeat;}.box2 {width: 80px;height: 25px;text-align: center;margin: auto;}</style>
</head>
<body>
<div><h3>根据学号删除数据</h3><form action="/student/del.do" method="get"><input type="text" placeholder="请输入学号" name="sid" value=""><input type="submit" value="删除"></form><%--返回到首页--%><div class="box2"><form action="<%=basePath%>index.jsp"><input type="submit" name="返回" value="返回功能区"></form></div>
</div>
</body>
</html>
5 编写success.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%String basePath =request.getScheme() + "://" +request.getServerName() + ":" +request.getServerPort() + request.getContextPath() + "/";
%>
<html>
<head><title>Title</title><style>.box1{width: 200px;height: 150px;background-color: lightgoldenrodyellow;margin: 0 auto;text-align: center;}</style>
</head>
<body>
<div class="box1"><div class="box2"><div>插入:${data1}</div><div>修改:${data2}</div><div>删除:${data3}</div></div><%--返回到首页--%><div><form action="<%=basePath%>index.jsp"><input type="submit" name="返回" value="返回功能区"></form></div>
</div>
</body>
</html>
4 运行访问
4.1 请求路径
首页:http://localhost:8080

4.2 增删改查界面
- 查询功能

- 新增功能

- 修改功能

- 删除功能

4.3 项目源代码
https://gitee.com/allureyu/ssm__xml.git
以上纯属个人一手编写,欢迎指教,不喜勿喷!
相关文章:
SSM整合(XML方式)
文章目录 SSM整合之后xml方式1 系统环境1.1 软件环境1.2 项目环境1.3 配置web.xml1.4 配置jdbc.properties文件1.5 配置SpringMVC核心文件1.6 配置Spring的核心文件1.7 配置MyBatis的核心文件1.8 配置数据库1.9 配置文件位置 2 编写后端代码2.1 编写实体类2.2 编写Dao接口2.3 编…...
学习Vue:列表渲染(v-for)
在 Vue.js 中,实现动态列表的显示是非常常见的需求。为了达到这个目的,Vue 提供了 v-for 指令,它允许您迭代一个数组或对象,将其元素渲染为列表。然而,在使用 v-for 时,key 属性的设置也非常重要࿰…...
使用巴特沃兹滤波器的1D零相位频率滤波研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
ubuntu18.04安装cuda
卸载之前安装的驱动 sudo apt-get purge nvidia*安装驱动 方法1: 查看显卡适配的NVIDIA的驱动 ubuntu-drivers devices安装recommend推荐的版本 sudo apt-get install nvidia-driver-455方法2: 或者直接使用下面命令安装 sudo ubuntu-drivers au…...
【MFC】09.MFC视图-笔记
MFC视图窗口:CView类 显示数据/画面 我们之前的绘图消息,都是在框架类上画出来的 视图窗口就覆盖在框架窗口上 视图窗口本质上也是窗口,只是和框架窗口风格不同 CView类也继承于CWnd类 CView也能处理消息,因为它继承于CWnd类…...
【字节跳动青训营】后端笔记整理-2 | Go实践记录:猜谜游戏,在线词典,Socks5代理服务器
**本人是第六届字节跳动青训营(后端组)的成员。本文由博主本人整理自该营的日常学习实践,首发于稀土掘金:🔗Go实践记录:猜谜游戏,在线词典,Socks5代理服务器 | 青训营 我的go开发环境…...
GPT的第一个创作
嗨,大家好,我是赖兴泳!今天,我要和大家聊一聊前端开发,就像我用音符创造音乐一样,前端开发也是创造美丽的用户界面的过程。 前端开发是构建网站和应用程序用户界面的关键部分。就像音乐家需要精心编排音符…...
Spring Boot 获取前端参数
Spring Boot 获取前端参数 在开发 Web 应用程序时,前端参数是非常重要的。Spring Boot 提供了多种方法来获取前端参数,本文将介绍其中的一些常用方法。 1. 使用 RequestParam 注解 RequestParam 注解是 Spring MVC 提供的一种常用方式,用于…...
java应用运行在docker,并且其他组件也在docker
docker启动redis容器 # create redis docker run -d --name redis-container -p 6379:6379 redis:latest创建java 应用 dockerfile FROM openjdk:17##Pre-create related directories RUN mkdir -p /data/etax/ms-app WORKDIR /data/etax/ms-appEXPOSE 10133 COPY ./target…...
Java真实面试题,offer已到手
关于学习 在黑马程序员刚刚开始的时候学习尽头非常足,到后面逐渐失去了一些兴趣,以至于后面上课会出现走神等问题,但是毕业时后悔晚矣。等到开始学习项目一的时候,思路总会比别人慢一些,不看讲义写不出来代码。 建议…...
在序列化、反序列化下如何保持单例(Singleton)模式
1、序列化、反序列化 在 Java 中,当一个对象被序列化后再被反序列化,通常情况下会创建一个新的对象实例。这是因为序列化将对象的状态保存到字节流中,而反序列化则是将字节流重新转化为对象。在这个过程中,通常会使用类的构造函数…...
【数据结构】二叉树篇|超清晰图解和详解:二叉树的最近公共祖先
博主简介:努力学习的22级计算机科学与技术本科生一枚🌸博主主页: 是瑶瑶子啦每日一言🌼: 你不能要求一片海洋,没有风暴,那不是海洋,是泥塘——毕淑敏 目录 一、题目二、题解三、代码 一、题目 …...
android ndk clang交叉编译ffmpeg动态库踩坑
1.ffmpeg默认使用gcc编译,在android上无法使用,否则各种报错,所以要用ndk的clang编译 2.下载ffmpeg源码 修改configure文件,增加命令 cross_prefix_clang 修改以下命令 cc_default"${cross_prefix}${cc_default}" cxx…...
简单记录牛客top101算法题(初级题C语言实现)BM24 二叉树的中序遍历 BM28 二叉树的最大深度 BM29 二叉树中和为某一值的路径
1. BM24 二叉树的中序/后续遍历 要求:给定一个二叉树的根节点root,返回它的中序遍历结果。 输入:{1,2,#,#,3} 返回值:[2,3,1]1.1 自己的整体思路(与二叉树的前序遍…...
前后端分离------后端创建笔记(05)用户列表查询接口(上)
本文章转载于【SpringBootVue】全网最简单但实用的前后端分离项目实战笔记 - 前端_大菜007的博客-CSDN博客 仅用于学习和讨论,如有侵权请联系 源码:https://gitee.com/green_vegetables/x-admin-project.git 素材:https://pan.baidu.com/s/…...
性能测试|App性能测试需要关注的指标
一、Android客户端性能测试常见指标: 1、内存 2、CPU 3、流量 4、电量 5、启动速度 6、滑动速度、界面切换速度 7、与服务器交互的网络速度 二、预期标准指定原则 1、分析竞争对手的产品,所有指标要强于竞品 2、产品经理给出的预期性能指标数据…...
Termux SFTP 进行远程文件传输
文章目录 1. 安装openSSH2. 安装cpolar3. 远程SFTP连接配置4. 远程SFTP访问4. 配置固定远程连接地址 SFTP(SSH File Transfer Protocol)是一种基于SSH(Secure Shell)安全协议的文件传输协议。与FTP协议相比,SFTP使用了…...
Sqlite3简介
SQLite3 简介 SQLite3 是一种轻量级的嵌入式数据库引擎,被广泛应用于各种应用程序中,包括移动设备、桌面应用程序和嵌入式系统。它以其简单、高效和零配置的特点而受到开发者的喜爱。 以下是 SQLite3 的一些重要特点: 嵌入式数据库引擎&…...
K8S调度
K8S调度 一、List-Watch 机制 controller-manager、scheduler、kubelet 通过 List-Watch 机制监听 apiserver 发出的事件,apiserver 通过 List-Watch 机制监听 etcd 发出的事件1.scheduler 的调度策略 预选策略/预算策略:通过调度算法过滤掉不满足条件…...
vue+element多层表单校验prop和rules
核心点:外层循环是item和index,内层循环是item2和index2 如果都是定义的同一个属性名 外层循环得写:prop"block.index.numerical" 同理内层循环就得写:prop"objectSpecs. index2 .numerical" 校验函数方法 :rules"getRules(it…...
基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...
云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...
【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...
VTK如何让部分单位不可见
最近遇到一个需求,需要让一个vtkDataSet中的部分单元不可见,查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行,是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示,主要是最后一个参数,透明度…...
回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...
在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)
考察一般的三次多项式,以r为参数: p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]; 此多项式的根为: 尽管看起来这个多项式是特殊的,其实一般的三次多项式都是可以通过线性变换化为这个形式…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
