必威体育Betway必威体育官网
当前位置:首页 > IT技术

JSP技术简介

时间:2019-08-14 12:15:25来源:IT技术作者:seo实验室小编阅读:61次「手机版」
 

jsp技术

1 JSP技术的特征

jsp技术开发的web应用程序是基于java的,它拥有Java跨平台的特性,以及业务代码分离,组建重用,基础Java servlet功能和预编译功能。

1)跨平台

由于JSP是基于Java语言的,因而它可以使用Java的API,所以也是跨平台的,可以应用在windowslinux、Mac和Solaris。

  2)业务代码分离

采用JSP开发的项目,通常使用html语言设计格式化静态页面内容,而使用JSP标签来实现动态部分,业务代码通常使用servlet、struts、Springmvc等业务控制层来处理,从而实现业务层和视图层分离,这样,JSP只负责显示数据即可,这样,修改业务代码不会影响JSP页面代码。

  3)组件重用          

JSP中,可以使用JavaBean编写业务组件,也就是使用一个JavaBean封装业务处理代码或者作为一个数据处理模型,这个JavaBean可以重复使用,也可以应用到其他应用程序中。

  4)继承Java servlet功能

JSP的本质是servlet,因此说JSP拥有servlet的所有功能。

    5)预编译

用户首次通过浏览器访问JSP页面时,服务器对JSP页面代码进行编译,并且仅执行一次编译,编译后被保存,下次访问时直接执行编译过的代码,节约了服务器资源,提升了客户端访问速度。

2 JSP技术的原理

JSP的工作方式是请求/应答模式,客户端发出HTTP请求,JSP收到请求后进行处理,并返回处理结果。在一个JSP文件首次被请求时,JSP引擎首先把这个JSP文件转换成一个servlet,而该引擎本身也是一个servlet。运行过程如下:

1)JSP引擎首先把该JSP文件转换成一个Java源文件(servlet),在转换时,如果发现JSP文件中有任何语法错误,则中断转换过程,并向服务端和客户端输出错误信息。

2)如果转换成功,JSP引擎用javac把该Java源文件编译成相应的class文件。

3)创建一个servlet(JSP页面的转换结果)实例,该servlet的jspInit()方法被执行,jspInit()方法在servlet生命周期中只调用一次。

4)用jspService()方法处理客户端的请求。对每一个请求,JSP引擎创建一个新的线程来处理。如果多个客户端同时请求该JSP文件,则JSP引擎会创建多个线程来处理每个请求。由于该servlet始终驻留与内存,所以可以非常迅速的响应客户端的请求。

5)如果JSP文件被修改了,服务器将根据设置决定是否对该文件重新编译,如果需要重新编译,则将以编译结果取代内存中的servlet,并继续以上过程。

6)虽然JSP的效率很高,但首次调用时,由于需要转换和编译,会有一些轻微的延迟。此外,在任何时候,由于系统资源不足的原因,JSP引擎将以某种不确定的方式将servlet中从内存中移去。在此情况下,jspDestroy()方法首先被调用,然后servlet实例将被回收。

在jspInit()中可进行一些初始化工作,如建立与数据库的连接或其他配置。

图2.1 JSP技术原理

如果喜欢本文可以关注下公众号,本人会定期推送一些学习资源及项目源码

                                                                   

相关阅读

如何成为Growth Hacker?这里有一份7大技术指南

Growth hacking 作为初创公司的营销加速之道,“技术+营销”催生的新型复合人才 Growth hacker (增长黑客),则集合了营销人的创造力

EDA技术总结

文章目录写在前面EDA常用方法plt.histplt.plotplt.scatter()feature group直方图普通柱状图并列柱状图使用seaborn.countplot使用

支付宝AR红包:从技术的角度来分析,是线下线上融合的契机

12月22日,支付宝上线了新版本的支付宝10.0.0,其中推出的AR红包功能更是在短时间内吸引了很多人的眼球,阅览支付宝关于AR红包的简介,了

大数据技术与原理之流计算基本知识点梳理(一)

1:流数据:流数据(数据流):在时间分布和数量上无限的一系列动态数据的集合体。:2:流数据的特点:1:数据快速到达,潜在大小也许是无穷无尽的

技术人如何提升自己(推荐必读).md

点击关注“IT大飞说”,置顶或星标公众号 订阅公众号(**ID:ITBigFly**)第一时间收到推送 作为一个技术人,我们不仅要不断地学习来提升

分享到:

栏目导航

推荐阅读

热门阅读