好程序员Java学习路线分享jsp为什么用的不多了,曾经JavaEE开发前端多数用的是JSP技术,因为在JSP出现之前,程序员基本都是在Servlet端直接通过out.print的方式拼接出一个页面返回,这样的做法严重的违背了MVC分层原则,前端会非常难以维护。Jsp技术出现后,极大的改善了这个问题,在将试图层抽离出来的同时,也充分保证了页面的动态性。但是现在开发却很少用到JSP了。终其原因大概可以归纳为以下几点:
1、 JSP底层原理就是Servlet直接out.print的方式运行,在第一次访问JSP时,需要将JSP编译成Servlet的class文件,拖慢运行速度。
2、 JSP可以直接嵌入java脚本,实现页面动态化,但是这样就打破了分层的思想,影响整体程序结构,降低JSP页面的可读性。
3、 可以使用jstl标签或者el表达式代替Java脚本,增加页面的可读性,但是el表达式底层有一些反射实现,这样会降低页面的渲染速度。
4、 后续出现了很多优秀的模板技术(velocity、freemarker、thymeleaf等),这些模板技术效率都高于jsp,对于企业和开发者来说,选择变多了。
5、 现在很多企业都开始采用前后端分离的项目结构了,后端专注并发、存储等方面,前端通过VUE等框架实现,JSP只能运行在web容器中,无法运行在nginx这样的高效的http服务上,因此慢慢的被时代所遗弃。