自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Session,Cookie,Token详解,初步认识web程序的安全性

在Web开发中,Session是一种非常关键的概念,它允许Web应用程序存储关于用户的信息状态,以便在多个页面请求或浏览器会话中跨时间维持这些信息。与Session和Cookie相比,Token提供了一种不同的安全和数据管理策略,特别是在构建无状态的、分布式的、跨平台的Web应用和API服务时。Cookie的使用跨越了各种应用,从简单的用户认证和会话管理到支持复杂的网站功能。这是通过在Token中嵌入所有必要的信息来实现的,如用户ID、过期时间等,这样服务器只需验证Token的合法性即可处理请求。

2024-03-16 22:51:50 1132

原创 Docker使用及部署流程

Docker的使用及部署的具体流程

2024-03-11 19:42:52 1292

原创 FastAPI最佳的实践及编码约定资料

深入了解FastAPI的编码规范及代码规则

2024-03-11 17:22:49 807

原创 正则表达式

正则表达式(Regular Expression,缩写为 regex 或 regexp)是一种强大的文本处理工具,用于搜索、匹配和替换文本。它们基于一套符号和语法规则,能够构建出复杂的搜索模式。理解和掌握正则表达式,可以让你在处理字符串时更加高效和灵活。基本匹配:正则表达式最简单的形式是直接匹配文本字符串,例如,regex 会匹配字符串中任何包含 “regex” 的部分。元字符:正则表达式中有一些特殊的字符,被称为元字符(Metacharacters),它们有特殊的含义。常见的元字符包括:字符类:字符类允许

2024-03-11 10:54:18 929

原创 springboot对接微信登录以及微信支付功能代码

配置环境 <!--微信支付--> <dependency> <groupId>com.github.wxpay</groupId> <artifactId>wxpay-sdk</artifactId> <version>0.0.3</version> </dependency>

2022-03-07 15:34:05 341

原创 【已解决】Access denied for user ‘root‘@‘localhost‘ (using password: YES)

最近做项目的时候突然出现这个问题,命令行连接mysql没问题,sqlyog连接没问题,但就是代码编译器没法正常连接,试了很多方法都没用,最后发现是禅道的问题这个进程在运行的时候,可能是用户名和密码冲突,会导致连接异常,关闭就没问题了。...

2022-02-11 19:27:40 1187

原创 【已解决】使用dbunit在spring boot项目中进行dao层测试时报错org.dbunit.database.AmbiguousTableNameException: USER原因以及解决方法

原因在数据库中存在两个同名的数据表,同名->不区分大小写的同名,则user和USER也是同名的,特别的是这两个同名数据表可能是存在本地中两个不同的数据库中。解决方法重命名你当前项目的数据表,使其不与数据库中其他数据表重名,如user命名为t_user。删除其他数据库中的重名数据表,使你当前数据表命名唯一。(这是我使用的解决方法)假如在连接数据库时未指定到哪个具体的schema,那么就在数据库指定schema。...

2022-01-19 15:00:03 797

原创 【已解决】Shrio异常The security manager does not implement the WebSecurityManager interface.

