![](https://img-blog.csdnimg.cn/20190918140053667.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java后端
Java后端所用框架及技术
大磊程序员(“hello world”)
debug
展开
-
springboot项目使用redis进行验证码验证
(46条消息) Redis入门及Spring整合redis_大磊程序员(轻大)的博客-CSDN博客_redis基础spring。调用Producer 得到验证码,并且存储到redis数据库中,可以设置存储时间等一些参数。调用redisTemplate进行读取验证码,进而验证。原创 2022-10-22 10:55:19 · 1136 阅读 · 0 评论 -
Springboot项目导出和导入ex表教程
将实体类添加tableName注解,值和数据库表要一致;doAfterAllAnalysed()方法:读取完之后的操作。MultipartFile可以接收前端传递过来的文件。invoke()方法:一行一行的读取ex表的数据。原创 2022-10-22 10:45:57 · 549 阅读 · 0 评论 -
EasyExcel介绍及使用
EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目。在尽可能节约内存的情况下支持读写百M的Excel。 进行写入操作 测试成功原创 2022-07-12 19:57:04 · 542 阅读 · 0 评论 -
解决项目跨域问题
在controller类上面加个注解@CrossOrign原创 2022-07-05 16:00:11 · 101 阅读 · 0 评论 -
Java后端项目中如何统一返回结果定义
1、创建一个枚举类的结果码,在其中定义一些枚举类型常量,以便使用。2、创建一个返回结果类,在其中定义三个成员变量:结果码、结果消息、需要返回的结果数据,并且定义一些方法用来判断操作、返回数据等是否成功。...原创 2022-06-22 23:33:11 · 740 阅读 · 0 评论 -
SpringBoot整合swagger
1.在pom中引入swagger依赖2.编写配置类 可以直接将这个配置类复制到项目中,可以更改一下这些描述和接口路径 3.将项目再次刷x新启动一下,在浏览器中输入http://localhost:8201/swagger-ui.html端口号为自己项目的端口号,就会出现以下界面,即为整合成功......原创 2022-06-14 23:43:39 · 1360 阅读 · 0 评论 -
JDK线程池和Spring线程池
JDK线程池JDK普通线程池@RunWith(SpringRunner.class)@SpringBootTest@ContextConfiguration(classes = CommunityApplication.class)public class ThreadPoolTests { private final Logger logger= LoggerFactory.getLogger(ThreadPoolTests.class); //JDK普通线程池原创 2022-05-03 23:09:54 · 1475 阅读 · 0 评论 -
不会还有人不知道Spring可以整合Quartz吧(详细介绍)
首先咱先来了解一下JDK和Spring线程池对于解决定时任务的问题在分布式服务器的情况下,每台服务器代码一致,当有controller请求时,会只有一台服务器进行处理,但是在定时任务的情况下,每台服务器都会进行定时任务,程序运行的参数存在内存当中,每台服务器的信息不能共享,不知道其他服务器正在干什么,所以说此时系统就会出现问题。所以才采取Quartz进行解决定时任务的问题使用Quartz的时候,程序运行的参数会存在数据库当中,因为数据只有一个,当一台服务器进行访问数据当中的任务参数时,如原创 2022-05-03 22:33:15 · 1457 阅读 · 0 评论 -
Redis高级数据类型(HyperLogLog、Bitmap)
HyperLogLog采用一种基数算法,用于完成独立总数的统计。 占据空间小,无论统计多少个数据,只占12k的内存 不精确的统计算法,标准误差为0.81%当数据量较大,但是不要求精确值的时候可以使用HyperLogLog使用 //统计20万重复数字的独立总数(就是去重之后的总数) @Test public void testHyperLogLog(){ String redisKey="test:hll:01"; for(int i=原创 2022-04-30 14:14:05 · 1822 阅读 · 0 评论 -
采用security按照权限分配进行页面按钮显示
1、在页面上添加一个命名空间xmlns:sec="http://www.thymeleaf.org/extras/spring-security"2、在页面按钮上添加权限属性<button type="button" class="btn btn-danger btn-sm" id="topBtn" th:disabled="${post.type==1} " sec:authorize="hasAnyAuthority('moderator')">置顶<原创 2022-04-29 23:33:45 · 373 阅读 · 0 评论 -
CSRF攻击、防止CSRF攻击原理及配置
CSRF攻击当用户在浏览器访问服务器,服务器给用户返回一个表单时,用户的ticket身份凭证会存放在cookie当中,如果用户在提交表单前去浏览病毒网站,病毒网站会窃取cookie信息,获得凭证,此时表单提交的目标也是已知,所以病毒网站会通过post请求模拟用户发送请求,这样用户的财产安全就会受到侵犯。Security底层防止CSRF攻击方式当服务器想用户返回一个表单页面的时候,会顺便发送一个隐藏域,存储着tocken,是随机生成的,每次都是不同的,当CSRF攻击时候,虽然ticket凭证信原创 2022-04-23 18:03:54 · 1048 阅读 · 2 评论 -
判断请求是异步请求和普通请求
String xrequestedwith =request.getHeader(x-requested-with)if("XMLHttpRequest".equals(xrequestedwith )){//此请求是异步请求}eles{//此请求是普通请求}得到请求头信息,在请求头信息里面装载着请求信息,(x-requested-with),获取之后,与XMLHttpRequest进行判断,如果相同即为异步请求。...原创 2022-04-23 00:03:41 · 718 阅读 · 0 评论 -
Spring Security简介及SpringBoot整合Security
Spring Security简介简介Spring Security是一个专注于为Java应用程序提供身份认证和授权的框架,它的强大之处在于它可以轻松扩展以满足自定义的需求。特点对身份的认证和授权提供全面的、可扩展的支持。 防止各种攻击,如会话固定攻击、点击劫持、csrf攻击等。 支持Servlet API、SpringMVC等Web技术集成。SpringBoot整合Security1、引入依赖<dependency> <groupId>org..原创 2022-04-16 21:46:24 · 1329 阅读 · 0 评论 -
Elasticsearch技术
Elasticsearch入门Elasticsearch简介一个分布式的、Restful风格的搜索引擎。 支持对各种类型的数据的检索 搜索速度快,可以提供实时的搜索服务 便于水平扩展,每秒可以处理PB级海量数据Elasticsearch术语索引(一个索引相当于一个表) 类型(已经废弃,在6版本中类型是统一的) 文档(对应的是表的行) 字段(对应的是表的列) 集群(一台或多个Elasticsearch服务器组合在一块) 节点(集群中的每台服务器) 分片(一个索引在存储的时候可以原创 2022-04-07 20:01:54 · 1627 阅读 · 0 评论 -
SpringMVC简介
SpringMVC的简单了解、简介原创 2022-03-23 17:45:58 · 691 阅读 · 0 评论 -
SpringBoot报错: Correct the classpath of your application so that it contains a single ...
SpringBoot报错: Correct the classpath of your application so that it contains a single ...原创 2022-03-19 19:20:10 · 709 阅读 · 0 评论 -
spring阻塞队列(Kafka入门使用)、发送系统消息的应用
BlockingQueue解决线程通信的问题阻塞方法:put、take生产者消费者模式生产者:产生数据的线程消费者:使用数据的线程实现类ArrayBlockingQueueLinkedBlockingQueueProityBlockingQueue、SynchronousQueue、DelayQueue样例代码package com.nowcoder.community;import org.junit.Test;import java.util..原创 2022-03-16 23:29:05 · 2560 阅读 · 0 评论 -
Spring5新功能-Webflux响应式编程
1、SpringWebflux介绍(1)是Spring5添加新的模块,用于web开发的,功能和springMVC类似的,webflux使用当前一种比较流行响应式编程出现的框架(2)使用传统的Web框架,比如SpringMVC,这些基于Servlet容器,Webflux是一种一部非阻塞的框架,异步非阻塞的框架在Servlet3.1以后才支持,核心是基于Reactor的相关API实现的(3)什么是异步非阻塞异步和同步针对于调用者,调用者发送请求,如果等着对方回应之后才去做其他事情就是同步,如果发原创 2022-03-16 22:30:45 · 1081 阅读 · 1 评论 -
Spring框架(JdbcTemplate)
1、什么是JdbcTempalte(1)Spring框架对JDBC进行封装,使用JdbcTemplate方面实现对数据库操作2、准备工作(1)引入相关jar包原创 2022-03-12 14:22:46 · 203 阅读 · 0 评论 -
AOP详解
AOP、动态代理对象原创 2022-03-08 18:27:47 · 1019 阅读 · 0 评论 -
IOC操作Bean管理(设置单实例对象和多实例对象)
IOC操作Bean管理(设置单实例对象和多实例对象)原创 2022-03-02 11:09:51 · 503 阅读 · 0 评论 -
动态修改隐藏域的值
如何动态修改隐藏域<input type="hidden" name="action" value="xxx"/>让它的值既可以实现添加操作,又可以实现修改操作解决方案一可以在请求发起时,附带上当前要操作的值。并注入到隐藏域中。解决方案二可以通过判断当前请求参数中是否包含有id参数。如果有说明是修改操作,如果没有说明是添加操作${empty param.id ? "add" : "update"}解决方案三可以通过判断request域中是否包含有修改的图书信息对象,如果没原创 2022-01-04 20:49:58 · 283 阅读 · 0 评论 -
文件的上传和下载
文件的上传和下载文件的上传和下载,是非常常见的功能。很多系统中,或者软件中都经常使用文件的上传和下载。文件的上传介绍(****重点)1、要有一个form标签,method=post请求2、form标签的encType属性必须为mutipart/form-data值3、在form标签中使用input type=file添加上传的文件4、编写服务器代码接收,处理上传的数据...原创 2021-11-15 16:06:26 · 208 阅读 · 0 评论 -
谷歌验证码的使用
使用步骤1、导入谷歌验证码的jar包kaptcha-2.3.2.jar2、在web.xml中配置用于生成验证码的Servlet程序<servlet><servlet-name>KaptchaServlet</servlet-name><servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class></servlet><原创 2022-01-11 21:54:52 · 2530 阅读 · 0 评论 -
MVC概念
MVC全称:Model 模型、View视图、Controller控制器。MVC最早出现在JavaEE中的Web层,它可以有效的指导Web层的代码是如何有效分离,单独工作。View视图:只负责数据和页面的显示,不接受任何与显示数据无关的代码,便于程序员和美工的分工合作--JSP/HTML。Controller控制器:只负责接收请求,调用业务层的代码处理请求,然后派发页面,是一个调度者的角色--Servlet。Model模型:将与业务逻辑相关的数据封装为具体的javabean类,其中不参杂任何与原创 2022-01-01 11:11:11 · 140 阅读 · 0 评论 -
JSTL标签库学习
JSTL认识JSTL标签库 全称是指JSP Standard Tag Library JSP标准标签库。是一个不断完善的开放源代码的JSP标签库EL表达式主要是为了替换jsp中的表达式脚本,而标签库是为了替换代码脚本。这样使得整个jsp页面变得更佳简洁JSTL由五个不同功能的标签库组成。功能范围 URl 前缀 核心标签库--重点 http://java.sun.com/jsp/jstl/core c 格式化 http://java.sun....原创 2021-11-11 22:39:39 · 809 阅读 · 0 评论 -
MVC实现分页功能
原创 2022-01-05 14:28:21 · 646 阅读 · 0 评论 -
会话管理(HTTP、Cookie、Session)
HTTP的基本性质HTTP是简单的HTTP是可扩展的HTTP是无状态的,有会话的Cookie是服务器发送到浏览器,并保存在浏览器端的一小块数据。是浏览器下次访问该服务器时,会自动携带块该数据,将其发送给服务器Session是JavaEE的标准,用于在服务端记录客户端信息 数据存放在服务端更加安全,但是也会增加服务端的内存压力...原创 2022-01-19 21:26:22 · 214 阅读 · 0 评论 -
Spring中上传文件处理详细说明
SpringMVC:通过MultipartFile处理上传文件原创 2022-01-21 20:29:44 · 837 阅读 · 0 评论 -
拦截器的使用及应用
定义拦截器,实现HandlerInterceptorpackage com.nowcoder.community.controller.Interceptor;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.stereotype.Component;import org.springframework.web.servlet.HandlerInterceptor;import原创 2022-01-21 12:13:45 · 481 阅读 · 0 评论 -
ThreadLocal的使用
ThreadLocal的作用,它可以解决多线程的数据安全问题ThreadLocal它可以给当前线程关联一个数据(可以是普通变量,可以是对象,也可以是数组,集合)ThreadLocal的特点1、ThreadLocal可以为当前线程关联一个数据。(它可以像Map一样存取数据,key为当前线程)2、每一个ThreadLocal对象,只能为当前线程关联一个数据,如果要为当前线程关联多个数据,就需要使用多个ThreadLocal对象实例3、每个ThreadLocal对象实例定义的时候,一般都是st原创 2022-01-14 11:11:37 · 180 阅读 · 0 评论 -
SpringBoot使用kaptcha.jar生成验证码详细
1.从Mvn中复制kaptcha的Mavenhttps://mvnrepository.com/artifact/com.github.penggle/kaptcha/2.3.2<dependency> <groupId>com.github.penggle</groupId> <artifactId>kaptcha</artifactId> <version>2.3.2</version>&原创 2022-01-20 16:15:13 · 599 阅读 · 0 评论 -
自定义注解
拦截器,自定义注解原创 2022-01-21 21:00:37 · 671 阅读 · 0 评论 -
使用AJAX
AJAX Asynchronous JavaScript and XML异步的JavaScript与XML,不是一门新技术,只是一个新的术语使用AJAX,网页能够将增量更新呈现在页面上,而不需要刷新整个页面虽然X代表XML,但目前JSON的使用比AJAX更加普遍 示例 使用jQuery发送AJAX请求 实践 采用AJAX请求,实现发布帖子的功能...原创 2022-01-25 16:24:27 · 674 阅读 · 0 评论 -
事务管理详细说明及Spring事务管理
什么是事务事务是由N步数据库操作序列组成的逻辑执行单元,这系列操作要么全执行,要么全放弃执行。事务的特性(ACID)原子性(Atomicity):事务是应用中不可再分的最小执行体 一致性(Consistency):事务执行的结果,须使数据从一个一致性状态,变为另一个一致性状态 隔离性(Isolation):各个事务的执行互不干扰,任何事务的内部操作对其他的事务都是隔离的 持久性(Durability):事务一旦提交,对数据所做的任何改变都要记录到永久存储器中。事务的隔离性常见的并发异原创 2022-01-26 16:44:06 · 1302 阅读 · 0 评论 -
统一处理异常
@ControllerAdivice用在修饰类,表示该类是Contorller的全面配置类。在此类中,可以对Controller进行如下三种全局配置:异常处理方案、绑定数据方案、绑定参数方案@ExceptionHandler用于修饰方法,该方法会在Controller出现异常后被调用,用于处理捕获到的异常。@ModelAttribute用于修饰方法,该方法会在Controller方法执行前被调用,用于为Model对象绑定参数@DataBinder用于修饰方法,该方法会在Contro.原创 2022-02-05 16:29:47 · 135 阅读 · 0 评论 -
使用数据结构过滤敏感词算法
前缀树名称:Tire、字典树、查找树特点:查找效率高,消耗内存大应用:字符串检索、词频统计、字符串排序等敏感词过滤器定义前缀树package com.nowcoder.community.util;import org.springframework.stereotype.Component;import java.util.HashMap;import java.util.Map;@Componentpublic class SensitiveFilter {原创 2022-01-23 21:37:53 · 1434 阅读 · 0 评论 -
统一记录日志(AOP的使用)
AOP的概念AspectOrientedPrograming即面向方面(切面)编程AOP是一种编程思想,是对OOP的补充,可以进一步提高编程的效率。AOP的术语AOP的实现AspectJAspectJ是语言级的实现,它扩展了Java语言,定义了AOP语法AspectJ在编译期织入代码,它有一个专门的编译器,用来生成遵守Java字节码规范的class文件。Spring AOPSpring AOP使用纯Java实现,它不需要专门的编译过程,也不需要特殊的类装载器。Sp..原创 2022-02-05 22:21:30 · 309 阅读 · 0 评论 -
IOC容器详解
IOC原创 2022-02-24 19:50:29 · 1561 阅读 · 0 评论 -
Redis入门及Spring整合redis
redis介绍Redis是一款基于键值对的NoSQL数据库,它的值支持多种数据结构: 字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)等。 Redis将所有的数据都存放在内存中,所以它的读写性能十分惊人。 同时,Redis还可以将内存中的数据以快照或日志的形式保存到硬盘上,以保证数据的安全性。 Redis典型的应用场景包括:缓存、排行榜、计数器、社交网络、消息队列等。redis基本命令字符串加一减一哈...原创 2022-02-06 19:29:10 · 1279 阅读 · 2 评论