自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 收藏
  • 关注

原创 linux shell编程(一)

1. 脚本执行方式# 如果直接使用文件路径,如果没有x权限会提示权限不够 ./test.sh# 使用bash或者sh解释器不需要获取执行权限bash test.shsh test.sh上面几种方式都是通过开启子进程的方式来启动的bash:# 通过pstree命令可以查看到进程树# 都是在bash终端下开启了一个子进程(bash or ./test.sh)sshd——sshd——bash——test.sh——sleep # ./test.shsshd——sshd——bash——test.

2021-02-13 02:05:13 118

原创 Redis基础(命令 + 数据结构)

1.String类型redis的字符串是动态字符串,内部结构类似ArrayList,采用预分配冗余空间来减少内存的频繁分配。其内部的array的实际分配空间capacity一般要高于实际字符串的长度len其常用命令如下:1.set name value2.get name3.mset name1 value1 name2 value2 ...4.get name1 name2...

2020-01-18 01:09:34 139

原创 1.深入理解springMVC(对MVC模式的支持)

1.SpringMVC对控制器Controller的支持SpringMVC控制器的核心是DispatcherServlet。DispatcherServlet的作用:Model处理逻辑的查找(HandlerMapping)Model处理逻辑的执行(Handler)View的渲染1.1 处理器controller的查找1.1.1 直接URL映射Handler该映射方式通过向s...

2019-12-29 20:18:38 249

原创 Spring Security之CSRF攻击

1.CSRF攻击简介SRF跨站点请求伪造(Cross—Site Request Forgery),跟XSS攻击一样,存在巨大的危害性,其攻击原理如下: 1. 用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A; 2. 在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站A成功,可以正常发送请求到网站A; 3. 用户未退出网站A之前...

2019-12-05 21:48:45 585

原创 Spring Security之跨域和CORS

1.跨域跨域,实质上是浏览器的一种保护处理。如果产生了跨域,服务器在返回结果时就会被浏览器拦截(注意:此时请求是可以正常发起的,只是浏览器对其进行了拦截),导致响应的内容不可用1.1 产生跨域的几种情况也就是请求的URL和页面所在的URL的首部不同时就会产生跨域1.2 解决跨域之JSONP实现原理:浏览器允许一些带src属性的标签跨域,也就是在某些标签的src属性上写url地址是不会...

2019-12-05 00:38:27 492

原创 spring security之密码管理

