202109-17 SpringBoot下载Excel文件时,报错文件损坏的解决方案 SpringBoot下载Excel文件文件损坏我把模板文件放在了resources目录下maven插件打包项目的时候,默认会压缩resources目录下的文件。服务器读取的文件流来自于压缩后的文件,而返回给浏览器时,浏览器把他当作正常的文件解析,自然不能得到正确的结果。解决方案:配置一下maven插件,打包的时候不要压缩模板文件,排除拓展名为xlsx的文件。<plugin><groupId>org.apache.maven.plugins</groupId>... 继续阅读 >
202109-16 SpringBoot+Redis实现后端接口防重复提交校验的示例 目录1Maven依赖2 RepeatedlyRequestWrapper3 RepeatableFilter4 RepeatSubmit5 RepeatSubmitInterceptor6 RepeatSubmitConfig7 RepeatSubmitController1Maven依赖<!--redis缓存--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><!--阿里JSON解析器-... 继续阅读 >
202109-16 SpringBoot配置Redis实现保存获取和删除数据 目录1 Redis2Maven依赖3application.propertis4RedisConfig5RedisService6调试代码 7调试结果1 RedisRedis是完全开源的,遵守BSD协议,是一个高性能的key-value数据库。Redis与其他key-value缓存产品有以下三个特点:(1)Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。(2)Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,ha... 继续阅读 >
202109-16 springboot项目如何防止XSS攻击 目录1.什么是XSS攻击?2.如何防范?2.1什么时候注入请求参数3.具体处理细节1.什么是XSS攻击? XSS攻击全称跨站脚本攻击,是一种在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。也就是作恶的用户通过表单提交一些前端代码,如果不做处理的话,这些前端代码将会在展示的时候被浏览器执行。2.如何防范?有两种方式,一种是一些特殊字符转义,另一种是去除一些... 继续阅读 >
202109-16 SpringBoot实现线程池 现在由于系统越来越复杂,导致很多接口速度变慢,这时候就会想到可以利用线程池来处理一些耗时并不影响系统的操作。新建SpringBoot项目1.ExecutorConfig.xml新建线程池配置文件。@Configuration@EnableAsyncpublicclassExecutorConfig{privatestaticfinalLoggerlogger=LoggerFactory.getLogger(ExecutorConfig.class);@Value("${async.executor.thread.core_pool_size}")privateintcorePoolSize;@Val... 继续阅读 >
202109-16 springboot+springsecurity如何实现动态url细粒度权限认证 谨记:Url表只储存受保护的资源,不在表里的资源说明不受保护,任何人都可以访问1、MyFilterInvocationSecurityMetadataSource类判断该访问路径是否被保护@Component//用于设置受保护资源的权限信息的数据源publicclassMyFilterInvocationSecurityMetadataSourceimplementsFilterInvocationSecurityMetadataSource{@BeanpublicAntPathMatchergetAntPathMatcher(){returnnewAntPathMatcher();... 继续阅读 >
202109-14 Springboot开发OAuth2认证授权与资源服务器操作 设计并开发一个开放平台。一、设计:网关可以与认证授权服务合在一起,也可以分开。二、开发与实现:用Oauth2技术对访问受保护的资源的客户端进行认证与授权。Oauth2技术应用的关键是:1)服务器对OAuth2客户端进行认证与授权。2)Token的发放。3)通过access_token访问受OAuth2保护的资源。选用的关键技术:Springboot,Spring-security,Spring-security-oauth2。提供一个简化版,用户、token数据保存在内存中,用户与客户端的... 继续阅读 >
202109-14 基于springboot i18n国际化后台多种语言设置的方式 之前有做过手机端后台的国际化,因为手机统一传递了language参数所以只要设置LocaleChangeInterceptor就行了/***配置国际化语言*/@ConfigurationpublicclassLocaleConfigextendsWebMvcConfigurerAdapter{/***默认解析器其中locale表示默认语言*/@BeanpublicLocaleResolverlocaleResolver(){SessionLocaleResolverlocaleResolver=newSessionLocaleResolver();localeResolver.se... 继续阅读 >
202109-14 springBoot基于webSocket实现扫码登录 最近单位又有一个新Java项目。涉及到扫码登录。之前项目使用的是ajax轮询的方式。感觉太low了。所以这次用webSocket的方式进行实现好。废话不多说!咱们开始!!一、首先咱们需要一张表这表是干啥的呢?就是记录一下谁扫码了。谁登录了。User_Token表字段如下:1、uuid:用于确保唯一性2、userId:谁登录的3、loginTime:登录时间4、createTime:创建时间用于判断是否过期5、state:是否二维码失效 0有效1失效二... 继续阅读 >
202109-13 SpringBoot与Postman实现REST模拟请求的操作 前言Postman是一款Http请求模拟工具.它可以模拟各种HttpRequest,使用起来十分的方便.使用背景利用SpringBoot快速搭建一个Web应用,利用相同的url,不同的请求方式来调用不同的方法.最后利用Postman工具模拟实现.实现方法利用IDEA快速构建应用环境<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>... 继续阅读 >
202109-13 SpringBoot 自动配置原理及源码解析 初始化一个Springboot项目,在主启动类会有这么一个注解:@SpringBootApplication,自动装配的秘密全在主启动类这个注解里面了点进去一层会发现有三个子注解组成,分别是@SpringBootConfiguration、@ComponentScan和@EnableAutoConfiguration接下来分别解释这三个注解在整个自动装配过程中的作用1、@SpringBootConfiguration点进去发现它是@Configure,代表当前是一个配置类,意思就是当前这个主启动类是一个配置类,当然也在Spring... 继续阅读 >
202109-10 SpringBoot 项目添加 MDC 日志链路追踪的执行流程 目录1.线程池配置2.拦截器配置3.日志文件配置4.使用方法示例4.1.异步使用4.2.定时任务日志链路追踪的意思就是将一个标志跨线程进行传递,在一般的小项目中也就是在你新起一个线程的时候,或者使用线程池执行任务的时候会用到,比如追踪一个用户请求的完整执行流程。这里用到MDC和ThreadLocal,分别由下面的包提供:java.lang.ThreadLocalorg.slf4j.MDC直接上代码:1.线程池配置如果你直接通过手动新建线程来执行异步任务,... 继续阅读 >
202109-10 SpringBoot+MyBatis实现登录案例 1.创建一个SpringBoot项目2.创建表createdatabaselogin;uselogin;createtableuserlogin(usernamevarchar(49),passwordvarchar(49))3.idea连接mysql4.创建实体类UserLogin@Data@AllArgsConstructor@NoArgsConstructor@Table(name="userlogin")/*<dependency><groupId>javax.persistence</groupId><artifactId>persistence-api</artifactId><version>1.0</version>... 继续阅读 >
202109-10 SpringBoot部署到Linux读取resources下的文件及遇到的坑 下面看下SpringBoot工程在Linux上运行读取resources资源文件夹下的文件背景平时的业务开发中,我们通常会将一些固定不变的资源文件放到resources文件夹下,使用时通过相对路径获取文件,看是非常简单的一个功能其中似乎也有一些小坑,例如获取到的文件内容乱码亦或者文件读取不到。读取乱码这个很简单哈,在maven插件中指定后续要获取的文件不进行编译,原样打进包内<plugin><groupId>org.apache.maven.plugins</groupId>... 继续阅读 >
202109-10 spring boot 加载web容器tomcat流程源码分析 我本地的springboot版本是2.5.1,后面的分析都是基于这个版本<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.1</version><relativePath/><!--lookupparentfromrepository--></parent>我们通过在pom文件中引入<dependency><groupId>org.springframework.boot</groupId><artifactId>spr... 继续阅读 >
202109-10 Springboot项目中运用vue+ElementUI+echarts前后端交互实现动态圆环图(推荐) 目录如何运用vue+echarts前后端交互实现动态饼图前言一、环境配置1.1安装acharts1.2全局引用二、圆环图前端实现 2.1先在vue页面添加渲染盒子2.2前端逻辑实现部分2.3展示(可按自己需求更改前端样式)三、前后端数据交互实现3.1创建数据库3.2后台代码的编写如何运用vue+echarts前后端交互实现动态饼图前言我们做项目的时候,常常需要一些统计图来展示我们的数据,作为web开发人员,会实现统计图是我们必会的技能。我将... 继续阅读 >