从 JFinal 3.0 重新定义模板引擎实现了 MVC + ORM 各层的极速开发(3.0 发布盛况传送门),到 JFinal 3.4 将极速贯彻到 UI 层,实现了 UI 层的极速开发 (3.4 发布盛况传送门),“开发过程” 的极速化目标已经达成
但是,在享受着 JFinal 带来的丝滑般快感的同时,聪明的 JFinal 俱乐部小伙伴们提出了一个新的追问:能否让项目的打包、部署、上线也极速化。公司老板一天到晚催这一版什么时候上线?这一版什么时候上线?
大量小伙伴的项目上线过程大至是这样的:下载 tomcat、折腾 tomcat 配置、导出 war 包、上传 war 包、配置 tomcat 的 server.xml、启动项目。如果要配置 https 还得狠狠折腾一翻
开发过程是极速了,但上线过程却十分无聊和缓慢,这与 JFinal 一直以来的极速化风格严重不匹配,这其中的落差尤如高速路上飞驰的跑车突然开进泥泞的沼泽。再一次,JFinal Undertow 1.3 出手,将打包、部署、上线也一并极速化
一行代码启动 jfinal 项目:
UndertowServer.start(App.class);
启动时间比以往的 Jetty Server 快三倍,JFinal 俱乐部专享项目只需 1.4 秒启动完毕
jfinal undertow 支持开发时的热加载,性能比 jetty server 要高出很多,使用方式极为便捷:
undertow.devMode=true
jfinal undertow 的热加载时间保持在 0.5 左右,让开发更加顺滑
一行命令打包在可发布的各种压缩包:zip、tar、tar.gz
mvn clean package
将打好的包解压即完成部署,运行其中的 start.sh 或 start.bat 即可上线。再也不需要折腾 tomcat 或 jetty 的下载、配置
随着微信小程序的迅猛发展以及在线支付的普及,要接入小程序与支付必须按腾迅要求开启 https。开启 https 是个相对麻烦的过程,jfinal undertow 将这个过程极致简化,获取到 SSL 证书以后只需要在项目 resources 目录的配置文件中添加下面配置:
# 是否开启 ssl undertow.ssl.enable=true # ssl 监听端口号 443 undertow.ssl.port=443 # 密钥库类型 PKCS12 undertow.ssl.keyStoreType=PKCS12 # 密钥库文件 undertow.ssl.keyStore=demo.pfx # 密钥库密码 undertow.ssl.keyStorePassword=123456
没有再比这更快速、简单、方便的开启 https 方式
有了如上的各种极速就算完吗? 当然不是,还有各种极速等着大家去把玩、享受,例如极速开启 gzip 压缩,极速开开启 http2 支持,极速让 http 重定向到 https:
undertow.gzip.enable=true undertow.http2.enable=true undertow.http.toHttps=true
三行配置搞定三个极速,你别告诉我你还想更快。已快到极致,光速都是有极限的
支持 https、开启 http2、gzip 这些都是作为 web 项目必要的功能,类似于添加 Filter、Servlet、WebSocket 等等更多丝滑功能可通过 jfinal 官网了解: http://www.jfinal.com/doc/1-4
JFinal 俱乐部专享项目已切换到 jfinal undertow 1.3,本周末将在俱乐部直播讲解 JFinal Undertow 各种顺滑的极速用法,重点会讲解 HTTPS/SSL 证书的获取、配置使用,有兴趣的同学赶紧上车 : http://www.jfinal.com/club