自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 1024程序员节之水博客篇

致各位行业大佬,业内小白,或是还在挑灯奋战的程序员们: 1024!!!节日快乐!!!!(HelloWord!) -------------------------------我的第一个程序员节...

2021-10-24 23:33:50 177

原创 JSR 303校验

JSR 303校验

2021-10-22 09:26:54 153

转载 第三方登录实现原理

简单说,OAuth 就是一种授权机制。数据的所有者告诉系统,同意授权第三方应用进入系统,获取这些数据。系统从而产生一个短期的进入令牌(token),用来代替密码,供第三方应用使用。首先,我们先看一下底层协议:OAUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此OAUTH是安全的。oAuth是Open Authorizatio

2021-10-20 18:28:15 471

原创 map和Hashmap的区别

1.相同点:(1)都是map的实现类,都是键值对集合;(2)里边的元素都是无序的,跟添加顺序无关;2.不同点:(1)HashMap允许有一个null键和多个null值;(2)HashMap不是线程安全的,HashTable是线程安全的...

2021-10-15 13:29:10 652

转载 AOP和IOC的区别

AOP和IOC的区别二者没有联系。ioc是控制反转,aop是面向事务。IOC就是一个生产和管理bean的容器就行了,原来需要在调用类中new的东西,现在都是通过容器生成,同时,要是产生的是单例的bean,他还可以给管理bean的生命周期。AOP技术它利用一种称为"横切"的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块,并将其命名为"Aspect",即切面。所谓"切面",简单说就是那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低

2021-10-15 13:27:55 677

原创 如何解决git代码冲突

1.解决冲突,删除代码中矛盾的代码,然后上传或者下拉git pull 或 git push 时出现MERGING,说明代码合并冲突打开冲突文件解决代码冲突时,尽量把所有不同的代码保留,共同的代码只留一份,解决代码冲突之后,重新 add 和 commit 最后push。2.找回git pull之前的本地代码输入git reflog 查看你本地提交记录,找到最新一次提交的版本号,然后git reset --hard HEAD@{版本号}回退到操作前的本地代码或者 git reset --hard i

2021-10-15 13:26:41 1566

原创 redis笔记(五)

五:zset sortset , 有序的set集合。 可以有序但是不重复。他是 set 的扩展版, 每个元素都关联了个 double 类型的分数,根据分数的大小,进行排序。排序规则是 从小到大。 分数可以并列即 分数可以重复。, 成员(value)必须唯一。底层是 哈希表实现的, 添加删除 很快增加: zadd key 分数 值 , pnames ,遍历: zrange key 0 -1 withscores 加上withscores 带分数, 不带 直接全部显示值查条数: zcard ke.

2021-09-24 08:32:05 72

原创 redis笔记(四)

四: set 数据类型, set 无序,不能重复, 做扑克牌,增: sadd key value查条数: scard key 获取 key 的成员数量查全: smembers key 返回集合中的所有value按索引查单????? 有没有。 sindex names 2 没有的,,,, 因为没有顺序指定删除:srem key value随机删除!用途很广, spop names作业:用java代码写,把咱们班33个人的名字 形成 一个集合,运行后随机点一个人的名字,就把这个人的名字.

2021-09-24 08:30:53 82

原创 redis笔记(四)

三: list -- 双端队列结构。先进后出,排序是按照 插入的顺序排序 , 有顺序,且可以重复比如: 沙和尚 猪八戒 孙悟空 唐僧 chaoyang 刘备 关羽 张飞 赵四左边增: lpush key xxx右边增: rpush key xxx遍历: lrange key 0 -1左边删除: lpop key右边删除: rpop key插入 linsert hero before "刘备" 前插入 "朝阳"查单 lindex hero 0举例:abcd.

2021-09-24 08:29:44 64

原创 redis笔记(三)

二: Hash 哈希 类型。 适合存储对象增: hset 例子: hset food name ‘apple’删: hdel food name批量增: hmset food name ‘apple’ color “red”批量查: hmget human name age查: hget food color查所有key: hkeys food查所有key 和 value : hgetall humanhash 字段的自增: hincrby human age 10ke.

2021-09-24 08:27:51 78