出现错误的位置为配置Shiro的类:ShiroConfig错误代码: @Bean public SessionsSecurityManager sessionsSecurityManager(AccountRealm accountRealm, SessionManager sessionManager, RedisCacheManager redisCacheManager){ DefaultSecurityManager securityManager =

2021-12-16 16:33:48 308

原创 Redis封装方法RedisUtils类

Redis依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency>类import org.springframework.data.redis.core.RedisTemplate;import org.sp

2021-12-06 21:14:05 145

原创 (已解决)Waiting for Target Device to Come Online

Android Studio 使用AVD时,一直停留在Waiting for Target Device to Come Online,模拟器状态显示为OFFLINE网上的方法大多是以下几点:重启法。重启Android Studio,重启系统;端口占有论。paltform-tools目录下adb kill-server,然后adb start-server;软件更新论。SDK tool 或paltform tool有更新,下载更新(我没有去尝试,因为觉得不靠谱);删除文件法,删除C:\Users

2021-12-05 15:45:46 7868 3

原创 (已解决)Failed to start bean ‘documentationPluginsBootstrapper’

出现原因分析本人的springboot版本是最新的2.6.1,swagger版本是2.9.2,按着网上的步骤进行环境配置,但在运行时却会出现Failed to start bean ‘documentationPluginsBootstrapper’的问题,在排查了多方原因后,我发现是springboot的版本更新,导致的swagger2的异常解决方法(本人的解决方法)在yml中新增配置application.ymlspring: mvc: pathmatch: match

2021-12-03 15:46:41 22704 11

原创 mybatis-plus代码生成器配置(3.5.1+版本)

引入依赖 <!--freemarker--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency> <!--mybatis

2021-12-03 14:42:37 1159 2

原创 【已解决】form表单提交数据后台却没拿到

注意from表格内的input标签input标签需要写name值,并且需要与后台设置的名称一致!

2021-11-09 21:09:37 1573

原创 Git常用命令

文章目录软件下载常用Linux命令配置GitGit操作命令本地仓库搭建克隆远程仓库查看文件状态忽略文件基本操作GIT分支软件下载git官网:https://git-scm.com/国内镜像下载:http://npm.taobao.org/mirrors/git-for-windows/gitee:https://gitee.com/github:https://github.com/常用Linux命令1)、cd : 改变目录。2)、cd . . 回退到上一个目录,直接cd进入默认目录3)、

2021-10-15 21:43:50 73

原创 熟悉掌握SpringMVC(十)——文件的上传和下载

概论

2021-10-10 21:21:34 105

原创 熟悉掌握SpringMVC(九)——拦截器

概述SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。开发者可以自己定义一些拦截器来实现特定的功能。过滤器与拦截器的区别:拦截器是AOP思想的具体应用。过滤器servlet规范中的一部分,任何java web工程都可以使用*在url-pattern中配置了/之后,可以对所有要访问的资源进行拦截拦截器拦截器是SpringMVC框架自己的,只有使用了SpringMVC框架的工程才能使用拦截器只会拦截访问的控制器方法, 如果访问的

2021-10-09 23:14:47 83

原创 熟悉掌握SpringMVC(八)——Ajax进阶

简介AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。Ajax 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术。伪造Ajax我们可以使用前端的一个标签来伪造一个ajax的样子。 iframe标签编写一个 ajax-frame.html 使用 iframe 测试,感受下效果<!DOCTYPE html>&

2021-10-09 23:08:20 107

原创 熟悉掌握SpringMVC(七)——JSON进阶

文章目录什么是JSONJSON 和 JavaScript 对象互转测试代码Controller返回JSON数据代码优化乱码统一解决返回json字符串统一解决测试集合输出输出时间对象封装为工具类FastJson什么是JSONJSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,目前使用特别广泛。采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和

2021-10-09 22:04:47 94

原创 熟悉掌握SpringMVC(六)——整合SSM(一个简易的图书管理系统)

环境配置IDEAMySQL 8Tomcat 9JDK 16Maven 3.6数据库环境CREATE DATABASE ssmbuild;USE ssmbuild;DROP TABLE IF EXISTS books;CREATE TABLE books(bookId INT(10) NOT NULL AUTO_INCREMENT COMMENT '书id',bookName VARCHAR(100) NOT NULL COMMENT '书名',bookCounts INT

2021-10-07 23:14:58 121

原创 熟悉掌握SpringMVC(五)——数据处理

文章目录处理提交数据提交的域名称和处理方法的参数名一致提交的域名称和处理方法的参数名不一致提交的是一个对象数据显示到前端ModelAndViewModelMapModel对比可能出现的乱码问题自定义过滤器处理提交数据提交的域名称和处理方法的参数名一致提交数据 : http://localhost:8080/hello?name=pag处理方法 :@RequestMapping("/hello")public String hello(String name){ System.out.pr

2021-10-06 21:15:20 77

原创 熟悉掌握SpringMVC(四)——结果跳转方法

ModelAndView设置ModelAndView对象 , 根据view的名称 , 和视图解析器跳到指定的页面 .页面 : {视图解析器前缀} + viewName +{视图解析器后缀}<!-- 视图解析器 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver"> <!--

2021-10-06 20:56:28 206

原创 熟悉掌握SpringMVC(三)——Controller和Restful

Controller控制器Controller控制器复杂提供访问应用程序的行为,通常通过接口定义或注解定义两种方法实现。控制器负责解析用户的请求并将其转换为一个模型。在Spring MVC中一个控制器类可以包含多个方法在Spring MVC中,对于Controller的配置方式有很多种实现Controller接口Controller是一个接口,在org.springframework.web.servlet.mvc包下,接口中只有一个方法;//实现该接口的类获得控制器功能public

2021-10-06 20:46:29 148

原创 熟悉掌握SpringMVC(二)——编写第一个SpringMVC程序-HelloSpringMVC

环境 <!-- https://mvnrepository.com/artifact/junit/junit --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.2</version>

2021-10-06 18:15:19 104

原创 form表单提交后页面404

<form action="/hello" method="post">修改为<form action="/springmvc_01_war_exploded/hello" method="post">加上tomcat设置url的后缀

2021-10-05 17:39:03 1818 2

原创 熟悉掌握SpringMVC(一)——何为SpringMVC

什么是MVCMVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。是将业务逻辑、数据、显示分离的方法来组织代码。MVC主要作用是降低了视图与业务逻辑间的双向偶合。MVC不是一种设计模式,MVC是一种架构模式。当然不同的MVC存在差异。Model(模型):数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或JavaBean组件(包含数据和行为),不过现在一般都分离开来:Value Object(数据Dao) 和 服务层(行为Ser

2021-10-05 09:46:02 121

原创 mysql8 版本以上的url

jdbc:mysql://localhost:3306/dataSourceName?useUnicode=true&amp;characterEncoding=utf-8&amp;useSSL=false&amp;serverTimezone=UTC

2021-10-02 14:30:00 1539

原创 从零开始学习Spring5架构(十)——整合Mybatis

环境配置导入相关jar包<dependencies> <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc

2021-10-02 10:19:21 86

原创 Maven配置环境静态资源过滤

<build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include>

2021-10-01 21:02:29 387

原创 从零开始学习Spring5架构(十一)——声明式事务

事务事务在项目开发过程非常重要,涉及到数据的一致性的问题,不容马虎!事务管理是企业级应用程序开发中必备技术,用来确保数据的完整性和一致性。事务就是把一系列的动作当成一个独立的工作单元,这些动作要么全部完成,要么全部不起作用。事务的四个属性ACID原子性(atomicity):事务是原子性操作,由一系列动作组成,事务的原子性确保动作要么全部完成,要么完全不起作用一致性(consistency):一旦所有事务动作完成,事务就要被提交。数据和资源处于一种满足业务规则的一致性状态中隔离

2021-10-01 18:00:09 88

原创 从零开始学习Spring5架构(九)——详解AOP

AOP是什么AOP(Aspect Oriented Programming)意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。AOP在Spring中的作用提供声明式事务;允许用户自定义切面横切关注点:跨越应用程序多个模块的方

2021-10-01 17:36:12 103

原创 从零开始学习Spring5架构(八)——AOP的底层机制:代理模式

代理模式:静态代理动态代理学习AOP之前 , 我们要先了解一下代理模式静态代理静态代理角色分析抽象角色 : 一般使用接口或者抽象类来实现真实角色 : 被代理的角色代理角色 : 代理真实角色 ; 代理真实角色后 , 一般会做一些附属的操作 .客户 : 使用代理角色来进行一些操作 .代码实现Rent . java 即抽象角色//抽象角色:租房public interface Rent { public void rent();}Host . ja

2021-10-01 16:48:39 93

原创 从零开始学习Spring5架构(七)——使用注解开发

Bean的实现实际开发中,我们一般都会使用注解来进行bean注入配置扫描哪些包下的注解<!--指定注解扫描包--><context:component-scan base-package="com.pag.pojo"/>在指定包下编写类,增加注解@Component("user")// 相当于配置文件中 <bean id="user" class="当前注解的类"/>public class User { public String name =

2021-10-01 16:34:16 83

原创 从零开始学习Spring5架构(六)——Bean的作用域和自动装配技术

Bean的作用域在Spring中,那些组成应用程序的主体及由Spring IOC容器所管理的对象,被称之为bean。简单地讲,bean就是由IOC容器初始化、装配及管理的对象几种作用域中,request、session作用域仅在基于web的应用中使用(不必关心你所采用的是什么web应用框架),只能用在基于web的Spring ApplicationContext环境Singleton当一个bean的作用域为Singleton,那么Spring IoC容器中只会存在一个共享的bean实例,并且所有

2021-10-01 15:46:36 114

原创 从零开始学习Spring5架构(五)——依赖注入(DI)

依赖注入(Dependency Injection,DI)依赖 : 指Bean对象的创建依赖于容器 . Bean对象的依赖资源注入 : 指Bean对象所依赖的资源 , 由容器来设置和装配构造器注入有参构造器注入,前文有具体的讲解,此处给出代码实例<!-- 第一种根据index参数下标设置 --> <bean id="user" class="com.pag.pojo.User"> <!-- index指构造方法 , 下标从0开始 --&gt

2021-10-01 15:02:17 121

原创 从零开始学习Spring5架构(四)——Spring的配置

别名alias 设置别名 , 为bean设置别名 , 可以设置多个别名<!--设置别名:在获取Bean的时候可以使用别名获取--><alias name="user" alias="User"/>Bean的配置<!--bean就是java对象,由Spring创建和管理--><!-- id 是bean的标识符,要唯一,如果没有配置id,name就是默认标识符 如果配置id,又配置了name,那么name是别名 name可以设置多个

2021-10-01 13:43:03 139

原创 从零开始学习Spring5架构(三)——IOC创建对象的方式

通过无参构造方法创建对象User.javapackage com.pag.pojo;public class User { private String name; public User() { System.out.println("无参构造方法"); } public String getName() { return name; } public void setName(String name) {

2021-10-01 13:38:50 76

原创 从零开始学习Spring5架构(二)——IOC基础

IOC的本质控制反转IOC(Inversion of Control),是一种设计思想,**DI(依赖注入)**是实现IOC的一种方法,也有人认为DI只是IOC的另一种说法。没有IOC的程序中 , 我们使用面向对象编程 , 对象的创建与对象间的依赖关系完全硬编码在程序中,对象的创建由程序自己控制,控制反转后将对象的创建转移给第三方,所谓控制反转就是:获得依赖对象的方式反转了,即原先的程序对象由类来主动创建,而IOC则是接收一个类的实例对象。IOC是Spring框架的核心内容,使用多种方式完美的实现了I

2021-10-01 13:08:21 128

原创 从零开始学习Spring5架构(一)——初识Spring

Spring是什么Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器(框架)。Spring官方文档:https://spring.io/官方下载地址 : https://repo.spring.io/libs-rele

2021-09-28 10:26:32 122

原创 从入门到精通的使用Mybatis框架(十一)——Mybatis的缓冲

简介缓存 [ Cache ]的概念:存在内存中的临时数据。将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。使用缓存的好处:减少和数据库的交互次数,减少系统开销,提高系统效率。经常查询并且不经常改变的数据能使用缓存。Mybatis缓存MyBatis包含一个非常强大的查询缓存特性,它可以非常方便地定制和配置缓存。缓存可以极大的提升查询效率。MyBatis系统中默认定义了两级缓存

2021-09-26 22:53:18 80

原创 从入门到精通的使用Mybatis框架(十)——运用Mybatis实现动态SQL

概念动态SQL指的是根据不同的查询条件 , 生成不同的Sql语句官网描述:MyBatis 的强大特性之一便是它的动态 SQL。如果你有使用 JDBC 或其它类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句的痛苦。例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL 这一特性可以彻底摆脱这种痛苦。虽然在以前使用动态 SQL 并非一件易事,但正是 MyBatis 提供了可以被用在任意 SQL 映射语句中的强大的动态 SQL 语言得以改进这种情形。动

2021-09-26 22:23:04 135

空空如也

空空如也

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

TA关注的人

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