Tomcat Get 请求的坑!
Tomcat8.5,当Get请求中包含了未经编码的中文字符时,会报以下错误,请求未到应用程序在Tomcat层就被拦截了。 Tomcat报错: java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986 返回400错误: Transfer-Encoding—>[chunked]null—>[HTTP/1.1 400 Bad Request]Server—>[Apache-Coyote/1.1]Connection—>[close]Date—>[Wed, 07 Feb 2018 03:19:04 GMT] 根据错误找到了Tomcat最新的源码: org/apache/coyote/http11/LocalStrings.properties iib.invalidRe...
一分钟开启 Tomcat https 支持
1、修改配置文件打开tomcat/conf/server.xml配置文件,把下面这段配置注释取消掉,keystorePass为证书密钥需要手动添加,创建证书时指定的。 <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" ...
Tomcat 集群 session 复制与 Oracle 的坑。。
问题描述公司某个系统使用了tomcat自带的集群session复制功能,然后后报了一个oracle驱动包里面的连接不能被序列化的异常。 01-Nov-2017 16:45:26.653 SEVERE [https-jsse-nio-8443-exec-2] org.apache.catalina.ha.session.DeltaManager.requestCompleted Unable to serialize delta request for sessionid [F825A52DD9E0E7F8FD6BB3E3F721F841] java.io.NotSerializableException: oracle.jdbc.driver.T4CConnection at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1183) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:15...
凉凉了,Eureka 宣布停更,Spring Cloud 何去何从?
今年 Dubbo 活了,并且被 Apache 收了。同时很不幸,Spring Cloud 下的 Netflix Eureka 组件项目居然宣布停止开发了。。 已经从 Dubbo 迁移至 Spring Cloud 上的人,你们还好吗? 闭源:https://github.com/Netflix/eureka/wiki 大概意思是: Eureka 2.0 的开源工作已经停止,依赖于开源库里面的 Eureka 2.x 分支构建的项目或者相关代码,风险自负! Eureka 是什么?用 Spring Cloud 作为微服务框架的开发者应该都知道,Eureka 是其默认的也是推荐的服务注册中心组件。 既然首推 Eureka 作为服务注册中心组件也是因为 Netflix 优秀的各种套件,如 Zuul(服务网关组件)、Hystrix(熔断组件) 等都是 Spring Cloud 一站式解决方案。 我们来看下 Eureka 和服务注册的关系图。 Eureka 开源史末Netflix 公司 2012 年将 Euerka 正式开源。 Eureka 1.x 最新版本 1.9.3,不知道是否会成...
Spring Boot 2.0 正式发布!
Spring Boot 2.0 正式发布!2018/03/01最新消息,传得沸沸扬扬的Spring Boot 2.0 正式发布了。 小编去看了下Spring Boot的官网,正式版本已经释放出来了!!! 这个版本更是历经了17个月,超过了215个人共同开发,总共超过6800次+提交完成的。这个版本是继4年前Spring Boot 1.0 之后的第一个主要版本,也是第一个正式支持Spring Framework 5.0的发行版本。 我们也从Github上Spring Boot发布版本列表中看到了Spring Boot 2.0 的正式发布版本,版本号:v2.0.0.RELEASE。 Spring Boot版本发布列表:https://github.com/spring-projects/spring-boot/releases/ Spring Boot 2.0 新特性说了这么多,Spring Boot 2.0 和 1.0 比都有哪些变动和新特性呢? JDK最低要求1.8+,并支持1.9; 支持Spring webflux/webflux.fn...
Spring Boot 1.5.10 发布:修复重要安全漏洞!!!
2018/01/31,Spring Boot团队发布了Spring Boot 1.5.10。 Maven: <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.10.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dep...
Spring Boot 2.1.5 正式发布,1.5.x 即将结束使命!
Spring Boot 官网在 2019/03/15 这天发布了 Spring Boot 2.1.5 正式版,栈长表示真跟不上了。。 官宣如下 : https://spring.io/blog/2019/05/15/spring-boot-2-1-5-released 仓库也已经跟上: 那这个版本有什么新功能? 1、增加了 Spring Session DefaultCookieSerializer 自动化配置; 2、增加了 MimeTypes 缓存,提升性能; 这两个是什么鬼,表示还没用到过。 另外就是修复一推的bug了,以及更新一些依赖包。。具体的可以参考这里: https://github.com/spring-projects/spring-boot/releases/tag/v2.1.5.RELEASE 这个版本没啥大更新,只是例行公事更新下罢了,那么下面的事项你就得注意了,官方又发通知了。 重点来了!!! 友情提醒: Spring Boot 1.5.x 将于 2019/08/01 结束使命,官方不再更新维护了,建议大家...
Spring Boot 2.1.0 已发布,7 个重大更新!
距离《重磅:Spring Boot 2.0 正式发布!》已经过去大半年了,而 Spring Boot 2.1.0 在 10 月底就发布了,我们来看下 Spring Boot 2.1.0 都更新了什么,每一个 Java 技术人都值得关注。 栈长其实早就看到了更新了,现在才有时间来更新下。 1、第三方类库升级 Hibernate 5.3 Micrometer 1.1 Reactor Californium Spring Data Lovelace Spring Framework 5.1 Tomcat 9 Undertow 2 主要就更新了这些类库,其实远不止这些。 2、性能提升1)应用程序性能改进性能作为 Spring Boot 团队持续努力的一部分,性能提升在 Spring Boot 2.1 中取得了一些重大进展。 现在 Spring Boot 2.1+ 应用程序启动速度变得更快,并且消耗的内存更少,这在内存非常稀缺的应用环境中尤其重要。 2)异步引导 Hibernate在 Spring Boot 2.1 中还采用了 Spring 框架和 Spring Data JPA 框架对...
Spring Boot 2.2 增加了一个新功能,启动飞起~
前几天栈长分享了一个好玩的框架:一个比Spring Boot快44倍的Java框架!,是不是感觉 Spring Boot 略慢?今天讲一下 Spring Boot 添加的这个新特性,可以大大提升 Spring Boot 的启动速度。 最近,Spring团队宣布在 Spring Boot 2.2+ 中添加了一个重要功能:延迟加载,目前这个版本暂时还是快照版,不过我们可以先了解下怎么使用这个延迟加载功能。 延迟加载是什么意思?有点经验的程序员应该都知道,在 Spring 框架中早已经支持延迟加载功能的,简单来说就是一个类的实例化,不需要 Spring 容器启动的时候就开始实例化,而是在第一次需要它的时候再实例化,这样大大提升了程序启动速度,也在一定程序上节省了系统资源。 怎么开启延迟加载?在传统 Spring 项目中我们是这么做的: <bean id="testBean" calss="cn.javastack.TestBean" lazy-init="true" /> ...
Spring Boot 2.2.1 发布,一个有点坑的版本!
上一篇:Spring Boot 2.2.0 正式发布,支持 JDK 13! Spring Boot 2.2.0 没发布多久,Spring Boot 2.2.1 又发布了,这是一个很有意思,又有点 “坑” 的一个版本。 除了日常的 bug 修复、优化提升、依赖升级,这个版本又颠覆了一个 Spring Boot 2.2.0 配置。 如果你已经升级到了 Spring Boot 2.2.0,@ConfigurationProperties 注解是可以不需要定义 Bean 直接使用的。 @ConfigurationProperties如何使用,可以看这篇文章:Spring Boot读取配置的几种方式 来看下使用区别,真是够折腾的几个版本。 Spring Boot 2.2.0 之前: @Configuration @ConfigurationProperties(prefix = "xxx") public class XXXProperties Spring Boot 2.2.0: @ConfigurationProperties(prefix =...
