知识的宝库
知识的宝库
家里有只mini猫
这个作者很懒,什么都没留下…
展开
-
Fiddler抓包工具的使用
一、初识Fiddler1. 什么是Fiddler?Fiddler是一个蛮好用的抓包工具,可以将网络传输发送与接受的数据包进行截获、重发、编辑、转存等操作。也可以用来检测网络安全。2. 下载地址Fiddler 离线下载地址:https://pan.baidu.com/s/1bpnp3Ef 密码:5skw二、Fiddler的安装和使用1. 安装正常安装便可。安装完成界面如下:2. 使用当打开Fiddler后,使用电脑进行的任意请求都会被Fiddler拦截;我们便可以查看这些拦截到的请求。原创 2020-10-28 23:43:47 · 308 阅读 · 0 评论 -
常用数据库连接池
数据库连接池什么是数据库连接池? 数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个使用数据库连接池带来的好处减少代码冗余, 不用重复得去获取数据库连接.提高项目的性能, 重复的去获取连接, 销毁连接, 会占用资源.两种常用连接池介绍c3p0背景介绍c3p0的作者是一个<<星球大战>>迷, 而其中的一个机器人就叫做c3p0, 这就是c3p0连接池名称的由来.使用导入c3p0的jar原创 2020-06-14 22:07:25 · 219 阅读 · 0 评论 -
JDBC的使用
jdbc的使用什么是jdbc? Java数据库连接,(Java Database Connectivity,简称JDBC), 顾名思义, 是引用java程序操作数据库, java提供了连接使用数据库的接口规范, 具体的实现类有各个数据库厂商实现.实现步骤添加数据库驱动执行下载要使用的数据库驱动, 添加到项目中即可.注册驱动代码实现Class.forName("com.mysql.jdbc.Driver")获取数据库连接对象使用DriverManager类原创 2020-06-13 22:36:18 · 101 阅读 · 0 评论 -
java策略设计模式
java策略设计模式概述 java策略设计模式, 其思想是在不修改核心执行代码的情况下, 动态的更改其执行代码的结果, 完成不同的功能。特点封装变化的概念编程中使用接口, 而不是具体的实现类。组成执行角色执行角色用于执行策略角色抽象策略角色抽象的策略角色一般是一个接口具体策略角色抽象接口的实现类调用角色创建具体策略角色,传递给执行者, 执行策略代码实现抽象策略角色这是一个表示技能的接口, 里面定义了唱歌的方法/** * 技能接口 */p原创 2020-06-14 22:35:16 · 134 阅读 · 0 评论 -
关于虚拟机的克隆后配置静态IP的问题
虚拟网络编辑器设置的问题配置子网和子网掩码时进入虚拟机, 修改网络配置文件文件所在位置vim /etc/sysconfig/network-scripts/ifcfg-ens33连接虚拟机客户端工具zz原创 2020-06-24 15:18:48 · 282 阅读 · 0 评论 -
javaScript中for...in与for...of的区别
for…in for…in适合用来遍历对象,获取想要遍历获取数组的索引。遍历对象js代码//定义一个对象let student = { id: "001", name: "张三", age: 24, address: "张飞庙"}//遍历对象并输出,key获取到的是对象的属性名,而通过属性名,获取属性值for(let key in student) { console.log(key + "...." + student[key]); }原创 2020-07-01 22:33:46 · 109 阅读 · 0 评论 -
javaScript之内置对象与BOM(游览器对象模型)
面向对象 在java中我们学习过面向对象,核心思想是万物皆对象。在 JavaScript 中同样也有面向对象。类的定义和使用定义格式class 类名{ //构造方法 constructor(变量1,变量2...){ 变量赋值 } //定义方法 方法名(参数列表) { 方法体; return 返回值; }}注意:javaScript中在创建类的时候不需要提前指定属性。使用格式/原创 2020-06-24 15:11:44 · 174 阅读 · 0 评论 -
javaScript入门
什么是javaScript? JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的高级编程语言。组成部分ECMAScript,描述了该语言的语法和基本对象。文档对象模型(DOM),描述处理网页内容的方法和接口。浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口。基本特点是一种解释性脚本语言(代码不进行预编译)。主要用来向HTML页面添加交互行为。可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。跨平台特性,在绝大多数原创 2020-06-20 20:18:07 · 193 阅读 · 0 评论 -
纯js实现随机点名案例
纯js实现随机点名案例页面参考未加载Excel名单表加载Excel表开始启动停止流程图[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-puBWlKdO-1592987562514)(assets/1592987021151.png)]代码编写导入js库[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1cL9OqQO-1592987562516)(assets/1592987086335.png)]原创 2020-06-24 16:37:00 · 1110 阅读 · 1 评论 -
Redis持久化配置与操作
我们都知道redis非关系型数据库的数据都是保存在内存中的,虽然运行舒服很快,但是容易出现问题,就是但我们电脑关机的时候,内存中的数据会清空;虽然我们服务器不容易关机,但是当发生断电等灾难情况的时候,就会出现数据丢失,所以,我们为了数据的安全,会将数据进行持久化,从内存中保存到硬盘。什么是持久化? 利用永久性储存介质,将数据进行保存,在特定的时间,将保存的数据进行恢复的工作机制称为持久化。 持久化用于防止数据的意外丢失,确保数据安全性。持久化的两种方式RDB(数据持久化)将当前数据状态进原创 2020-07-03 23:25:34 · 145 阅读 · 0 评论 -
Redis的快速上手与基本使用
NOSQL?概念NoSQL:Not Only SQL 不仅仅是 SQL,通常指的是非关系型的数据库(没有表与表之间的关联关系),向mysql、oracle都属于关系型数据库。有点格式灵活:存储数据格式是key=value格式,value的格式可以是文档形式、图片形式等等。速度快:非关系型数据库能够使用硬盘或者内存作为载体,而关系型数据库只能使用硬盘作为载体。成本低:非关系型数据库部署简单,基本都是开源免费的。缺点不提供sql支持,学习和使用成本较高。数据结构相对复杂,导致原创 2020-07-03 23:22:08 · 182 阅读 · 0 评论 -
mybatis之SQL语句构建器的使用
sql语句构建器是什么?为什么要使用sql语句构建器? sql语句构建器是mybatis提供的一种构建sql语句的方式,因为在编写比较复杂的slq语句时,如果使用字符拼接的方式很容易一不留神就编写错误,比如差个逗号,查个引号之类的错误屡见不鲜,而sql语句构建器的存在就是为了我们在编写sql语句的时候,进行分开编写,把错综复查的sql语句简化分来。sql构建器的核心使用sql构建器的核心就是使用mybatis提供的核心SQL类,使用该类下面的方法,就能够完成sql的构建。SQL类相关API关系原创 2020-06-20 19:25:29 · 1923 阅读 · 0 评论 -
Vue的生命周期与钩子函数
Vue的生命周期对于使用Vue实现页面的交互,我们必须要知道Vue从创建到销毁的整个生命周期,了解了Vue的生命周期,才知道我们编写的代码应该放在什么时候执行。值得注意的是所有的生命周期钩子函数自动绑定this(也就是当前Vue对象)上,因此你可以在钩子函数中直接访问数据,属性和方法进行运算。官方Vue生命周期图:对应Vue对象状态Vue生命周期:核心八个阶段Vue生命周期(对应的也是方法)解释beforeCreatevue对象创建前createdvue对象创建原创 2020-07-01 17:47:55 · 121 阅读 · 0 评论 -
使用Vue与服务器进行交互
Vue的异步操作在 Vue 中发送异步请求,本质上还是 AJAX。我们可以使用 axios 这个插件来简化操作。使用步骤引入axios与vue核心js文件。调用axios对象的方法来发起异步请求。调用axios对象的方法来处理服务器响应数据。axios常用方法方法名作用get(请求的资源路径与请求的参数)发起GET方式请求post(请求的资源路径,请求的参数)发起POST方式请求then(response)请求成功后的回调函数,通过回调参数原创 2020-07-01 17:46:22 · 981 阅读 · 0 评论 -
使用Vue自定义组件出现的错误
前言 在使用Vue的自定义组件的功能时,出现了一个错误 vue.js:634 [Vue warn]: Unknown custom element: <student> - did you register the component correctly? For recursive components, make sure to provide the "name" option. 代码如下html<body> <div id="div">原创 2020-07-01 17:08:36 · 1169 阅读 · 0 评论 -
Vue的使用
Vue介绍Vue 是一套构建用户界面的渐进式前端框架。渐进式框架:渐进式框架,就是用你想用或者能用的功能特性,你不想用的部分功能可以先不用。只关注视图层,并且非常容易学习,还可以很方便的与其它库或已有项目整合。通过尽可能简单的 API 来实现响应数据的绑定和组合的视图组件。特点:易用:在有 HTML CSS JavaScript 的基础上,快速上手。灵活:简单小巧的核心,渐进式技术栈,足以应付任何规模的应用。性能:20kb min+gzip 运行大小、超快虚拟 DOM、最省心的优化。原创 2020-06-29 19:27:40 · 133 阅读 · 0 评论 -
org.mybatis.spring.transaction.SpringManagedTransaction.getTimeout()Ljava/lang/Integer;
出现错误D:\software\Java\jdk1.8\bin\java.exe "-javaagent:D:\software\IntelliJ IDEA 2018.3.2\lib\idea_rt.jar=55270:D:\software\IntelliJ IDEA 2018.3.2\bin" -Dfile.encoding=UTF-8 -classpath D:\software\Java\jdk1.8\jre\lib\charsets.jar;D:\software\Java\jdk1.8\jre原创 2020-07-19 17:20:07 · 607 阅读 · 0 评论 -
关于web项目中表单提交乱码的问题
关于web项目中表单提交乱码的问题当使用servlet编写web项目的时候,出现表单提交中文数据乱码的问题。一定要在获取请求中的参数之前设置请求的编码,如果获取了参数,再来设置编码,那么编码不会生效。示例//错误,不能再设置编码之前获取数据,否则编码设置将无效//String name = request.getParameter("name");//设置请求和响应编码request.setCharacterEncoding("utf-8");response.setConte原创 2020-07-23 23:20:28 · 183 阅读 · 0 评论 -
Git之远程仓库的使用
使用远程仓库的意义我们不仅要将代码保存到本地仓库,还要保存到远程仓库,以防代码的意外丢失。配置SSH公钥和私钥公钥与私钥公钥是与私钥算法一起使用的密钥对的非秘密一半。公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。公钥和私钥是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),其中的一个向外界公开,称为公钥;另个自己保留,称为私钥。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公原创 2020-07-25 11:37:29 · 177 阅读 · 0 评论 -
Git之分支操作
分支简介几乎所有的版本控制系统都支持某种形式的分支。使用分支意味着可以把你的工作从开发主线上分离开来,以免影响开发主线。分支的创建和切换使用命令创建分支:git branch 分支名切换分支:git checkout 分支名示例注意:不同分支之间的关系是平行的关系,不会互相影响;没有合并分支的前提下,在不同分支中提交到仓库的东西,独属于某分支。master代表主分支分支的合并合命令git merge 分支名表示将执行的分支与正在使用的分支合并,以当前使用的原创 2020-07-25 11:30:57 · 78 阅读 · 0 评论 -
Git的入门使用
什么是Git?Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git是 [Linus Torvalds](https://baike.baidu.com/item/Linus Torvalds/9336769) (linux创始人)为了帮助管理Linux内核而开发的一个开放源码的版本控制软件。Git的功能代码备份把编写的代码备份到云端,防止出现不可挽回的意外,从而丢失代码。版本控制在开发中,如果代码修改错误,但是解决错误又很麻烦,回退到上一个版本原创 2020-07-25 11:28:39 · 108 阅读 · 0 评论 -
SpingMVC之获取Session、Cookie及请求头信息
直接通过形参获取Servlet相关接口及对象springMVC提供访问原始Servlet接口API的功能,直接在方法形参上声明即可。@RequestMapping("/servletApi")public String servletApi(HttpServletRequest request,HttpServletResponse response, HttpSession session){ System.out.println(request); System.out.println(原创 2020-07-23 23:19:06 · 389 阅读 · 0 评论 -
SpringMVC之跨域访问
跨域请求跨站 HTTP 请求(Cross-site HTTP request)是指发起请求的资源所在域不同于该请求所指向资源所在的域的 HTTP 请求。简单来说,就是请求发起的域,与所请求的域不是同一个,这样便称为跨域访问。这里的跨域访问所指,域名的不同或端口号的不同。举例:当通过域名A下的操作,访问域名B下的资源时,称为跨域访问。模拟跨域环境搭建为当前主机添加备用域名修改windows安装目录下的host文件添加/修改域名:ip地址 域名如:127.0.0.1 91.co原创 2020-07-23 23:08:14 · 432 阅读 · 0 评论 -
SpringMVC实现文件上传
首先来看一下原始上传文件的流程以上就是使用原始的commons-fileUpload.jar组件,实现文件上传的流程图;我们要学习的SpringMVC的文件上传,就是进行了以上步骤的封装,使用起来更加简单。SpringMVC实现文件上传实现步骤需要导入所需的依赖pom.xml<dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload<原创 2020-07-23 23:03:45 · 99 阅读 · 0 评论 -
SpringMVC异常处理
描述在项目开发中,不管是对底层数据库操作过程,还是以业务层的处理过程,以及控制层的处理,都会不可避免的遇到各种预知或不可预知的异常需要进行处理;如果每个异常删除处理,则会造成工作量增大,而且项目维护也不好维护。所以SpringMVC就提供了统一处理异常的机制。SpringMVC处理异常的方式使用Spring MVC提供的简单异常处理器SimpleMappingExceptionResolver;自定义异常类,实现Spring的异常接口HandlerExceptionResolver,自己自定义异原创 2020-07-23 23:01:39 · 86 阅读 · 0 评论 -
SpringMVC响应数据
无数据跳转页面(适用于jsp)说明当处理方法的返回值类型为String时,即可以通过具体的返回值设置要访问的页面处理方法@RequestMapping("/demo01")public String demo01() { //指定要跳转的页面 return "/demo.jsp";}跳转方式转发(默认)在设置跳转页面的时候,使用关键字forward@RequestMapping("/showPage1")public String showPage1() {原创 2020-07-23 22:57:18 · 89 阅读 · 0 评论 -
SpringMVC获取请求参数
所使用的的注解说明@RequestMapping:此注解是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。@responseBody:此注解的作用是将controller的方法返回的对象,通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据。注意:在使用此注解之后不会再走视图处理器,而是直接将数据写入到输入流中,他的效果等同于通过response对象输出指原创 2020-07-23 22:53:30 · 212 阅读 · 0 评论 -
SpringMVC拦截器
请求处理流程拦截器简介拦截器(Interceptor)是一种动态拦截方法调用的机制作用在指定的方法调用前后执行预先设定的代码阻止原始方法的执行核心原理:AOP思想拦截器链多个拦截器按照一定的顺序,对原始方法的功能进行增强。拦截器VS过滤器归属不同Filter属于Servlet的技术,Interceptor属于SpringMVC的技术。拦截内容不同Filter对所有访问进行拦截,Interceptor只针对SpringMVC的访问请求进行拦截。拦截器的作用原创 2020-07-23 22:48:49 · 120 阅读 · 0 评论 -
SpringMVC配置视图解析器
视图解析器的作用就是当 DispatcherServlet将ModelAndView传递给视图解析器的时候,视图解析器会将ModelAndView数据填充到相应的视图中,然后返回一个带有数据的视图给DispatcherServlet并做展示。配置视图解析器spring-mvc.xml<!--配置视图解析器--><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> &原创 2020-07-23 22:46:35 · 538 阅读 · 0 评论 -
SpringMVC配置静态资源放行
配置原因及作用因为我们配置的DospatcherServlet核心控制器,拦截的是所有的请求;但是对于静态资源,如一些图片,css,js等文件我们不需要拦截,从而要进行放行。配置静态资源放行方法方法一在Spring配置文件中进行单独配置<!-- 指定静态资源放行 mapping:静态资源的请求路径 location:静态资源在项目中的真实路径 /代表根目录,也就是webapp目录 --><mvc:resources mapp原创 2020-07-23 22:45:23 · 840 阅读 · 0 评论 -
SpringMVC配置过滤器,处理POST请求中文乱码问题
在web.xml文件中,使用Spring提供的类CharacterEncodingFilter,配置过滤器,就能解决post请求中文乱码的问题。<!--配置过滤器--><filter> <filter-name>CharacterEncodingFilter</filter-name> <!--过滤器的全限定类名--> <filter-class>org.springframework.web.filter.Character原创 2020-07-23 22:43:17 · 693 阅读 · 0 评论 -
SpringMVC的初始配置(XML)与使用
SpringMVC简介Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。是一款面向web层的基于java实现MVC模型的轻量级web框架。SpringMVC的优点使用简单性能突出灵活性强很好的与Spring框架整合。三层架构M:数据模型层V:视图层C:控制层使用XML方法配置SpringMVC配置步骤使用Maven构建web项目配置we原创 2020-07-23 22:40:16 · 182 阅读 · 0 评论 -
web.xml中context-param,listener等作用及加载过程
<context-param>的作用:web.xml的配置中<context-param>配置作用(可在listener和servlet中使用,而ContextLoaderListener及contextConfigLocation则由spring mvc来实现,可读取application.xml等springbean配置)1. 启动一个WEB项目的时...转载 2020-07-25 16:24:38 · 328 阅读 · 0 评论 -
Zookeeper实现分布式锁
分布式锁在我们进行单机应用开发,涉及并发同步的时候,我们往往采用synchronized或者Lock的方式来解决多线程间的代码同步问题,这时多线程的运行都是在同一个JVM之下,没有任何问题。但当我们的应用是分布式集群工作的情况下,属于多JVM下的工作环境,跨JVM之间已经无法通过多线程的锁解决同步问题。那么就需要一种更加高级的锁机制,来处理种跨机器的进程之间的数据同步问题——这就是分布式锁。ZooKeeper分布式锁的原理至于为什么是临时顺序节点是因为,临时节点在客户端与服务端断开连接后,自原创 2020-07-30 19:46:05 · 107 阅读 · 0 评论 -
Curator实现Watch事件监听
Watch事件监听ZooKeeper 允许用户在指定节点上注册一些Watcher,并且在一些特定事件触发的时候,ZooKeeper 服务端会将事件通知到感兴趣的客户端上去,该机制是 ZooKeeper 实现分布式协调服务的重要特性。ZooKeeper 中引入了Watcher机制来实现了发布/订阅功能能,能够让多个订阅者同时监听某一个对象,当一个对象自身状态变化时,会通知所有订阅者。Curator API中引入了 Cache 来实现对 ZooKeeper 服务端事件的监听。Zookeeper提供了三原创 2020-07-30 19:45:13 · 1238 阅读 · 0 评论 -
通过Curator操作ZooKeeper
CuratorCurator是Netflix公司开源的一套zookeeper客户端框架,解决了很多Zookeeper客户端非常底层的细节开发工作,包括连接重连、反复注册Watcher和NodeExistsException异常等等。Curator 最初是 Netfix 研发的,后来捐献了 Apache 基金会,目前是 Apache 的顶级项目。Curator建立与客户端的连接与关闭连接方式一/** * 创建连接 */@Beforepublic void connectionTest()原创 2020-07-30 19:44:20 · 168 阅读 · 0 评论 -
ZooKeeper的下载安装
1、环境准备ZooKeeper服务器是用Java创建的,它运行在JVM之上。需要安装JDK 7或更高版本。2、上传将下载的ZooKeeper放到/opt/ZooKeeper目录下#上传zookeeper alt+pput f:/setup/apache-zookeeper-3.5.6-bin.tar.gz#打开 opt目录cd /opt#创建zooKeeper目录mkdir zooKeeper#将zookeeper安装包移动到 /opt/zooKeepermv apache-zook原创 2020-07-30 19:43:08 · 125 阅读 · 0 评论 -
Zoonkeeper入门使用
Zoookeeper的定义ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,简称zk,是一个中间件。分布式?分布式系统一定是由多个节点组成的系统。其中,节点指的是计算机服务器,而且这些节点一般不是孤立的,而是互通的。这些连通的节点上部署了我们的节点,并且相互的操作会有协同分布式系统对于用户而言,他们面对的就是一个服务器,提供用户需要的服务而已,而实际上这些服务是通过背后的众多服务器组成的一个分布式系统,因此分布式系统看起来像是一个超级计算机一样。zookeeper原创 2020-07-30 19:39:37 · 953 阅读 · 0 评论 -
互联网项目的特点
用户的使用需求用户对于一个互联网项目的使用需求主要分为美观、功能、速度、稳定性。互联网项目的特点用户多流量大,并发高海量数据易受攻击功能繁琐变更快衡量网站的性能指标响应时间:指执行一个请求从开始到最后收到响应数据所花费的总体时间。指系统同时能处理的请求数量。并发连接数:指的是客户端向服务器发起请求,并建立了TCP连接。每秒钟服务器连接的总TCP数量。请求数:也称为QPS(Query Per Second) 指每秒多少请求并发用户数:单位时间内有多少用户吞吐量原创 2020-07-30 19:50:39 · 748 阅读 · 0 评论 -
Dubbo的高级特性
序列化序列化是什么?Dubbo是 Alibaba 开源的分布式服务框架远程调用框架,在网络间传输数据,就需要通信协议和序列化。默认使用的传输协议是dubbo:// ,该传输协议需要服务(方法)的参数及返回值需实现 Serializable 接口。目的在网络传输间传输数据。使用配置协议:<dubbo:protocol name="dubbo" port="20880" />多端口:<dubbo:protocol id="dubbo1" name="dub原创 2020-07-30 19:52:52 · 339 阅读 · 1 评论