1.spring security的加密机制spring security内置了密码加密机制,只需要一个PasswordEncoder接口public interface PasswordEncoder { // 用数据库存储用户密码时,加密过程使用encode方法 String encode(CharSequence var1); // 用于判断用户登录时输入的密码是否正确 ...

2019-12-04 23:29:54 383

原创 spring security之会话管理

1.会话固定攻击会话固定攻击(session fixation attack)是利用应用系统在服务器的会话ID固定不变机制,借助他人用相同的会话ID获取认证和授权,然后利用该会话ID劫持他人的会话以成功冒充他人,造成会话固定攻击。整个攻击流程是:1、攻击者Attacker能正常访问该应用网站;2、应用网站服务器返回一个会话ID给他;3、攻击者Attacker用该会话ID构造...

2019-12-03 00:43:48 841

原创 SpringSecurity之注销登录

1. 默认logoutspring security在我们配置HttpSecurity的时候就已经默认注册了一个logoutHandler,其路由为/logout,用户可以访问该路由来安全地注销其登录状态,比如session失效、清空remember-me的cookie、清除SecurityContextHandler等等。2.自定义logout http..... .logout()...

2019-12-02 00:23:02 819 1

原创 SpringSecurity之自动登录

1 散列加密方案在spring security中加入自动登录功能: @Autowired private MyUserDetailsService userDetailsService; protected void configure(HttpSecurity http){ http...... .formLogin() .and() .rememberMe()...

2019-11-29 01:01:11 470

原创 SpringSecurity之添加过滤器

案例:实现验证码校验1.使用过滤器实现验证码校验1.1 创建过滤器/***spring security对过滤器没有特别要求,一般继承filter即可。*但是在spring中一般推荐使用OncePerRequestFilter(确保一次请求只会通过一次该过滤器)*/public class VerificationCodeFilter extends OncePerRequestFi...

2019-11-28 00:19:50 4683 3

原创 SpringSecurity权限与认证

1. 默认数据库模型的认证与授权1.1 基于内存的多用户模型在进行测试之前,需要配置一些测试的controller,然后在SpringSecurity配置类中进行配置在springSecurity中,存在一个默认用户user,但是在开发中肯定是不行的,所以我们要配置多个用户,引入多个用户的方式有多种,首先介绍UserDetailsService的配置方法 @Bean publ...

2019-11-24 02:18:05 394

原创 SpringSecurity之表单验证

1.默认表单验证首先在config包中新建一个SpringSecurity的配置类 @EnableWebSecurity public webSecurityConfig extends WebSecurityConfigureAdapter{ }在该配置类中有三个常重写的方法: @Override // 配置springSecurity用户和权限 protect...

2019-11-23 23:27:08 253

原创 SpringSecurity的基本配置

http://www.tianshouzhi.com/api/tutorials/spring_security_4/265

2019-11-04 00:25:29 513

原创 css定位,两栏布局,两个经典bug,BFC

1.三种定位方式(1)绝对定位基本使用 position: absolute; top: 10px; left: 10px;要点:绝对定位是脱离文档流的,因此可能会遮挡其他页面上的元素(设置z-index属性来设置层叠级别)一般left/right和top/bottom两对,每一对只设置一个值以防冲突绝对定位的元素的包含块是距离它最近的定位祖先,如果没有定位祖先则相对于htm...

2019-10-25 01:32:58 170

原创 Vue组件之传递数据

1.父组件传递数据到子组件第一种:使用计算属性原理:首先,父组件定义在子组件标签上的值会存放到子组件实例的$attr属性上,然后就可以根据这个属性使用计算属性的方式来获取它其次,定义在子组件标签上的值同时也会放在template的根dom元素上,在本例中也就是div,这也是vue在定义组件的时候必须只有一个根元素的原因<html> <head></head...

2019-10-15 02:02:04 173

原创 Vue生命周期

浏览器懒加载浏览器启用了懒加载机制,在调试的时候,如果使用如下代码先后打印同一对象,并且打印的时候未展开对象: var person = { name: 'jack', age:123 } console.log(person) // 修改person的属性 person.name = '222' console.log(person)两次打印均是修改后的person:...

2019-10-12 00:27:18 111

原创 VUE基础扩展相关

1.VUE全局环境配置1.取消Vue的所有日志警告(默认为false)Vue.config.silent = true2.配置在开发环境中是否允许vue-devtools检查代码(生产环境默认为false,开发环境默认为true)Vue.config.devtools = true3.vue在启动时是否生成生产提示(默认为true)Vue.config.productionTip ...

2019-10-09 01:04:22 165

原创 锋利的JQuery(二)

JQuery事件绑定:bind方法bind(event_type,[.data],function)Bind方法有三个参数: 1.event_type:事件类型,包括:blur,focus、、、、、 2.[.data]:可选参数,作为event.data属性值传递给事件对象的额外数据对象 3.function:用来绑定的处理函数在使用bind方法为操作绑定事件时,原理和add...

2019-10-03 15:50:18 72

原创 锋利的JQuery笔记(一)

JQuery的初始化代码window.onload = function () {}$(document).ready(function () {})执行时机等待网页的所有内容加载完毕(包含图片)后才会执行网页中的dom创建后就执行编写个数可以编写多个,后面的会覆盖前面的可以编写多个,添加多个后会并行执行简化写法无$(function (){})...

2019-10-03 10:50:23 62

原创 JS原型 原型链

原型原型属性在JS中,无论是构造函数还是普通函数,都有prototype属性,并且每个通过构造函数new出来的对象也有一个隐式属性__proto__ function Person (name.age) { this.age = age this.name = name } var person = new Person('test', 12) // 构造函数的原型和对象的...

2019-10-01 20:04:40 70

原创 闭包的一些问题

1.题目:function test(){ var arr = [] for(var i = 0; i < 10; ++i) arr[i] = function (){ console.log(i) } retunr arr}var a = test()for(var j = 0; j < 10; ++j) a[j]()上面这个问题,输出的全部都是10...

2019-09-30 00:14:41 94

原创 JS作用域、作用域链和闭包

JS作用域每个JS函数都是一个对象,对象中有些属性我们可以访问,但是有些是不可以访问的,这些属性仅供JS引擎来存取,[[scope]]就是其中一员[[scope]]就是作用域,其中存储了运行期间的上下文集合JS作用域链[[scope]]中所存储的执行期间上下文对象的集合,这个集合呈链式连接查找变量的时候从每个JS函数的 作用域链的顶端依次查找...

2019-09-28 22:53:26 100

原创 JS 预编译

预编译暗示全局变量任何变量,如果变量未经声明就赋值,就为全局对象所有(winodw) a = 1 console.log(window.a) function test(){ var a = b = 1 /* var a = b = 1实质上可以分解成 b = 1----->为window所有 var a = b---->局部变量,...

2019-09-28 20:50:08 69

原创 vue for循环以及自定义指令

v-for1.v-for用来循环的数组怎么发生变化可以被vue检测到:push、pop、shift、unshift、splice、sort、reverse等方法可以被检测到vue对于这些方法的处理是重写了这些方法,并在最后会触发一次notify方法来通知这个array已经发生变化vue还增加了两个方法来观测array的变化:$set:如果直接设置array中的元素,不会触发视图的变化...

2019-09-16 00:56:42 966

原创 CSS样式 第一章 CSS和文档

元素1.置换和非置换元素置换元素:标签显示的内容不存在文档里面。 比如: input标签 img标签等非置换元素: 标签显示的内容存在文档里面 比如:span div等2.显示方式(块级和行内)首先,在文档层级关系上:  块级元素不能出现在行内元素里面: span内不可以含有div其次,在显示层面上: 块级元素和行内元素可以相互嵌套(行内元素可以显示为块级,块级元素可以显...

2019-09-11 00:05:43 83

原创 跨域

什么是跨域根源:来自浏览器的同源策略定义:当一个请求的URL的协议、域名和端口三者之间有任意一个与当前页面的URL不同的时候发生跨域现象:发生跨域后,以下三种请求方式无法继续:现象无法操作非同源网页的DOM结构无法操作非同源网页的DOM结构无法向非同源URL发送AJAX请求(注意:src、href 等是可以的)解决办法设置相同的document.dom...

2019-08-06 00:51:33 73

原创 VUE之状态管理VUEX

使用VUEX的必要性1.各种父组件、子组件之间传递变量随着组建的增多越来越麻烦2.父子组件传递数据的方式是单向的(比如在子组件中改变data必须要使用事件冒泡的方式)3.路由router:我们在使用router的时候,由于组件只维护自身的状态,组建被创建或者进入路由时它们被初始化,从而导致data销毁这个时候只使用router.param或者router.query来传递变量是远远不够的...

2019-08-04 01:01:40 69

原创 jsonField和jsonProperty注解的坑

遇到的问题:实体类中的字段一般都是首字母小写的,但是所要传输的json数据(接收的和发出去的)都要求字段的首字母大写public class Test{ private String Name;------>setter + getter}json:{ 'Name': 'test'}但是这样直接接收的话是接收不到Name的取值的所以需要使用jsonField注解和...

2019-08-02 01:05:03 6175

原创 vue异步调用和axios作用域问题

1.vue调用使用axios发送两个请求,如果有先后顺序,一定要将后面的请求写在前一个的then里面2.axios作用域问题

2019-07-27 19:39:56 390

原创 VUE之组件

一.父组件将内容传递给子组件:propParent.vue<child msg = 'parent'></child>Child.vue<div> {{msg}}</div><script>export default { name: 'Child', prop:['msg']}</script&...

2019-07-22 05:05:10 63

原创 VUE之路由

一.路由的三种模式(1)history依赖HTML5 History API和服务器配置(2)hash使用URL的hash值来作为路由,支持所有的浏览器(3)abstract支持所有的JS运行环境,如果没有发现浏览器的API,则使用这个模式注意:hash和history模式可以在vue对象中的model属性配置二.路由与导航vue-router提供了两个指令标签来处理导航和渲染...

2019-07-22 04:15:39 110

原创 基本知识

1.插值文本插值使用双大括号的形式:{{ test }}其中括号内的值会被解析成数据对象中的值,如果数据对象中的值发生变化,括号内的值也会联动发生变化如果只需要渲染一次数据,后续的数据变化不再关心,则:{{ *test }}上述方式如果test的值是html片段,则会原封不动的替换,而不是替换成html的形式如果要增加html解析的功能,则:{{{ test }}}例子:假设 ...

2019-07-21 02:43:49 336

原创 linux磁盘管理(二)

Linux 磁盘与目录的容量df:列出文件系统的整体磁盘使用量,不会读取整个目录,而是superblock例子:如果df加上了某个目录,会自动分析该目录属于哪个filesystem,然后将该filesystem详细信息显示出来/dev/shm:用内存虚拟出来的磁盘空间du:评估文件系统的磁盘使用量,这个会搜寻整个目录...

2019-04-21 21:45:58 135

原创 linux磁盘管理(一)

分区表—在第一个扇区中----一共64bytes,所以只能存储4条分区的记录-----这4个分区是主分区或者扩展分区linux:ide逻辑分区:59个 5-63号sata逻辑分区:11个 5-15号linux索引式文件系统:EXT2 EXT3superblock:记录filesystem的整体信息:inode、block的总量、使用量、剩余量,以及filesystem的相关信息in...

2019-04-21 20:59:42 85

原创 云存储(三)----存储虚拟化

一.存储虚拟化存储虚拟化是指将存储资源集中到一个大容量的资源池并实行单点统一管理,无需中断应用即可改变存储系统和数据迁移。虚拟化存储环境下,无论后端物理存储是什么设备,服务器及其应用系统看到的都是其物理设备的逻辑映像。所以即使物理存储发生变化,这种逻辑映像也不会改变,系统管理员不必再关心后端存储,只需要专注于管理存储空间即可全局访问空间是指将磁盘和内存资源聚集成一个单一的虚拟存储池进行管理...

2019-04-20 21:36:32 3629

原创 云存储(二)

一:物理存储空间管理:1.卷卷本身即是硬盘上的存储区域,一个硬盘包括多个卷,一个卷同时也可以跨越好多磁盘。在windows中,可以使用一种文件系统对卷进行格式化并分配驱动器号。磁盘的使用方式分为两类:基本磁盘和动态磁盘基本磁盘非常常见,对于windows系统(DOS)来说,其受26个英文字母的年制,也就是说,磁盘的盘符只能是英文字母中的一个。并且一般A和B用来表示软驱,所以一般从C开始,再...

2019-04-20 04:10:30 340

原创 1.云存储(一)

一:云存储发展1.磁带:顺序存储设备,定位读取数据和读写数据速度比较慢,通常读取一个信息块就需要几毫秒的时间2.磁盘:磁盘的速度是有限的,读写速度也是有限的,如果单靠单磁盘的容量是远远满足不了需求的。3.磁盘阵列:RAID—>Redundant Array of Independent Disks,独立冗余磁盘阵列,可以将多个磁盘组合成大型的磁盘组,它不仅通过对多个磁盘同时存储和读取数...

2019-04-20 01:47:37 441

原创 SQL查询的艺术-第七章:连接符、数值运算与函数 + 第八章:聚合分析与分组

一.数值运算:1.cast表达式使用cast表达式可以改变值的数值类型,但是不能改变原表中对应列的数据类型cast(value_expression as data_type)例子:select name. cast(age as char(11)) from person--->将age这个数值类型转换成char类型2.case表达式case表达式实际上是一个条件表达式,...

2019-04-07 20:45:21 107

原创 SQL查询的艺术-第五章:简单的查询 + 第六章:复杂的条件查询

一.Select语句:1.select语句基本结构:select [distinct] select_items from table_name [where search_condition] [group by group_rules] [having search_condition] ---->对group by产生的结构进行筛选 [order by oder_expre...

2019-04-07 16:39:15 237

原创 SQL查询的艺术-第三章:创建、修改、查询表

一.表的种类:1.永久表:永久保存在数据库中的表2.全局临时表:在SQL会话过程中存在,当会话关闭后,表也会被销毁(注:SQL会话是指用户与SQL服务器之间的连接)3.局部临时表:生命周期和全局临时表一样,所不同的是使用范围不同。局部临时表只有创建它的会话才可以访问,其他会话访问不了。二.SQL的数据类型:1.字符型数据:数据类型说明char(size)固定...

2019-04-06 15:39:10 147

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除