您好!欢迎进入重庆网站建设公司官方网站 友情链接申请:qq664865128 服务邮箱:664865128@qq.com

jsp文件是什么(jsp的10年是谁让它如此落幕?)

时间:2023-07-12  发布:小宽

  jsp文件是什么

  JSP(全称Java Server Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。

  JSP将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容。JSP引入了被称为“JSP动作”的XML标签,用来调用内建功能。另外,可以创建JSP标签库,然后像使用标准HTML或XML标签一样使用它们。标签库能增强功能和服务器性能,而且不受跨平台问题的限制。JSP文件在运行时会被其编译器转换成更原始的Servlet代码。JSP编译器可以把JSP文件编译成用Java代码写的Servlet,然后再由Java编译器来编译成能快速执行的二进制机器码,也可以直接编译成二进制码。

  jsp的10年是谁让它如此落幕?

  前言

  随着容器技术(docker、k8s)以及微服务架构逐步成熟和发展,这种强调后端分离思想让jsp这个陪伴我近10年的页面渲染技术宣告落幕了,有点伤感。。。

  jsp的痛有几个人明白

  1、无法做到动静分离

  传统java程序通过war包形式部署到tomcat,除了java代码和jsp页面,还包括css、js、图片等静态资源,一旦其中的某个jsp页面出问题,会导致部分功能不可用,甚至服务器响应阻塞,无法对外提供服务。

  2、分工协调性差

  jsp本质上是一个java类,所以早期java开发人员是前后端开发任务全负责,而UI设计师把设计好的html页面给开发人员集成,这个需要双方共同协调完成,效率低下,很难完成需求快速更新迭代,持续交付。

  3、并发、吞吐量差

  由于jsp本质是java类,只能放在web服务器(如tomcat),所以jsp不能部署到并发性能更好的nginx或者apache下,这是很多人诟病java web性能不好的原因之一。

  4、扩展性差

  jstl内置的一些tag标签耦合java代码(类似于react中的component组件),很难做到只修改页面而不用修改java代码,扩展性很差。

  5、页面加载慢(同步机制)

  如果一个页面承载的内容很多(如表单、表格、详情),会导致页面加载很慢。究其原因是jsp内在特性决定的。

  jsp初始化流程

  首先,jsp页面会初始化为servlet的class文件

  其次,在servlet代码中解析jsp tag标签,转换成html网页标签

  最后,以流的方式输出html网页

  这里有个要命的问题,从jsp转换成html到浏览器渲染是一个同步过程。也就是说,如果数据加载很慢,会导致整个页面出不来。

  前后端分离思想

  1、动静分离,前端软负载架构

  后端代码(如java)和前端(html、js、css、图片等)分离,单独部署。

  前端程序强调静态资源,会单独部署到抗压能力更强的nginx下。而后端程序由于剥离了页面、js、css、图片,以接口形式对外提供服务,

  服务能力下沉(基础平台能力,sass服务化能力)。

  2、分工明确

  3、异步加载机制

  如果页面需要多次ajax调用,不需要同步进行,异步加载实现局部刷新。

  4、组件化

  以react、vue、angular为代表前端框架,提出组件化、框架化、复用性等工程化编程,使的前端也可以像后端那样提供可复用性、可扩展性、高可用性的前端程序。

  小结

  笔者认为,前后端分离思想是一种趋势,更深层次是技术更新很快,我们要与时俱进,时刻更新自己的知识库。当然对于之前不了解jsp的同学还是要去学习下,毕竟很多技术发展是有继承性的。

本文由重庆网站建设编辑,转载请注明出处:https://www.cq-wzjs.com.cn/fuwuzixun/yingxiaoxingwangzhan/4764.html

关于我们 About us

您可以在线咨询...

158-023-10923

158-023-10923

重庆市沙坪坝区西双大道19号7幢3-4

Copyright © 2008-2023 睿喆诚数字传媒(重庆)有限公司 版权所有 渝ICP备2022008152号-1

在线客服
免费咨询热线
158-023-10923