原创 redis笔记(二)

一. String k-v 单个key 最大能存 512 MB , 约等于 多个文字呢 ?增(改): set key value 例子: set adminName ‘zhangsan’查: get key 例子: get adminName查询所有的key: keys * 例子: keys *删key: del key 例子: del adminNameString 的 特有命令(重要)过期时间:setex 存的时候.

2021-09-24 08:26:31 65

原创 redis笔记(一)

redis通用命令1. dump 给定key中的值进行 序列化, 返回值是 序列化后的值 , 了解**2. exists key值是否存在 , 很常用! 返回值是 1 或者 0 , 1代表存在 0代表不存在3. expire 给key 做一个过期时间 , 写的值是 过期秒数 例子: set phoneCode 3343 , expire phoneCode 60 到期之后,key自动删除, 这个很常用!!!4. ttl 查询 还剩余多少时间 过期.

2021-09-24 08:25:21 94

转载 vue生命周期

首先,生命周期是个啥?借用官网的一句话就是:每一个vue实例从创建到销毁的过程,就是这个vue实例的生命周期。在这个过程中,他经历了从开始创建、初始化数据、编译模板、挂载Dom、渲染→更新→渲染、卸载等一系列过程。那么这些过程中,具体vue做了些啥,我们今天来了解一下。语述了解之前,我们先贴上一张官网的生命周期图,从图上,我们再一步一步来理解vue生命周期。我们先简单的来解说这张图,然后再通过例子来详看首先,从图上,我们可以看出,他的一个过程是new Vue()实例化一个vue实.

2021-09-22 08:20:12 65

转载 axios异步请求

1,引言Axios 是一种异步请求技术,在页面中发送异步请求,获取对应数据后在页面中渲染,基于Ajax的封装。1安装: <script src="https://unpkg.com/axios/dist/axios.min.js"></script>1.1 Get方式的请求<!--引入Axios--><script src="https://unpkg.com/axios/dist/axios.min.js"></script&g.

2021-09-21 02:49:37 667

转载 axios详解

文章目录axios是干啥的原生XMLHttpRequest实现axios介绍发送并发请求axios API创建一个实例Config配置选项默认设置全局默认设置实例中自定义默认值设置的优先级响应信息(response schema)拦截器interceptors错误处理取消请求axios是干啥的上古浏览器页面在向服务器请求数据时,因为返回的是整个页面的数据,页面都会强制刷新一下,这对于用户来讲并不是很友好。并且我们只是需要修改页面的部分数据,但是从服务器端发送的却是整个页面的

2021-09-18 13:43:20 301

原创 vue的双向绑定

<div id="app"> <%--vue需要一个根目录标签--%> <%--讲解一个概念 双向绑定 数据和页面的展示的数据效果 是一起的 保持一致的--%> <%--当vue中data的数据发生了改变 呢么展示的效果也发生改变--%> 姓名(以前这样写) <input type="text" value="妖刀"><br> <%--vue核心是 把数据 渲染到html中,分为标签和文本.

2021-09-17 13:55:01 92

原创 vue学习笔记(二)

学习下面的指令 v-text v-htmlv-text其实就是 插值表达式v-text的优点,可以.显示出 data数据中的所有数据v-text 不编译文本中的html信息v-html编译文本中的html信息 一般这个用的多插值表达式 不编译文本中的html信息// jq的思想。找到名称是id xx的 DOM,给他添加数据// 如果 我想改变 显示效果 改成 你好 超市 需要改变jq的代码// 呢么比较繁琐 因为 你好世界 没有存 统一的变量的地方// j.

2021-09-17 13:52:35 82

原创 vue学习笔记(一)

学习插值表达式{{}}vue常用在单个页面项目中,什么叫做单个页面项目,常用于手机移动端,指的是整个项目只有1个页面,通过锚点来跳转。没有a标签,这个锚点的跳转叫做路由。l单个页面项目的优缺点优点: 都是html代码运行流畅 可以有很多组件可以重复使用。缺点:不利于seo 百度的收录jQuery 和我们vue不同jquery:他是 dom驱动的,.所有看到页面都要一行一行的把代码.写出来。不是自动的。手动的vue因为是单页面的,所以必须只有1个.根标签。以上的 h1 和 di.

