字符编码过滤器CharacterEncodingFilter一、在web.xml中的配置<!--characterEncodingFilter字符编码过滤器--><filter><filter-name>characterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><!--要使用的字符集,一般我们使用UTF-8(保险起见UTF-8最好)--><param-name>encoding</param-name><param-value>UTF-8</param-value>...
继续阅读 >
分类:全部列表
2022
03-16
03-16
Java基础概述面试题复习
目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系JVMJREJDK什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别OracleJDK和OpenJDK的对比总结Java概述何为编程编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过...
继续阅读 >
2022
03-16
03-16
Spring计时器stopwatch使用详解
StopWatch是位于org.springframework.util包下的一个工具类,通过它可方便的对程序部分代码进行计时(ms级别),适用于同步单线程代码块。正常情况下,我们如果需要看某段代码的执行耗时,会通过如下的方式进行查看:publicstaticvoidmain(String[]args)throwsInterruptedException{StopWatchTest.test0();//StopWatchTest.test1();}publicstaticvoidtest0()throwsInterruptedException{long...
继续阅读 >
2022
03-16
03-16
Springboot 如何实现filter拦截token验证和跨域
Springbootfilter拦截token验证和跨域背景web验证授权合法的一般分为下面几种使用session作为验证合法用户访问的验证方式使用自己实现的token使用OCA标准在使用API接口授权验证时,token是自定义的方式实现起来不需要引入其他东西,关键是简单实用。合法登陆后一般使用用户UID+盐值+时间戳使用多层对称加密生成token并放入分布式缓存中设置固定的过期时间长(和session的方式有些相同),这样当用户访问时使用token可...
继续阅读 >
2022
03-16
03-16
python实现CTC以及案例讲解
在大多数语音识别任务中,我们都缺少文本和音频特征的alignment,ConnectionistTemporalClassification作为一个损失函数,用于在序列数据上进行监督式学习,可以不需要对齐输入数据及标签。对于输入序列X=[x1,x...
继续阅读 >
2022
03-16
03-16
SpringBoot开发实战系列之动态定时任务
目录前言代码编写效果演示启动修改停止后记前言定时器是我们项目中经常会用到的,SpringBoot使用@Scheduled注解可以快速启用一个简单的定时器(详情请看我们之前的博客《SpringBoot系列——定时器》),然而这种方式的定时器缺乏灵活性,如果需要对定时器进行调整,需要重启项目才生效,本文记录SpringBoot如何灵活配置动态定时任务代码编写首先先建表,重要字段:唯一表id、Runnable任务类、Cron表达式,其他的都是一些额外补...
继续阅读 >
2022
03-16
03-16
关系型数据库与非关系型数据库简介
目录关系型数据库:OracleSQLServerSybaseInformixAccessDB2mysqlvfpIngersFoxPro非关系型数据库:MongoDBCassandraCouchDBHypertableRedisRiakNeo4jHadoopHBaseCouchbaseMemcacheDBREVENDBVoldemort关系型数据库与非关系型数据库的对比关系型数据库:关系型数据库的优势:保持数据的一致性(事务处理)由于以标准化为前提,数据更新的开销很小(相同的字段基本上都只有一处)可以进行Join等复杂查询缺点:高并发...
继续阅读 >
2022
03-16
03-16
SpringBoot开发实战系列之定时器
前言定时器功能在项目里面往往会用到,比如定时发送邮件、定时释放数据库资源;这里记录一下springboot对定时器的支持的简单实例cron表达式开始之前要先介绍一下cron表达式,这里当一下百度百科搬运工:Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式:SecondsMinutesHoursDayofMonthMonthDayofWeekYear或SecondsMinutesHoursDayofMonthMonthDa...
继续阅读 >
2022
03-16
03-16
idea推送项目到gitee中的创建方法
目录springboot初始化器新建项目项目结构idea工具类中初始化本地git仓库add到缓存区commit到本地库文件颜色状态描述gitee初始化远程仓库idea中建立远程仓库push推送到远程仓库push报错pull拉起远程仓库springboot初始化器新建项目项目结构idea工具类中初始化本地git仓库选择当前项目目录即可工具类由VCS变成了Gitadd到缓存区对红色文件右键,选择git-->add,添加到缓存区中。也可以选择整个目录一起进行添加。commit到本地库选...
继续阅读 >
2022
03-16
03-16
Spring:如何使用枚举参数
目录 枚举参数确认需求定义枚举Converter和ConverterFactory加载配置测试总结 枚举参数接口开发过程中不免有表示类型的参数,比如0表示未知,1表示男,2表示女。通常有两种做法,一种是用数字表示,另一种是使用枚举实现。使用数字表示就是通过契约形式,约定每个数字表示的含义,接口接收到参数,就按照约定对类型进行判断,接口维护成本比较大。在Spring体系中,使用枚举表示,是借助Spring的Converter机...
继续阅读 >
2022
03-16
03-16
如何设计一个安全的API接口详解
目录前言一安全性问题1.1调用接口的先决条件-token1.2使用POST作为接口请求方式1.3客户端IP白名单1.4单个接口针对ip限流1.5记录接口请求日志1.6敏感数据脱敏二幂等性问题三数据规范问题3.1版本控制3.2响应状态码规范3.3统一响应数据格式总结前言在日常开发中,总会接触到各种接口。前后端数据传输接口,第三方业务平台接口。一个平台的前后端数据传输接口一般都会在内网环境下通信,而且会使用安全框架,所以安全性可...
继续阅读 >
2022
03-16
03-16
5分钟搭建redis集群(redis5.0.5)
环境:centos71:下载并安装redis$wgethttp://download.redis.io/releases/redis-5.0.5.tar.gz$tarxzfredis-5.0.5.tar.gz$cdredis-5.0.5$makeredis5.0版本集群搭建不需要我们安装ruby就可以搭建成功,并且redis给我们提供了快速搭建脚本,执行utils/create-cluster/目录下的create-cluster脚本就可以快速搭建,该脚本提供以下几个命令供我们使用echo"Usage:$0[start|create|stop|watch|tail|clean]"echo"start...
继续阅读 >
2022
03-16
03-16
解决springboot整合druid遇到的坑
springboot整合druid的坑项目环境springboot2.1.6.RELEASEjdk1.8pom.xml配置<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><g...
继续阅读 >
2022
03-16
03-16
初探Spring Cloud Gateway实战
目录关于SpringCloudGateway版本信息经典配置中的核心概念启动nacos-2.0.3源码下载《SpringCloudGateway实战》系列的父工程创建名为common的子工程,存放共用的常量和数据结构创建web应用,作为服务提供方开发一个简单的demo,完成spring-cloud-gateway的初体验总结关于SpringCloudGateway这是一个基于Spring技术栈构建的API网关,涉及到:Spring5、SpringBoot2、Reactor等,目标是为项目提供简单高效的API路由,以及...
继续阅读 >
2022
03-16
03-16
Python中matplotlib如何改变画图的字体
事情是这样的:平时我汇报或者写论文需要画图,都会喜欢用Python的matplotlib和seaborn把数据📊📈和分析结果🗂直接画出来,因为这样太方便,而且解析度非常高。然而,今天老板说想需要我总结下我的分析结果,然后ta说不喜欢matplotlib的字体,让我改一改。但是,JupyterNotebook一直报错说:Findfont:Fontfamily[‘sans-serif‘]notfound.FallingbacktoDejaVuSans.搞得我很头疼🤯...
继续阅读 >
2022
03-16
03-16
如何利用jwt来保护你的接口服务
目录前言一、JWT是什么HeadersPlayloadSignature二、JWT生成和解析token三、token续签问题总结前言以前写过一篇关于接口服务规范的文章,原文在此,里面关于安全性问题重点讲述了通过appid,appkey,timestamp,nonce以及sign来获取token,使用token来保障接口服务的安全。今天我们来讲述一种更加便捷的方式,使用jwt来生成token。一、JWT是什么JSONWebToken(JWT)定义了一种紧凑且自包含的方式,用于在各方之间作为JSON对象...
继续阅读 >
2022
03-16
03-16
vue使用WebSocket模拟实现聊天功能
效果展示两个浏览器相互模拟1.创建模拟node服务在vue根目录下创建server.js文件模拟后端服务器**在server终端目录下载**npminstall--sws2.编写server.js文件代码如下varuserNum=0;//统计在线人数varchatList=[];//记录聊天记录varWebSocketServer=require('ws').Server;wss=newWebSocketServer({port:8181});//8181与前端相对应//调用broadcast广播,实现数据互通和实时更新wss.broadcast=function(...
继续阅读 >
2022
03-16
03-16
解决springboot文件配置端口不起作用(默认8080)
springboot文件配置端口不起作用1、可能是格式不对,yml要求:后面有个空格,然后才写数据。2、可能maven环境没导入好,新手没注意这个,看看项目右边有没有maven的图标,没有就说明没导好maven环境,再看看右下角有没有提示你importmavenproject,点击导入即可!yml修改端口无效(SpringBoot中)在yml文件中,修改端口:启动后,若发现没反应,则修改为:解决以上为个人经验,希望能给大家一个参考,也希望大家多多支持自学编...
继续阅读 >
2022
03-16
03-16
构建Maven多模块项目的方法
目录构建Maven多模块项目创建父模块创建子模块:model层创建子模块:dao模块创建子模块:service层创建子模块:web层编译运行项目Maven相关特性父模块的配置父模块聚合子模块父模块统一管理依赖包子模块在pom.xml中声明父模块参考文章构建Maven多模块项目JavaWeb开发一般都会进行分层开发,通常分为model,模型层dao,数据访问层service,业务逻辑层web,表现层分层后,各层职责明确,后期维护起来也会容易一些。接...
继续阅读 >
2022
03-16
03-16
SpringBoot开发实战之自动配置
在介绍SpringBoot的自动配置之前,先了解下注解@Import的使用,SpringBoot的@Enable*开头的注解底层依赖于@Import注解导入一些类,使用@Import导入的类会被Spring加载到IOC容器中,而@Import提供了以下4中用法:直接导入Bean通过配置类导入Bean导入ImportSelector实现类,一般用于加载配置文件的类导入ImportBeanDefinitionRegistrar实现类下面来分别介绍这几种用法。直接导入Bean就比较简单了,新建一个Us...
继续阅读 >
2022
03-16
03-16
Java SerialVersionUID作用详解
问题1:Serializable是什么首先,说说Serializable是实现java将内存中的类存储至硬盘中而使用的一个类使用了Serializalbe接口,在序列化到文件时,会有一个SerialVersionUID。这个东东是用于对类进行版本控制的。首先看Person类清单:=====importjava.io.Serializable;publicclassPersonimplementsSerializable{//如果没有指定serialVersionUID,系统会自动生成一个privatestaticfinallongseria...
继续阅读 >
2022
03-16
03-16
解决springboot报错找不到自动注入的service问题
springboot报错找不到自动注入的service找了不少资料,最后发现是每个service接口(虽然已经使用了@service注解)的实现类都需要加上@service注解。如果是使用junit生成的测试类,发现无法自动注入服务的话在test启动类前加上@RunWith(SpringRunner.class)@SpringBootTest@ComponentScan("com.XXX.service")这是因为test包和启动类不在同一个包或子包下,无法自动注入SpringbootService不被识别根据以往经验,在Mapper接口没有添...
继续阅读 >
2022
03-16
03-16
JavaScript中html画布的使用与页面存储技术详解
目录一、JavaScript使用html中的画布二、页面存储技术一、JavaScript使用html中的画布1、画布:页面中用于绘制图形的特殊区域2、绘制图形的过程(1)创建画布:使用html5中画布标签<canvasid="id"width="宽度"height="高度"></canvas>(2)JavaScript中获取画布document.getElementById('id')(3)准备画笔:context对象(画笔),也称为绘制环境,使用该对象在画布中绘制图形getContext('2d')3、绘图(1)绘制线条:A、初始位置、连线端...
继续阅读 >
2022
03-16
03-16
Java线程池高频面试题总结
目录1、在启动线程时,为什么要通过调用方法start执行方法run,而不能直接执行方法run?2、方法sleep、join和yield的区别有哪些?3.为什么方法wait、notify和notifyAll在Object类定义,而不在Thread类定义?4、终止线程应该使用什么方法?为什么不推荐使用stop和destroy方法来终止线程?5、什么是线程池?6、追问:线程池的好处有哪些?7、说一说线程池是如何创建的?8、向线程池提交任务的流程是什么?9、追问:说一说核心线程和...
继续阅读 >