- 博客(108)
- 收藏
- 关注
原创 关于idea中创建项目时连接超时的问题,但是阿里云的仓库和spring.io的还不一样的烦恼的解决
有的时候用 IDEA 会创建失败,但是直接打开网页可以创建,创建完成后,将创建好的项目下载下来,然后解压,再用 IDEA 打开。用下面这个,这是放在香港的服务器,国内用起来没毛病,好处就是和外国的一模一样。...
2022-08-04 12:40:43 555
原创 RDB和AOF的优缺点
Redis提供了不同级别的持久化方式RDB持久化方式能够在指定的时间间隔能对你的数据进行快照存储.·AOF持久化方式记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据,AOF命令以redis协议追加保存每次写的操作到文件末尾.Redis还能对AOF文件进行后台重写,使得AOF文件的体积不至于过大.·如果你只希望你的数据在服务器运行的时候存在,你也可以不使用任何持久化方式....
2022-07-22 08:15:00 233
原创 缓存穿透、缓存击穿、缓存雪崩
1、加锁//1.从redis中获取锁,setk1v1px20000nx2.使用LUA释放锁//2.释放锁del//设置lua脚本返回的数据类型//设置lua脚本返回类型为Long3.重试testLock();为了确保分布式锁可用,我们至少要确保锁的实现同时满足以下四个条件-互斥性。在任意时刻,只有一个客户端能持有锁。-不会发生死锁。即使有一个客户端在持有锁的期间崩溃而没有主动解锁,也能保证后续其他客户端能加锁。-解铃还须系铃人。https。......
2022-07-22 08:00:00 95
原创 Redis事务-秒杀案例模拟实现详细过程
Lua脚本可以很容易的被C/C++代码调用,也可以反过来调用C/C++的函数,Lua并没有提供强大的库,一个完整的Lua解释器不过200k,所以Lua不适合作为开发独立应用程序的语言,而是作为。将复杂的或者多步的redis操作,写为一个脚本,一次提交给redis执行,减少反复连接redis的次数。很多应用程序、游戏使用LUA作为自己的嵌入式脚本语言,以此来实现可配置性、可扩展性。一、解决要点库存要减少,秒杀成功的人要增多。先点的没秒到,后点的可能秒到了。脚本淘汰用户,解决超卖问题。...
2022-07-20 23:25:09 279
原创 redis的事务、锁机制、秒杀
Redis事务是一个单独的隔离操作事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。Redis事务的主要作用就是串联多个命令防止别的命令插队。...
2022-07-20 22:43:46 177
原创 redis和springboot整合过程(redistemplate)
2.在application.properties对redis进行配置。4.可以用了用一个controller类来测试。1.在pom.xml文件中引入redis依赖。3.添加redis配置类。
2022-07-20 22:21:15 257
原创 redis中的五大数据类型的常用命令
String是Redis最基本的类型,一个key对应一个value。String类型是二进制安全的。意味着Redis的string可以包含任何数据。比如jpg图片或者序列化的对象。String类型是Redis最基本的数据类型,一个Redis中字符串value最多可以是512M。...
2022-07-20 18:49:58 144
原创 Redis安装
首先有个虚拟机就行,我用的是centOS7下载安装最新版的gcc编译器测试gcc版本通过共享文件夹放/opt目录make命令(只是编译好)如果没有准备好C语言编译环境,make会报错—Jemalloc/jemalloc.h没有那个文件运行makedistclean在redis-6.2.1目录下再次执行make命令(只是编译好)...
2022-07-20 17:19:05 298 1
原创 redis关闭后在连接报错误:Could not connect to Redis at 127.0.0.1:6379: Connection refused
bug解决
2022-07-10 15:28:52 713
原创 MyBatis的逆向工程、QBC查询(分页插件)
目录1、创建逆向工程的步骤a>添加依赖和插件b>创建MyBatis的核心配置文件c>创建逆向工程的配置文件d>执行MBG插件的generate目标2、QBC查询分页插件 1、分页插件使用步骤a>添加依赖b>配置分页插件2、分页插件的使用 正向工程:先创建Java实体类,由框架负责根据实体类生成数据库表。Hibernate是支持正向工程 的。 逆向工程:先创建数据库表,由框架负责根据数据库表,反向生成如下资源: Java实体类Mapper接口
2022-06-13 21:09:12 687 1
原创 MyBatis的缓存、整合第三方缓存EHCache
目录1、MyBatis的一级缓存3、二级缓存的相关配置4、MyBatis缓存查询的顺序5、整合第三方缓存EHCachea>添加依赖b>各jar包功能c>创建EHCache的配置文件ehcache.xmld>设置二级缓存的类型e>加入logback日志f>EHCache配置文件说明 一级缓存是SqlSession级别的,通过同一个SqlSession查询的数据会被缓存,下次查询相同的数据,就会从缓存中直接获取,不会从数据库重新访问使一级缓存失效的四种情况:1) 不同的SqlSession对应不同的一级缓存2)
2022-06-13 21:00:04 175
原创 自定义映射resultMap(字段名和属性名)、动态sql的使用(if、where、trim、choose、when、otherwise、foreach、sql片段)
目录 自定义映射resultMap1、resultMap处理字段和属性的映射关系2、多对一映射处理a>级联方式处理映射关系b>使用association处理映射关系c>分步查询3、一对多映射处理a>collectionb>分步查询动态SQL1、if2、where3、trim4、choose、when、otherwise5、foreach 6、SQL片段若字段名和实体类中的属性名不一致,则可以通过resultMap设置自定义映射 2、多对一映射处理 a>级联方式处理映射关系 b>使用as
2022-06-13 20:46:42 872
原创 MyBatis获取参数值的两种方式(重点)、MyBatis的各种查询功能、特殊SQL的执行
MyBatis获取参数值的两种方式(重点)、MyBatis的各种查询功能、特殊SQL的执行
2022-06-06 21:04:41 484
原创 MyBatis简介、搭建MyBatis、核心配置文件详解、MyBatis的增删改查
MyBatis简介、搭建MyBatis、核心配置文件详解、MyBatis的增删改查
2022-06-06 20:40:51 155
原创 SpringMVC的执行流程、DispatcherServlet 处理流程
SpringMVC的执行流程 1) 用户向服务器发送请求,请求被SpringMVC 前端控制器 DispatcherServlet捕获。 2) DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI),判断请求URI对应的映射: a) 不存在 i. 再判断是否配置了mvc:default-servlet-handler ii. 如果没配置,则控制台报映射查找不到,客户端展示404错误 iii. 如果有配置,则访问目标资源(一般为静态资源,如:JS,CSS,H.
2022-05-24 17:12:14 300
原创 使用注解配置SpringMVC
目录 1、创建初始化类,代替web.xml 2、创建SpringConfig配置类,代替spring的配置文件 3、创建WebConfig配置类,代替SpringMVC的配置文件 4、测试功能 杨博超老师的笔记 使用配置类和注解代替web.xml和SpringMVC配置文件的功能 1、创建初始化类,代替web.xml 在Servlet3.0环境中,容器会在类路径中查找实现javax.servlet.ServletContainerInitializer接口的类,如果找到的话就用它..
2022-05-24 16:45:16 155
原创 异常处理器
1、基于配置的异常处理 SpringMVC提供了一个处理控制器方法执行过程中所出现的异常的接口:HandlerExceptionResolver HandlerExceptionResolver接口的实现类有:DefaultHandlerExceptionResolver和SimpleMappingExceptionResolver SpringMVC提供了自定义的异常处理器SimpleMappingExceptionResolver,使用方式: <bean class="org.sprin
2022-05-24 16:35:21 132
原创 拦截器的简单介绍
1、拦截器的配置 SpringMVC中的拦截器用于拦截控制器方法的执行 SpringMVC中的拦截器需要实现HandlerInterceptor SpringMVC的拦截器必须在SpringMVC的配置文件中进行配置: <bean class="com.atguigu.interceptor.FirstInterceptor"></bean> <ref bean="firstInterceptor"></ref> <!-- 以上两种配置方式都是
2022-05-23 17:43:18 158
原创 springMVC中使用实现文件下载和上传
目录 1、文件下载 2、文件上传 杨博超老师的笔记 1、文件下载 使用ResponseEntity实现下载文件的功能 @RequestMapping("/testDown") public ResponseEntity<byte[]> testResponseEntity(HttpSession session) throws IOException { //获取ServletContext对象 ServletContext servletContext = ...
2022-05-23 17:40:54 70
原创 HttpMessageConverter:@RequestBody、@ResponseBode、RequstEntity、ResponseEntity
目录 1、@RequestBody 2、RequestEntity 3、@ResponseBody 4、SpringMVC处理json 5、SpringMVC处理ajax 6、@RestController注解 7、ResponseEntity 杨博超老师的笔记 HttpMessageConverter,报文信息转换器,将请求报文转换为Java对象,或将Java对象转换为响应报文 HttpMessageConverter,提供了两个注解和两个类型:@RequestBody,@..
2022-05-23 17:16:03 124
原创 RestFul学习
目录 一、认识RestFul 1、RESTful简介 2、RESTful的实现 3、HiddenHttpMethodFilter 二、RestFul案例(从案例中学习) 1、准备工作 2、功能清单 3、具体功能:访问首页 4、具体功能:查询所有员工数据 5、具体功能:删除 6、具体功能:跳转到添加数据页面 7、具体功能:执行保存 8、具体功能:跳转到更新数据页面 9、具体功能:执行更新 杨博超老师的笔记 一、认识RestFul 1、RESTful简介 RE...
2022-05-23 16:51:42 156
原创 springMVC中的视图:Thymeleaf、转发和重定向、视图控制器
SpringMVC中的视图是View接口,视图的作用渲染数据,将模型Model中的数据展示给用户 SpringMVC视图的种类很多,默认有转发视图和重定向视图 当工程引入jstl的依赖,转发视图会自动转换为JstlView 若使用的视图技术为Thymeleaf,在SpringMVC的配置文件中配置了Thymeleaf的视图解析器,由此视图解析器解析之后所得到的是ThymeleafView 1、ThymeleafView 当控制器方法中所设置的视图名称没有任何前缀时,此时的视图名称会被SpringM
2022-05-23 16:16:08 1131 2
原创 springMVC中实现request域、session域和application域的数据共享
1、使用ServletAPI向request域对象共享数据 @RequestMapping("/testServletAPI") public String testServletAPI(HttpServletRequest request){ request.setAttribute("testScope", "hello,servletAPI"); return "success"; } 2、使用ModelAndView向request域对象共享数据(不用形参,方法内部创建) ...
2022-05-23 16:01:44 322
原创 spingMVC中如何获取请求参数
目录 1、通过ServletAPI获取 2、通过控制器方法的形参获取请求参数 3、@RequestParam 4、@RequestHeader 5、@CookieValue 6、通过POJO获取请求参数(通过和类名一样的形参来获取实体类的信息) 7、解决获取请求参数的乱码问题 杨博超老师的笔记 1、通过ServletAPI获取 将HttpServletRequest作为控制器方法的形参,此时HttpServletRequest类型的参数表示封装了当前请求的请求报文的对象 ..
2022-05-23 15:53:29 83
原创 springMVC中的@RequestMapping注解
目录 1、@RequestMapping注解的功能 2、@RequestMapping注解的位置 3、@RequestMapping注解的value属性 4、@RequestMapping注解的method属性 5、@RequestMapping注解的params属性(了解) 6、@RequestMapping注解的headers属性(了解) 7、SpringMVC支持ant风格的路径 8、SpringMVC支持路径中的占位符(重点) 杨博超老师的笔记 1、@RequestM...
2022-05-23 15:44:14 113
原创 使用springMVC在页面显示helloworld
目录 1、开发环境 2、创建maven工程 3、配置web.xml 4、创建请求控制器 5、创建springMVC的配置文件 6、测试HelloWorld 7、总结:从浏览器发送开始到视图展示的流程 1、开发环境 IDEA 2019.3 构建工具:maven3.5.4 服务器:tomcat8 Spring版本:5.2.6 2、创建maven工程 a>添加web模块 b>打包方式:war <packaging>war</packaging&
2022-05-22 17:55:14 367
原创 SpringMVC简介、拦截器执行流程、DispatcherServlet 处理流程
目录 1、什么是MVC 2、什么是SpringMVC 3、SpringMVC的特点 一、拦截器执行流程: 二、DispatcherServlet 处理流程 1、什么是MVC MVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分 M:Model,模型层,指工程中的JavaBean,作用是处理数据 JavaBean分为两类: 一类称为实体类Bean:专门存储业务数据的,如 Student、User 等 一类称为业务处理 Bean:指 Service 或 Dao 对
2022-05-22 17:22:06 1670
原创 spring中的事务、事务的四个特性(ACID)、Transactional注解里面可以配置的相关参数:
目录 1.什么是事务? 2、事务四个特性(ACID) 3、典型场景:银行转账 在spring中进行事务管理 1、事务添加到 JavaEE 三层结构里面 Service 层(业务逻辑层) 2、在 Spring 进行事务管理操作 3、声明式事务管理 4、在 Spring 进行声明式事务管理,底层使用 AOP 原理 5、Spring 事务管理 API 4、详细步骤: 5、@Transactional注解里面可以配置的相关参数: 1、propagation:事务传播行为由传播属性来指定。以下
2022-05-14 20:16:33 542
原创 spring中的jdbcTemplate操作数据库
目录 1、什么是 JdbcTemplate 2、准备工作 (1)引入相关 jar 包 (2)在 spring 配置文件配置数据库连接池 (3) xml文件中配置信息 (4)创建 service 类,创建 dao 类,service中注入dao;dao 注入 jdbcTemplate 对象 (5).创建数据库对应的实体类 (6)编写service(这里一般编写逻辑代码) 和 dao(这里一般编写的是和数据库交互的代码) (7)测试 (8)结果 总结: jdbcTemplate不同场景调.
2022-05-12 21:30:46 377
原创 spring中的AOP
目录 一、什么是AOP AOP底层: 1.第一种 有接口情况,使用 JDK 动态代理 2.第二种 没有接口情况,使用 CGLIB 动态代理 二、使用到的方法 1、使用 JDK 动态代理,使用 Proxy 类里面的方法创建代理对象 AOP中的术语: 三、AOP操作的准备工作 1、Spring 框架一般都是基于 AspectJ 实现 AOP 操作 2、基于 AspectJ 实现 AOP 操作 3、在项目工程里面引入 AOP 相关依赖 4、切入点表达式 四、AOP操作:使用Aspect.
2022-05-12 21:10:56 118
原创 spring5框架中的IOC容器
目录 一、什么是IOC? 二、IOC底层原理: 三、IOC容器 四、IOC操作Bean管理: xml方式: 创建对象的配置操作: 属性注入的配置操作: 注解方式: 1、Spring 针对 Bean 管理中创建对象提供注解 2、实现对象创造 3、开启组件扫描配置的细节 4、实现属性注入 bean生命周期: 使用idea学习,首先要先导入jar包: 一、什么是IOC? 1.控制反转,把对象创建和对象之间的调用的操作交给了Sprin...
2022-05-10 21:16:19 239
原创 Filter过滤器、Listener监听器
目录 Filter过滤器 当前的OA项目存在什么缺陷? Filter是什么,有什么用,执行原理是什么? 一个过滤器怎么写呢? 目标Servlet是否执行,取决于两个条件: chain.doFilter(request, response); 这行代码的作用: 注意:Filter的优先级,天生的就比Servlet优先级高。 关于Filter的配置路径: 在web.xml文件中进行配置的时候,Filter的执行顺序是什么? Filter的生命周期? Filter过滤器这里有一个设计模式:.
2022-05-08 15:17:31 214
原创 JSP、EL表达式、JSTL标签库
目录 JSP实际上就是一个Servlet。 jsp文件第一次访问的时候是比较慢的,为什么? 第二次就比较快了,为什么? JSP既然本质上是一个Servlet,那么JSP和Servlet到底有什么区别呢? JSP的基础语法 JSP的九大内置对象 EL表达式 EL表达式出现在JSP中主要是: EL表达式很好用,基本的语法格式: EL表达式优先从小范围中读取数据。 EL表达式中有四个隐含的隐式的范围: EL表达式取数据的时候有两种形式: page指令当中,有一个属性,可以忽略EL表达式
2022-05-08 15:07:31 205
原创 关于B/S结构系统的会话机制(session机制)以及cookie机制
目录 session 什么是会话? 为什么需要session对象来保存会话状态呢? 为什么不使用request对象保存会话状态?为什么不使用ServletContext对象保存会话状态? session的实现原理: Cookie禁用了,session还能找到吗? 总结一下到目前位置我们所了解的域对象: session掌握之后,我们怎么解决oa项目中的登录问题,怎么能让登录起作用。 销毁session对象: Cookie cookie怎么生成?cookie保存在什么地方?cookie有.
2022-05-08 14:44:25 316
原创 web应用中的转发和重定向完成资源的跳转
目录 在一个web应用中通过两种方式,可以完成资源的跳转: 转发和重定向有什么区别? 代码上有什么区别? 形式上有什么区别? 转发和重定向的本质区别? 使用一个例子去描述这个转发和重定向 转发和重定向应该如何选择?什么时候使用转发,什么时候使用重定向? 跳转的下一个资源有没有要求呢?必须是一个Servlet吗? 转发会存在浏览器的刷新问题。 (老杜的笔记) 在一个web应用中通过两种方式,可以完成资源的跳转: 第一种方式:转发 第二种方式:重定..
2022-05-08 14:25:01 491
原创 HttpServletRequest接口详解
目录 HttpServletRequest接口中有哪些常用的方法? request对象实际上又称为“请求域”对象。 ServletContext当中有三个操作域的方法: 请求域对象也有这三个方法: 转发(一次请求) 两个Servlet怎么共享数据? 关于request对象中两个非常容易混淆的方法: (老杜的笔记) HttpServletRequest是一个接口,全限定名称:jakarta.servlet.http.HttpServletRequest HttpSe..
2022-05-08 14:17:59 736
原创 关于一个web站点的欢迎页面
(老杜的笔记) 什么是一个web站点的欢迎页面? 对于一个webapp来说,我们是可以设置它的欢迎页面的。 设置了欢迎页面之后,当你访问这个webapp的时候,或者访问这个web站点的时候,没有指定任何“资源路径”,这个时候会默认访问你的欢迎页面。 我们一般的访问方式是: http://localhost:8080/servlet06/login.html 这种方式是指定了要访问的就是login.html资源。 如果我们.
2022-05-07 21:26:41 575
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人