2021-09-17 13:46:00 111

转载 jQuery和Vue的区别

1.jQuery首先要获取到dom对象,然后对dom对象进行进行值的修改等操作2.Vue是首先把值和js对象进行绑定,然后修改js对象的值,Vue框架就会自动把dom的值就行更新。3.可以简单的理解为Vue帮我们做了dom操作,我们以后用Vue就需要修改对象的值和做好元素和对象的绑定,Vue这个框架就会自动帮我们做好dom的相关操作4.这种dom元素跟随JS对象值的变化而变化叫做单向数据绑定,如果JS对象的值也跟随着dom元素的值的变化而变化就叫做双向数据绑定用一个简单的例子来说明编写Jqu

2021-09-17 13:33:14 159

转载 Spring简介

Spring特性与注解1. Spring特性IOC和AOP不明白的,可以看下这里2. Spring注解理解不太明白,可以看下这里Spring注解 说的通俗易懂,很好理解。Spring简介Spring为JavaEE开发提供了一个轻量级的解决方案,主要表现为,IOC(或者叫做DI)的核心机制,提供了bean工厂(Spring容器),降低了业务对象替换的复杂性,提高了组件之间的解耦。AOP的将一些通用任务,如安全、事务、日志等集中进行管理,提高了复用性和管理的便捷性ORM和DAO提供了与第三方.

2021-09-15 13:49:48 71

转载 面向对象设计

封装、继承、多态。封装的目的是隐藏事务内部的实现细节,以便提高安全性和简化编程。封装提供了合理的边界,避免外部调用者接触到内部的细节。我们在日常开发中,因为无意间暴露了细节导致的难缠 bug 太多了,比如在多线程环境暴露内部状态,导致的并发修改问题。从另外一个角度看,封装这种隐藏,也提供了简化的界面,避免太多无意义的细节浪费调用者的精力。继承是代码复用的基础机制,类似于我们对于马、白马、黑马的归纳总结。但要注意,继承可以看作是非常紧耦合的一种关系,父类代码修改,子类行为也会变动。在实践中,过度滥用继

2021-09-14 13:57:54 59

转载 Java应用开发中的注入攻击

注入式(Inject)攻击是一类非常常见的攻击方式,其基本特征是程序允许攻击者将不可信的动态内容注入到程序中,并将其执行,这就可能完全改变最初预计的执行过程,产生恶意效果。下面是几种主要的注入式攻击途径,原则上提供动态执行能力的语言特性,都需要提防发生注入攻击的可能。首先,就是最常见的 SQL 注入攻击。一个典型的场景就是 Web 系统的用户登录功能,根据用户输入的用户名和密码,我们需要去后端数据库核实信息。假设应用逻辑是,后端程序利用界面输入动态生成类似下面的 SQL,然后让 JDBC 执行。

2021-09-13 13:17:39 388

转载 mybatis一对多查询

