Spring Security 3 升级导致 Request method ‘POST’ not supported

一个上古项目由于安全原因需要升级依赖,其中Spring 版本需要由3升级到5。完成版本升级之后GET请求的接口都是正常的,POST请求的接口都会报Request method 'POST' not supported。 [AbstractHandlerExceptionResolver:199] - Resolved [org.springframework.web.H...

Java7 HTTPS 支持 TLS 1.1 TLS 1.2

在Java SE 7 中,SunJSSE 支持TLS 1.1 and TLS 1.2。但是考虑到当时(since 2011)很多服务器对这两个协议支持的不好,就把这两个版本的协议禁用,默认使用TLS 1.0。 如果要启用这两个协议的支持也很简单: 设置系统属性 https.protocols 指定Java HTTPS连接(HttpsURLCo...

从⽅不是方到Unicode正规化NFD, NFC, NFKD, NFKC

在做PDF解析的时候,发现甲方的方字一直匹配不上。解析出来的⽅字的Unicode值\u2F45,而我正常打字打出的方字Unicode值是\u65B9。 之前也遇到过从PDF中复制出来的字,看着像这个字其实是另一个字,一直以为是PDF源文件的问题没有深究。这次PDF是我用Word另存为生成的...

BDF2’s dependencyManagement

BDF2's dependencyManagement 根据自己需要自行删改项目 <properties> <spring.version>3.2.5.RELEASE</spring.version> <bdf2.version>2.0.7</bdf2.version> <bdf2.s...

Flyway migrate晚于JPA建表语句

Spring Boot下通过EntityManagerFactoryDependsOnPostProcessor来确保Flyway的初始化执行晚于JPA。但是有时候我们会希望由JPA完成表结构的维护,Flyway用来修数据、基础数据的维护。这个时候如果flyway执行早于JPA的表结构维护,可能会导致表或字段不存在的异常。 所...

Java多线程并发操作ArrayList

给公司一个业务系统做性能优化时,有个地方需要在循环内实现对外交互。有网络IO的地方很容易出现性能瓶颈,就打算通过parallelStream实现并发操作, List resultList = new ArrayList(); xxxList.forEach(item -> { result = ...

解决邮箱关闭导致的邮件无法发送问题 550 5.1.1 recipient is not exist javax.mail

业务方反馈系统的定时邮件没有收到。排查日志后发现,是人员离职后,其工作邮箱关闭,与其相关的业务系统的定时邮件通知的收件人列表内没有移除其邮箱,会导致邮件通知发送失败报"550 5.1.1 recipient is not exist"异常,导致整个邮件通知都没办法发出。 经过查阅文...

MacOS 下切换默认 Java (JDK)

TLDR 如果同时安装了 adoptopenjdk 11 和 adoptopenjdk 8,同时希望 8 做为默认 JDK,只需要把 /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Info.plist里的JVMVersion的值由1.8.0_222改为 x1.8.0_222(大概第42行)。这样我们的MacOS默认JDK就成为...

Tomcat与UTF-8,告别中文乱码

简介 UTF-8是网页应用中最常用的字符编码。它支持世界上正在使用的所有语言,包括中日韩。 本文我们会展示所有的配置以确保在Tomcat中使用 UTF-8。 连接器(Connector) 配置 一个连接器在指定的端口上监听连接。我们需要确保我们所有的连接器都使用UTF-8来编码请求。 ...

Maven 最佳实践

Maven 最佳实践

添加依赖 如果需要给项目添加依赖,只需要在pom.xml的<dependencies>节点下添加相关依赖就可以。 <dependencies> <dependency> <groupId>org.javassist</groupId> <artifactId>javassist</artifactId> <version&g...