咱们先来看一下tomcat版本数据:前端
咱们能够看到,从tomcat8以后JSP就再没有新的支持了,tomcat8大概是2013年发布的,也就是说,从2013年开始jsp技术已经实质上不被官方继续维护了。java
再从java框架springboot来看,默认就是不支持jsp的,后台模板引擎默认是themleaf,但这并不能表明themleaf是将来趋势,由于前端技术在后端技术进步的同时在飞速发展。web
自从JamesGosling开发Java语言,SUN大力推行基于Java的从前端到后端的完整的企业级解决方法(J2EE),发展至今基于服务器端JSP技术地位与处境已经愈来愈尴尬。JSP技术的兴起与发展得益于WEB技术推广与发展,可是伴随着WEB2.0发展与富客服端应用(RIA)的发展,基于JSPTag的web伪前端技术表现的愈来愈无力。现在伴随着更多的富客户端技术的发展与不断的走向成熟,其中具备表明性的为Angular、React、Vue等,同时伴随着ajax技术以及HTTP长链接协议Bayeux普遍应用,并且已经成为RFC标准文档之一。并且伴随着各大浏览器厂商对HTML5的大力支持,WEB开发应用新一轮的技术革新已经成为定局。在这种状况下,曾经风云一时的JSP/Tag模板引擎技术没落是不可逆转。ajax
J2EE中传统的前端依靠JSP Tag技术封装,依靠服务器解析,完成页面预编译以后,经过HTTP发送到用户浏览器端。那些数不清的JSP标签库/TAG库,因为缺少必要的技术规范各大厂商完成的千差万别。不少时候已经成为影响J2EE开发效率的一大死穴。JSP等模板引擎做为伪前端技术(其实是服务器端技术)有以下弊端:spring
1. 标签库没有统一标准,各大厂商完成不一,常使开发者晕头转向后端
2. 自己不是一种前端与后端分离的技术,不能实现前端与后端各自的语言独立浏览器
3. 不是好的富客户端技术,GWT虽然能够用为富客户端前端技术,可是也是基于Javatomcat
4. 前端与后端数据交换XML/JSON支持不够灵活,不是天生支持Ajaxspringboot
反观Angular、React、Vue等前端技术,主要有如下显著特色:服务器
1. 前台与后台语言独立,
2. 内嵌支持Ajax
3. 灵活的数据交换支持XML/JSON
4. 先后端独立语言的好处,理论上后端能够支持任何语言
如今不少新开发的WEB应用,Java做用主要在后台,但浏览器端愈来愈与Java无关是无关的,这个就是WEB2.0的威力,Div + CSS + Json的数据交换以及Javascript库(ExtJS, JQuery)的应用,足以已经使前端开发与后端开发彻底分离,这些彻底得益于ajax/Bayeux(Comet)等技术助推。伴随着HTML5技术的进一步推广,独自在后端闭门造车的行为变得尤为愚蠢。并且近些年发展迅猛的虚拟Dom技术类框架Angular、React、Vue,配合Redux、dva等数据流方案,使得大前端的时代已然真正的降临。