SpringSecurity随记
看的是B站三更草堂的课,包括下面的笔记基本上也都整理自UP给出的资料
SpringSecurity完整流程图中只展示了核心过滤器,其它的非核心过滤器并没有在图中展示
UsernamePasswordAuthenticationFilter
处理登陆页面用户名密码的登陆请求
ExceptionTranslationFilter
处理过滤器链中抛出的任何AccessDeniedException和AuthenticationException
FilterSecurityInterceptor
负责权限校验的过滤器
思路分析
登录
自定义登录接口
调用ProviderManager的方法进行认证 如果认证通过生成jwt
把用户信息存入redis中
自定义UserDetailsService
在这个实现类中去查询数据库
校验
定义Jwt认证过滤器
获取token
解析token获取其中的userid
从redis中获取用户信息
存入SecurityContextHolder
工具类添加工具配置类
实现核心代码实现创建一个类实现 ...
Vue随记
本文不是vue的系统性学习,只是基础部分的快速上手(本文以Vue2为例)
Vue2官网
Vue3官网
引入<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<!-- 生产环境版本,优化了尺寸和速度 -->
<script src="https://cdn.jsdelivr.net/npm/vue@2"></script>
声明式渲染看一个简单的案例
<body>
<div id="app" v-bind:title="title">
{{message}}
</div>
<script>
var app = new Vue({
el: '#app',
data:{
message:'hello vue!',
title:' ...
Docker随记
本文指列举一些常用的命令
Docker安装以CentOS为例
# 首先安装 Docker
yum -y install docker
# 然后启动 Docker 服务
service docker start
# 测试安装是否成功
docker -v
查看当前运行的容器docker ps
查看所有的容器docker ps -a
CONTAINER ID:CONTAINER ID是指容器的id,是一个唯一标识符,这是一个64位的十六进制整数,在不会混淆的情况下可以只采用id的前几位进行标识一个容器
IMAGE:IMAGE表示创建容器时使用的镜像
COMMAND:COMMAND表示容器最后运行的命令
CREATED:创建容器的时间
STATUS:容器的状态,这里可能显示一个容器启动时间,也能显示容器关闭时间。具体显示哪个要看容器当前的状态
PORTS:容器对外开放的端口
NAMES:容器的名字,如果不设置,会有一个默认的名字
容器创建并启动docker run
启动容器docker start
停止容器docker stop
单个删除docker rm
开启自启docker ...
SpringBoot随记
为什么叫随记呢
因为前面的笔记过于详细,从头到尾完整记下来会花掉很多时间…
so这篇就记得随意一点吧
Spring和SpringMVC都只是快速过了一下(跟没看一样 ^_^
Web容器基本配置
Tomcat配置日志
HTTPS证书生成秘钥复制到resource目录下
keytool -genkey -alias myhttps -keyalg RSA -keysize 2048 -keystore zhengru_key.p12 -validity 365
在application.properties中配置证书
server.ssl.key-alias=myhttps
server.ssl.key-store=classpath:zhengru_key.p12
server.ssl.key-store-password=123456
配置文件名称和路径位置问题位置可以在一下四个地方
当然也可以用spring.config.location来指定其他位置
配置文件位置时,值一定要以/结尾
例如:spring.config.location=classpath:/javaboy/
...
MyBatisPlus学习笔记
看完黑马的视频之后写的,应该不是很完整(后面如果发现不全的话再加?)
依赖下面是mp、druid、lombok、代码生成器的依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.16</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</d ...
MyBatis学习笔记
MyBatis中文网
版本信息
IntelliJ IDEA:2022.3
Navicat for MySQL:16
MySQL数据库:5.7
MySQL驱动:5.1.48
MyBatis:3.5.10
JDK:Java8/11(从Javassist开始更换为jdk1.8)
junit:4.13.2
logback:1.2.11
servlet-api:4.0.1
MyBatis概述
MyBatis本质上就是对JDBC的封装,通过MyBatis完成CRUD。
MyBatis在三层架构中负责持久层的,属于持久层框架
MyBatis框架特点:
支持定制化 SQL、存储过程、基本映射以及高级映射
避免了几乎所有的 JDBC 代码中手动设置参数以及获取结果集
支持XML开发,也支持注解式开发。【为了保证sql语句的灵活,所以mybatis大部分是采用XML方式开发。】
将接口和 Java 的 POJOs(Plain Ordinary Java Object,简单普通的Java对象)映射成数据库中的记录
体积小好学:两个jar包,两个XML配置文件。
完全做到sql解耦合。
...
Maven学习笔记
配置环境变量从官网下载maven后解压(我的在C:\Maven\apache-maven-3.9.0)
M2_HOME
C:\Maven\apache-maven-3.9.0
Path
%M2_HOME%\bin
验证
mvn -v
至此就配置完毕了
约定的目录结构
src/main/java
主程序功能代码,service,dao,controller等
src/main/resources
主程序要使用的配置文件
src/test/java
测试程序,junit的代码放在这里
src/test/resources
测试程序使用的配置文件
pom.xml
maven的核心文件,必须有
pom文件
maven工具各种配置
自己项目的坐标
property属性
依赖dependencies,其它工具库,框架的gav坐标
构建build, 控制maven构建项目时一些操作,比如设置编译阶段,使用的jdk等
坐标(gav)
groupId:组织名称
artifactId:项目名称
version:版本号
依赖dependencies依赖类似导 ...
jQuery学习笔记
jQuery概述
jQuery是存放js代码的地方,放的是用js代码写的函数
jQuery是为了简化js的操作
jquery核心$符号在jquery中代表对jquery对象的引用,jQuery是核心对象
第一个例子
$(document)
$是jQuery中的函数名称,document是函数的参数
作用是将document对象变成jQuery函数库可以使用的对象
ready函数
ready是jQuery中的函数,是准备的意思
当页面的dom对象加载成功后,会执行ready函数的内容
ready相当于是js中的onLoad事件
funciton()
funciton()自定义的表示onLoad后要执行的功能
入口函数$(document).ready === $() === jQuery() === window.jQuery()
$(function(){
alert("Hello,jQuery!")
})
jQuery对象
jQuery表示的对象都是数组
在命名jQuery对象时,为了与DOM对象进行区分,习惯上以$开头
DOM、J ...
AJAX学习笔记
全局刷新和局部刷新全局刷新整个浏览器被新的数据覆盖,在网络中传输大量的数据,浏览器需要加载,渲染页面
局部刷新
在浏览器的内部,发起请求,获取数据,改变页面中的部分内容
局部刷新的速度更快,可以按需获取数据
ajax是用来做局部刷新的,局部刷新使用的核心对象是 异步对象(XMLHttpRequest)
这个异步对象是存在浏览器内存中的,使用javascript语法创建和使用 XMLHttpRequest 对象
Ajax概念
Asynchronous Javascript and XML(异步的 Javascript 和 XML)
Asynchronous:异步
同步只能处理一个请求
异步可以分开处理多个请求
Javascript:Javascript脚本,在浏览器中执行
and:和
xml:是一种数据格式
Ajax是一种做局部刷新的新方法,不是一种语言。
Ajax包含的技术主要有JavaScript,dom,css,xml等等,核心是JavaScript和xml。
JavaScript负责创建异步对象,发送请求,更新页面的dom对象
Ajax请求需要服务器端的数据
...
JavaScript学习笔记
补一下上学期没学的js,也算给jQuery做一下知识储备
JavaScript概述ECMAScript、DOM、BOM
JavaScript包括ECMAScript、DOM、BOM
ECMAScript是ECMA制定的262标准,JavaScript和JScript都遵守这个标准,ECMAScript是JavaScript核心语法
DOM编程是通过JavaScript对HTML中的dom节点进行操作,DOM是有规范的,DOM规范是W3C制定的(Document Object Model:文档对象模型)
BOM编程是对浏览器本身操作,例如:前进、后退、地址栏、关闭窗口、弹窗等。由于浏览器有不同的厂家制造,所以BOM缺少规范,一般只是有一个默认的行业规范(Browser Object Model:浏览器对象模型)
ECMAScript(JS核心语法)嵌入JS三种方式
行间事件
脚本块
引入外部独立的js文件
标识符和关键字
关键字:var、for
标识符:i、alert
函数
在JS当中函数声明的优先级比较高,打开网页的时候,网页中所有的函数先进行声明
变量只声明没有赋值,系统 ...