一对多操作,像是一个user类实例关联好几个account实例如图,一个jack对应两个account在User类中 加上一个account的集合package com.qst.domain;import java.util.List;public class User { private Integer id; private String username; private String gender; private String email...

2021-09-10 10:51:53 80

原创 为什么需要Mybatis

帮助程序员将数据存入到数据库中。方便传统的JDBC代码太复杂了。简化、框架、自动化。不用Mybatis也可以。更容易上手。技术没有高低之分优点: 简单易学 灵活 sql和代码的分离,提高了可维护性。 提供映射标签,支持对象与数据库的orm字段关系映射 提供对象关系映射标签,支持对象关系组建维护 提供xml标签,支持编写动态sql。最重要的一点:使用的人多!--------------Spring SpringMVC SpringBoo...

2021-09-08 08:08:52 82

转载 Mybatis概述

mybatis是什么?有什么特点?它是一款半自动的ORM持久层框架,具有较高的SQL灵活性,支持高级映射(一对一,一对多),动态SQL,延迟加载和缓存等特性,但它的数据库无关性较低什么是ORM?Object Relation Mapping,对象关系映射。对象指的是Java对象,关系指的是数据库中的关系模型,对象关系映射,指的就是在Java对象和数据库的关系模型之间建立一种对应关系,比如用一个Java的Student类,去对应数据库中的一张student表,类中的属性和表中的列一一对应。Stu.

2021-09-07 08:05:10 96

原创 aop通知xml写法

<?xml version="1.0" encoding="utf-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:util="http://www.springframework.org/schema/util" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://ww.

2021-09-06 09:13:15 83

原创 springmvc

SpringMVC框架介绍:springmvc是spring框架的一个模块,springmvc和spring无需通过中间整合层进行整合。springmvc是一个基于mvc的web框架。springmvc 表现层:方便前后端数据的传输Spring MVC 拥有控制器,作用跟Struts类似,接收外部请求,解析参数传给服务层MVC是指,C控制层,M模块层,V显示层这样的设计理念,而SSM框架里面SPRING MVC本身就是MVC框架,作用是帮助(某种意义上也可以 理解为约束)我们要按照MVC这样的设计

2021-09-06 08:25:15 84

转载 Spring框架

1、IOC和DIIOC: 控制反转即控制权的转移,将我们创建对象的方式反转了,以前对象的创建是由我们开发人员自己维护,包括依赖关系也是自己注入。使用了spring之后,对象的创建以及依赖关系可以由spring完成创建以及注入,反转控制就是反转了对象的创建方式,从我们自己创建反转给了程序创建(spring)DI: Dependency Injection 依赖注入spring这个容器中,替你管理着一系列的类,前提是你需要将这些类交给spring容器进行管理,然后在你需要的时候,不是自己去定义,而..

2021-08-24 22:54:45 147

转载 vue笔记(三)

三、了解前后分离的演变史为什么需要前后分离3.1、后端为主的MVC时代为了降低开发的复杂度, 以后端为出发点, 比如:Struts、Spring MVC等框架的使用, 就是后端的MVC时代;以SpringMVC流程为例:发起请求到前端控制器(Dispatcher Servlet)前端控制器请求HandlerMapping查找Handler,可以根据xml配置、注解进行查找处理器映射器HandlerMapping向前端控制器返回Handler前端控制器调用处理器适配器去执行Handler

2021-08-15 23:09:58 63

转载 vue笔记(二)

二、前端发展史2.1、UI框架Ant-Design:阿里巴巴出品,基于React的UI框架ElementUI、iview、ice:饿了么出品,基于Vue的UI框架BootStrap:Teitter推出的一个用于前端开发的开源工具包AmazeUI:又叫“妹子UI”,一款HTML5跨屏前端框架2.2、JavaScript构建工具Babel:JS编译工具,主要用于浏览器不支持的ES新特性,比如用于编译TypeScriptWebPack:模块打包器,主要作用就是打包、压缩、合并及按序加载注:以上知

2021-08-15 23:05:00 70

转载 vue笔记(一)

一、前端核心分析1.1、概述Soc原则:关注点分离原则Vue 的核心库只关注视图层,方便与第三方库或既有项目整合。HTML + CSS + JS : 视图 : 给用户看,刷新后台给的数据网络通信 : axios页面跳转 : vue-router状态管理:vuexVue-UI : ICE , Element UI1.2、前端三要素HTML(结构):超文本标记语言(Hyper Text Markup Language),决定网页的结构和内容CSS(表现):层叠样式表(Casc

2021-08-15 23:03:11 43

原创 jsp页面9大隐含对象

jsp页面9大隐含对象 这9个隐含对象是tomcat在翻译jsp到Java文件阶段给我们创建好的,我们可以直接拿来使用 1.request:相当于servlet中的request作用域 1.1存值:request.setAttribute(name,value); 1.2取值:request.getAttribute(name); 2.response:相当于servlet中的response对象 设置响应类型和编码格式:respons...

2021-08-15 22:50:19 54

原创 EL表达式

EL表达式1.EL表达式是一种表达式语言,主要用于数据的展示相关操作。未来EL表达式会配合jstl标签完成jsp页面数据的展示。EL表达式会替换掉大部分脚本。2.语法: ${表达式} 注意:使用EL表达式的jsp页面要保证isELIgnored=false3.EL表达式的使用 3.1算数运算的使用 1+1=${1+1 }<br> 1-1=${1-1 }<br> 1*1=${1*1 }<br>...

2021-08-15 22:49:19 57

原创 Vue01

概述Vue.js(读音 /vjuː/, 类似于view)是一个构建数据驱动的 web 界面的库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。Vue.js 自身不是一个全能框架——它只聚焦于视图层。因此它非常容易学习,非常容易与其它库或已有项目整合。另一方面,在与相关工具和支持库一起使用时,Vue.js 也能完美地驱动复杂的单页应用。如果你是有经验的前端开发者,想知道 Vue.js 与其它库/框架的区别,查看对比其它框架;如果你对使用 Vue.js 开发大.

2021-08-15 22:48:48 68

转载 选择标签select

1.jquery/dom判断被选择的索引(index)和值(option的value)/文本值值:var value = $("#select").val();索引://domdocument.getElementById("select").selectedIndex;//jquery$("#select").prop("selectedIndex");//prop()方法设置或者返回被选元素的属性和值$("option:selected","#select").index();.

2021-07-31 08:30:11 289

原创 什么是集合

集合什么是集合(Collection)?-集合就是‘由若干个确定的元素所构成的整体”.集合是存储对象的容器,可以存储任意数量、任意类型的对象。在Java中,如果一个Java对象 可以在内部持有若干其他Java对象,并对外提供访问接口,我们把这种Java对象称为集合。数组也可以看作是一种集合String[] ss = newString[10]; //可以持有10个String对象ss[0] = "Hello"; //可以放入String对象String first = ss[0]; //可以

2021-07-30 11:21:45 390

原创 异常的详解

异常java中的异常又称为例外,是一一个在程序执行期间发生的事件,它中断正在执行程序的正常指令流。任何人都无法保证永远准确运行,程序- -旦出现异常,那么就像现实中碰到异常问题一样,需要得到及时的处理异常的分类:Throwable类是java语 言中所有错误或异常的超类,这意味着只要是错误或异常,那么肯定是Throwable子 类的实例,但是事实上,异常内容过于庞大,所以设计人员将他们分开来,这就是Thowable的两个子类,Error和ExceptionError类负责错误,它指程序运行的时

2021-07-30 11:20:35 100

原创 流IO详解

流IO:在Java中所有数据都是使用流读写的,那么什么是流呢?流是一组有序的数据序列,将数据从一个地方带到另一个地方,其实Java lO流和水流是类似的,他们具有最基本的特点,即流是一维的,流是单向的,对应的操作就是单向读取和单向写入的,根据数据流向的不同可以分为输入(Input)流和输出(Output)流两种。java中的IO主要包含3个部分:1:流式部分——IO的主体部分2:非流式部分——辅助流式部分,如File3:文件读取部分和安全相关的类。我们在这里主要讲解File类如何操作IO流。

2021-07-30 11:19:05 65

原创 计算机网络基础

计算机网络基础计算机网络是指两台或更多的计算机组成的网络,在同一个网络中,任意两台计算机都可以直接通信,因为所有计算机都需要遵循同- -种网络协议。那什么是 互联网呢?互联网是网络的网络(internet) ,即把很多计算机网络连接起来,形成一个全球统一 -的互联网。网络通信协议对某个特定的计算机网络来说,它可能使用网络协议ABC,而另一个计算机网络可能使用网络协议XYZ。如果计算机网络各自的通讯协议不统一, 就没法把不同的网络连接起来形成互联网。因此,为了把计算机网络接入互联网,就必须使用TC

2021-07-30 08:17:06 106

原创 PreparedStatement与 事务处理

在基本访问数据库的步骤中提到了用Statement去执行SQL语句。这里介绍Statement的子类PreparedStatementPreparedStatement(预处理执行语句)相比其父类Statement主要有以下几个优点:●可以防止SQL注入●在特定的驱动数据库下相对效率要高●不需要频繁编译。因为已经预加载了它有三种执行方式:●pstm.executeUpdate()执行更新语句, 例如insert, update, delete语句, 返回受影响的行数●pstm.executeQ

2021-07-30 08:13:06 844

空空如也

空空如也

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

TA关注的人

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