jsp为什么要被淘汰了?

使用 JSP 的痛点:

  1. 动态资源和静态资源全部耦合在一起,无法做到真正的动静分离。服务器压力大,因为服务器会收到各种http请求,例如css的http请求、js的、图片的、动态代码的等等。一旦服务器出现状况,前后台一起玩完,用户体验极差。

  2. 前端工程师做好html后,需要由Java工程师来将html修改成jsp页面,出错率较高(因为页面中经常会出现大量的js代码),修改问题时需要双方协同开发,效率低下。

  3. JSP 必须要在支持Sava的Web服务器里运行(例如tomcat等),无法使用nginx等(nginx据说单实例http并发高达5w,这个优势要用上),性能提不上来。

  4. 第一次请JSP,必须要在web服务器中编译成servlet,第一次运行会较慢。

  5. 每次请求JSP都是访问Servlet再用输出流输出的html页面,效率没有直接使用html高。

  6. JSP 内有较多标签和表达式,前端工程师在修改页面时会捉襟见肘,遇到很多痛点。

  7. 如果JSP中的内容很多,页面响应会很慢,因为是同步加载。

基于上述的一些痛点,我们应该把整个项目的开发权重往前移,实现前后端真正的解耦!

前端框架已经非常成熟和稳定,不需要JSP

前后端分离已经不是什么趋势了,而是当前B/S架构开发的主流模式。前后端分离之后,前端只负责展现和交互,后端负责核心业务逻辑。前后端通过API进行交互,并且最好符合RESTful风格。服务器端把数据返回给前端就不再关心这些数据用在哪里、如何布局、什么样式。

服务器端的Spring MVC/WebFlux 和 Spring Boot已经开始抛弃JSP

从Spring 5开始,在原有的基于Servlet技术的Spring MVC之外增加了一个新的编程模型,就是Spring WebFlux。

Spring WebFlux是响应式非阻塞的,而且不支持Servlet API,所以也就不支持JSP!

一个现代主流Java Web应用,不管前端、后端、还是微服务架构,都在淘汰JSP。其中,Java服务器端主流技术还是Spring(Spring Boot + Spring MVC + Spring Cloud)。

想要了解web开发知识,请查阅 HTML中文网 !!

以上就是jsp为什么要被淘汰了?的详细内容,更多请关注易知道|edz.cc其它相关文章!

推荐阅读