- 博客(45)
- 资源 (1)
- 收藏
- 关注
原创 springcloud集成consul集群遇到的问题
OperationException(statusCode=500, statusMessage=‘Internal Server Error’, statusContent=‘rpc error getting client: failed to get conn: dial tcp 192.168.3.42:0->192.168.232.131:8300: i/o timeout’)
2021-05-07 18:31:44
2467
原创 云服务器无法ping通本地的问题
背景:今天在做集群搭建,本地VMware里有3台虚拟机作为server节点,其中一个为主节点。本人还有一台阿里云的服务器,想使之作为client节点,在将client节点加入集群时,老是加不进去,一直报I/O timeout,第一时间想到端口没开,或者安全组没配,这一切做完后,还是无法连接。ping了主服务节点一下,出奇的发现无法ping通。网上找了一大堆,都是一些什么出入方向配置ICMP安全组等,这些是解决本地无法ping通服务器的。但是我本地是可以ping通服务器。不废话了,概括如下:问题:1.服
2021-05-06 16:05:21
7898
5
原创 SpringBoot的Https配置
由于HTTPS具有良好的安全性,在开发中得到了越来越广泛的应用,对于个人开发者而言,一个HTTPS证书的价格还是有点贵的,国内有一些云服务器厂商提供免费的HTTPS证书,一个账号可以申请数个。不过在jdk中提供了一个Java数字证书管理工具类keytool,在\jdk\bin目录下,通过这个工具可以自己生成一个数字证书。HTTP配置keytool -genkey -alias tomcathttps -keyalg RSA -keysize 2048 -keystore sang.p12 -val
2021-04-14 14:58:23
242
原创 Git基本操作
Git基本概念集中式和分布式的版本控制系统的比较集中式的版本控制(CVCS),中央服务器作为协同工作的版本控制系统,可以让在不同系统上的开发者协同工作。但是若中央服务器宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。分布式版本控制系统(DVCS),客户端并不只是提取到最新版本的文件快照,而是把代码仓库完整的镜像下来,包括完整的历史记录。这么一来,任何一处协同工作的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。因为每一次的克隆操作,实际上都是一次对代码仓库的完整
2021-04-14 14:54:38
198
原创 AOP学习记录及@Configuration注解使用
AOP面向切面,为什么要面向切面?哪些操作需要AOP编程? Aop主要实现的目的是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合的隔离效果。 比如我们最常见的就是日志记录了,举个例子,我们现在提供一个查询学生信息的服务,但是我们希望记录有谁进行了这个查询。如果按照传统的OOP的实现的话,那我们实现了一个查询学生信息的服务接口(StudentInfoService)和其实现 类 (StudentInfoServiceImpl.java)
2021-04-14 14:46:06
560
原创 springboot中的一些注解
@Target用于设定注解范围,通过ElementType来指定注解适用范围的枚举集合;ElementType取值注解适用范围METHOD可用于描述方法上TYPE用于描述类、接口(包括注解类型)或enum声明上ANNOTATION-TYPE用于注解类型上(被@interface修饰的类型)CONSTRUCTOR用于描述构造器FIELD用于描述域(作用在属性上)LOCAL_VARIABLE用于描述局部变量PACKAGE用于记录java文
2021-03-18 11:59:14
290
2
原创 图片上传至磁盘,前端访问图片的路径映射问题
首先自定义一个配置类,继承WebMvcConfigurer,重写方法addResourceHandlers(), /** * 资源映射路径 * addResourceHandler:访问映射路径 * addResourceLocations:资源绝对路径 */@Configurationpublic class MyAddrConfig implements WebMvcConfigurer { @Override public void addResourceHandlers
2021-03-18 11:43:09
470
原创 MySql创建带自增字段表的方法以及如何向该表中插入数据
mySql数据库:create table userinfo(user_id INT primary key NOT NULL AUTO_INCREMENT,name char(10),psw char(10))插入数据:这个userinfo表里面的一个字段user_id是个自增长字段,但要保持有3个赋值,则应该填null占位insert into userinfo values(null,"zs","123");...
2021-03-11 16:10:20
1170
原创 sudo有关命令
sudo apt-get install package 安装软件包sudo apt-get install package - - reinstall 重新安装软件包sudo apt-get -f install 修复安装软件包"-f = ——fix-missing"sudo apt-get remove package 删除软件包sudo apt-get remove package - - purge 删除软件包,包括删除配置文件等sudo apt-get update 更新源及/etc/a
2021-01-26 15:30:14
174
原创 BeautifulSoup4库中的.string输出为None问题
今天在学习爬虫过程中,对一个标签<td>中的字符串进行提取,用到td.string,但总是输出None,经过一番断点调试后,确定不是上下文程序的问题,开始对标签内容产生怀疑。标签是这样的<td data-v-2a8fd7e4> 2 <!----></td>,感觉是因为里面添了一个<!---->造成的,手动去掉之后,果然输出了2.在网上查找资料后,明白了为什么:首先先看一下这段代码html = '<td> hello</td
2021-01-22 11:48:54
1378
原创 虚拟机Ubuntu下安装TensorFlow及注意事项
一,安装anaconda3和TensorFlow我是参照这位博主写的,挺详细的https://www.cnblogs.com/lightice/p/13245831.html二,注意事项1,安装完后,如果输入命令conda --version出现conda commond not found则是因为没有添加PATH路径:在anaconda3安装最后一步时,有个conda init选项,如下Do you wish the installer to initialize Anaconda3in
2021-01-15 12:39:21
436
原创 重装系统后,将之前的MySQL加入服务中
一,配置环境变量在用户环境变量中的Path条目中添加路径“D:\mysql-8.0.21-winx64\bin”,(你的MySQL/bin路径),一般不用在系统环境变量中添加。添加完后,在cmd中输入mysql -V 出现版本号即可。二,装载系统服务在cmd(管理员方式打开)中,输入mysqld install MySQL --defaults-file="D:\Program Files\MySQL\mysql-5.6.13-win32\my.ini这个是把MYSQL服务添加到系统服务中。注
2021-01-14 12:36:23
214
原创 为什么rand()函数产生的是相同的随机数
问题引入 今天验收OS课设,模拟程序的不可再现性。通过Sleep(rand())来控制线程的不同执行速度,从而达到在没有进行同步控制的情况下,线程的输出结果具有不可再现性。(所谓不可再现性:就是同一个程序,在不同或相同的运行环境下多次执行,结果是不一样的。) 但事与愿违,多次执行后,显示结果竟然一样!!!探究原因
2020-08-25 10:49:59
3098
原创 斐波那契数列递归算法的空间和时间复杂度
递归代码实现:int Fib(n){ if (n==1 || n==2) return 1; else return Fib(n-1) + Fib(n-2);} 时间复杂度为 O(2^n) -------------二叉树的深度为h = n-1,叶子节点最多为2^(h-1)个,即为调用次数空间复杂度 O(n)--------------即为二叉树的深度n-1...
2020-08-24 22:31:07
1804
1
原创 本地windows数据库信息迁移到服务器
本地windows数据库信息迁移到服务器先导出本地mysql数据库,生成.sql文件通过ssh工具上传到服务器(记着文件所在路径)在服务器终端输入以下命令,/www/server/sdb.sql是我的文件所在路径,回车输入密码即可。...
2020-08-20 16:47:43
248
原创 MySql中修改表的完整性约束和列名的修改
修改userName为主码alter table stu add constraint primary key(userName);若所要修改的属性已有约束条件,则可以先删除原来的,再增加新的alter table stu drop constraint age;alter table stu add constraint age check (age<20);...
2020-08-20 16:47:15
1491
转载 windows多线程之句柄的理解
本文转载自https://blog.csdn.net/qq_41569545/article/details/86636766讲的挺详细的,保存一下从广义上,能够从一个数值拎起一大堆数据的东西都可以叫做句柄。句柄的英文是"Handle",本义就是"柄",只是在计算机科学中,被特别地翻译成"句柄",其实还是个"柄"。从一个小东西拎起一大堆东西,这难道不像是个"柄"吗?然后,指针其实也是一种"句柄",只是由于指针同时拥有更特殊的含义——实实在在地对应内存里地一个地址——所以,通常不把指针说成是"句柄"。但指
2020-08-18 11:18:23
626
原创 利用递归算法和非递归算法求斐波那契数列并分析其时间复杂度
1.递归求解:int fib(int n){ if(n == 1 || n ==0){ return 1; }else{ return fib(n-1)+fib(n-2); }}时间复杂度解法:所以我们可以利用特征方程求解来得出此时间复杂度fib(n) = fib(n-1) + fib(n-2)特征方程为:1 = x + x*x解为:p = (1+√5)/2,q ...
2020-04-04 18:40:02
2089
原创 算法的概述
算法的定义算法就是有穷规则的集合,其中的规则规定了解决某特定问题的运算序列。算法的特征有穷性:一个算法在执行有限步后必须结束确定性:算法的每一步骤必须确切定义,执行者可根据该算法的每一步要求进行操作,并最终得出正确的结果(即无歧义)可行性:算法中所有的运算都可以精确的实现输入:算法有0个或多个输入,即在算法开始之前,对算法给定的初始量输出:算法有一个或多个输出,即与输入有某个特定关系...
2020-03-30 11:21:39
419
原创 重学数据结构之顺序表和链表的比较
1. 优点1.1 顺序表的主要优点:没有使用指针,不用花费额外开销;线性表元素的读访问非常简洁便利1.2 链表的主要优点:无需事先了解线性表的长度允许线性表的长度动态变化能够适应经常删除内部元素的情况顺序表是存储静态数据的不二之选链表是存储动态变化的良方2. 存储密度n表示线性表当前元素的个数p表示指针的存储单元大小(通常为4bytes)E表示数据元素的存储单元大小D表...
2020-03-29 17:03:45
276
原创 C++模板类及模板函数的问题
编译报错原因传统编写C++类时,都会将类的声明放在.h文件中,类的实现放在.cpp中,但在模板类及对应的模板函数编写时,如果还这样做,那么主函数编译时就会报错。这是因为,模板函数只有在被实例化后才能成为真正的函数。如果main()函数中只包含.h文件,那么模板类对应的函数没有定义,编译的时候定然不会通过。例如 一般情况下的类实现://-------------test.h---------...
2020-03-29 11:17:36
401
原创 重学数据结构之*和&的用法以及int *p=new int;int *p=new int[2];int *p=new int(2);的区别
单独的*表示取值操作;类型+*表示声明一个该类型的指针(即存放地址的变量),&表示取地址操作比如定义了一个数组int a[3];*a=1;则a[0]=1;所以*(a+i)=a[i];void test(int *a){ int *r = a; *r=2; cout<<*a;}int k=0;test(&k);输出为2;等同于:voi...
2020-03-28 14:32:43
636
原创 外界无法访问Linux服务器上的项目的解决方法及防火墙设置
外界无法访问服务器上的项目,一是因为服务器防火墙没有设置好,例如你的项目要用到数据库,而数据库对应的端口就需要被开启,否则就无法访问数据库,进而访问项目异常;二是因为你的云服务器控制台有个安全组规则,你没有开放对应的入网端口规则。下面开启你所需的所有端口号,相信你的项目就能正常访问了。在终端内查看一下防火墙是否开启:firewall-cmd --state running 表示已开启防火墙...
2020-03-23 13:00:46
1261
原创 新安装的MySql8修改初始密码的问题或忘记密码的处理方法
我是在Linux环境下的Mysql8版本修改密码成功,其他版本和系统自测:1.修改配置,跳过密码登录一般配置文件是位于 /etc/my.cnf 里的,Linux环境下使用命令vim /etc/my.cnf打开并编译文件,在[mysqld]条目 下添加skip-grant-tables然后重启MySQL后,可以直接免密登录。2.登录后,使用以下操作:use mysql;update ...
2020-03-23 11:51:22
202
1
原创 解决Navicat无法连接远程服务器上的MySql问题
服务器上新装的MySql软件,初始默认root用户只能使用localhost地址访问数据库,也就是说无法远程访问。在自己本地电脑上用Navicat肯定就连接不上。我就出现了这个问题,网上找了好多方法,但是千篇一律,个人感觉都是雷同,关键是根本解决不了问题。可能是软件版本不同吧。我的是MySql 8 版本的。下面介绍一下我的方法,本人已完美解决远程访问数据库问题:首先终端登录成功后:可以查看一...
2020-03-22 21:13:28
1538
1
转载 Linux命令集合
Linux常用命令大全(非常全!!!)最近都在和Linux打交道,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大。我将我了解到的命令列举一下,仅供大家参考:系统信息arch 显示机器的处理器架构uname -m 显示机器的处理器架构uname -r 显示正在使用的内核版本dmidecod...
2020-03-20 17:34:43
87
原创 几张好看的HTML图片和利用Python画的好看的图
今天发现了几个HTML画图和利用python turtle自动画图得几个例子,感觉挺好看的,整理如下:HTML玫瑰花:代码:<canvas id="c"></canvas><script>var b = document.body; var c = document.getElementsByTagName('canvas')[0]; va...
2020-03-18 17:17:04
568
原创 解决ssm中web.xml配置spring的监听器listener后项目无法访问的问题
发现问题在做一个简单的项目整合ssm时,配置web.xml里的spring监听器listener<listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>时,出现一个问题:无法访问项目...
2020-03-16 18:05:45
6928
17
原创 Spring监听器ContextLoaderListener的作用
<!-- Spring的配置文件 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml</param-value> </c...
2020-03-16 17:03:32
482
转载 Optional int parameter 'xx' is present but cannot be translated into a null value
今天在controller中获取post参数时,报了如下错误{ "timestamp": "2018-09-07T07:25:51.524+0000", "status": 500, "error": "Internal Server Error", "message": "Optional int parameter 'id' is present but can...
2020-03-16 16:38:29
1491
转载 servlet+jsp实现过滤器,防止用户未登录访问
我们可能经常会用到这一功能,比如有时,我们不希望用户没有进行登录访问后台的操作页面,而且这样的非法访问会让系统极为的不安全,所以我们常常需要进行登录才授权访问其它页面,否则只会出现登录页面,当然我的思路:一种是在jsp页面进行session的判断,如果不存在该用户的session,就跳转到登录页面,否则执行jsp页面代码,但是你会发现这样做逻辑也简单,但是非常麻烦,如果有很多个jsp,那么就要写...
2020-03-15 21:37:48
881
原创 springmvc拦截jsp页面的实现
springmvc为什么不能拦截jsp页面?转自:http://www.cnblogs.com/Anders888/p/6073190.htmlspringmvc 拦截器,不拦截jsp文件spring mvc的拦截器只拦截controller不拦截jsp文件,如果不拦截jsp文件也会给系统带安全性问题。解决方案有两种:1、将所有的jsp文件放入到WEB-INF文件夹下,这样用户是直接不能...
2020-03-15 21:30:21
831
原创 初学SpringMVC之静态资源被拦截问题
初学SpringMVC难免会遇到很多问题,令人费解,就比如静态资源被拦截导致报错:显示jQuery资源不存在的404错误。网上查找一番后,知道了原因以及处理方法整理如下:静态资源为什么会被拦截在一个使用springmvc的web项目中,必然在web.xml中要配置前端控制器DispatcherServlet当我们将web应用部署到tomcat服务器上,服务器是先加载全局的web.xml,即...
2020-03-14 10:32:05
1472
原创 前端利用ajax传多个值给后端
在不跳转页面情况下,可用以下方式(非JSON形式,如需JSON形式请点击这里)实现与后端交互:包括传递单个数据和多个数据:前端代码实现:<script type="text/javascript"> function sub(){ var sno = $("#sno").val(); var sname = $("#sname").val(); var sage =...
2020-03-13 21:25:10
1948
原创 ajax实现前端页面不跳转利用JSON与后端通信
前提:选择用JSON格式传输数据时,在web项目中需要引入6个jar包:commons-beanutils-1.7.0.jarcommons-collections-3.2.1.jarcommons-lang-2.6.jarcommons-logging-1.1.3.jarezmorph-1.0.6.jarjson-lib-2.4-jdk15.jar前端js:function a...
2020-03-10 20:04:17
537
原创 字符串判空惹的祸
在一个项目中,需要用到replaceAll()方法把字符串中的‘\t’ 和 空格给删掉,然后判断替换后的字符串是否为空,在进行之后的操作。然而,在判断时,出现了一个问题:断点查看字符串确实为空,但就是不进入if里面,单独测试代码如下:public static void main(String[] args) { String strLine = "\t\t"; String strLi...
2020-03-09 08:06:35
130
原创 SSM框架之MyBatis缓存机制
一级缓存的原理同一个SqlSession对象多次执行完全相同的SQL语句时,在第一次执行完后,MyBatis会自动将查询结果写入到一级缓存,这样,当下次执行相同的查询语句时,就不用再次提交SQL语句到数据库,直接从缓存中拿到数据。当执行插入,更新,删除操作后,缓存会清空,以防止误读。一级缓存不需要手动设置。例如通过学号sid查询学生信息:二级缓存的原理当开启二级缓存后,MyBatis...
2020-03-05 19:36:31
237
原创 SSM框架之MyBatis入门
1. MyBatis简介 一款优秀的ORM框架,支持自定义SQL,存储过程以及高级映射。避免了几乎所有的JDBC代码和手动设置参数以及获取结果集,它使用XML文件或注解进行配置和映射,将接口和java代码的POJO映射成数据库中的记录。 &nb...
2020-03-02 17:05:01
133
原创 分页SQL
1.分页要实现分页,必须知道某一页的数据从哪里开始到哪里结束。<以下假设页面大小为10>SQL Server / Oracle 从 1 开始计数第n页 开始 结束1...
2020-02-20 20:45:54
220
原创 设置tomcat默认打开的项目
1.在你的tomcat安装目录下找到conf \server.xml打开找到host标签,2.在里面添加下面一句话 其中docBase为项目绝对路径,path为相对路径(相对于默认的webapps的路径)<Context docBase="D:\apache-tomcat-8.5.50\webapps\项目名" path="" reloadable="true" "/>此时使p...
2020-02-20 10:12:17
799
MyJsp1.zip
2020-02-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人