A股上市公司传智教育(股票代码 003032)旗下高端IT教育品牌

全国咨询/投诉热线:400-618-4000

好口碑IT培训机构

全国中心

 

  • 首页
  • 全部课程
  • 免费教程
  • 教研团队
  • 开班时间
  • 报名流程
  • 报考大学
  • 原创书籍
  • 项目库
  • 学员社区
JavaEE 鸿蒙应用开发 HTML&JS+前端 Python+大数据开发 人工智能开发 电商视觉设计 软件测试 新媒体+短视频
直播运营
产品经理 集成电路应用开发
(含嵌入式)
  • JavaEE
  • 鸿蒙应用开发
  • HTML&JS+前端
  • Python+大数据开发
  • 人工智能开发
  • 电商视觉设计
  • 软件测试
  • 新媒体+短视频
  • 产品经理
  • 集成电路应用开发(含嵌入式)

热门课程

  • JavaEE
  • 鸿蒙应用开发
  • HTML&JS+前端
  • Python+大数据开发
  • 人工智能开发
  • AI+设计
  • 软件测试
  • 新媒体+短视频直播运营
  • 产品经理
  • 集成电路与机器人应用开发
北京昌平
北京顺义
上海
广州
深圳
武汉
郑州
西安
长沙
济南
重庆
南京
杭州
石家庄
成都
合肥
太原
首页技术文章 正文

什么是JSP,JSP的运行原理是什么?

更新时间:2020-06-02 来源:黑马程序员 浏览量:

1577370495235_学IT就到黑马程序员.gif


在动态Web项目的开发中,经常需要动态生成HTML。内容(如系统中的当前在线人数需要动态生成)。如果使用Servlet实现HTML页面数据的统计,则需要使用大量的输出语句。同时,如果静态内容和动态内容混合在一起,那么也将导致程序非常臃肿。为了克服Servlet的这些缺点,Oracle( Sun)公司推出了JSP技术。

JSP(Java Server Pages)是建立在Servlet规范之上的动态网页开发技术,其实质是一个简化的Servlet,在JSP文件中,HTML代码与Java代码共同存在,其中,HTML代码用于实现网页中静态内容的显示,Java代码用于实现网页中动态内容的显示。为了与传统HTML有所区别,JSP文件的扩展名为jsp。

JSP技术所开发的Web应用程序是基于Java的,其使用具有如下几点特征。

1、预编译

预编译指在用户第一次通过浏览器访问JSP页面时,服务器将对JSP页面代码进行编译,并且仅执行一次编译。编译好的代码将被保存,在用户下一次访问时会直接执行编译好的代码。这样不仅节约了服务器的CPU资源,还大幅度提升了客户端的访问速度。

2、业务代码相分离

在使用JSP技术开发Web应用时,可以将界面的开发与应用程序的开发分离,

3、组件重用

JSP可以使用JavaBean编写业务组件,也就是使用一个JavaBean类封装业务处理代码或者将其作为一个数据存储模型,在JSP页面甚至整个项目中,都可以重复使用这个JavaBean,同时,JavaBean也可以应用到其他Java应用程序中

4、跨平台

由于JSP是基于Java语言的,它可以使用Java API,所以它也是跨平台的,可以应用于不同的系统,如 Windows和Linux等。

 

JSP运行原理

JSP的工作模式是请求/响应模式,客户端首先发出HTTP请求,JSP程序收到请求后将进行处理并返回处理结果。在一个JSP文件第一次被请求时,JSP引擎(容器)把该JSP文件转换成一个Servlet,而这个引擎本身也是一个Servlet, JSP的运行原理如下图:

1591078779176_JSP执行原理.jpg


JSP的运行过程具体如下。

(1) 客户端发出请求,请求访问JSP文件。

(2) JSP容器先将JSP文件转换成一个Java源文件(Java Servlet源程序),在转换过程中,如果发现JSP文件中存在任何语法错误,则中断转换过程,并向服务端和客户端返回出错信息。

(3) 如果转换成功,则JSP容器会将生成的Java源文件编译成相应的字节码文件*.class。该class文件就是一个Servlet,Servlet容器会像处理其他Servlet一样处理它。

(4) 由Servlet容器加载转换后的Servlet类(class文件)创建一个该ServletJSP页面的转换结果)的实例,并执行Servlet的jsplnit()方法。jspInit()方法在Servlet的整个生命周期中只会执行一次。

(5) 执行jspService()方法处理客户端的请求。对于每一个请求,JSP容器都会创建个新的线程处理它。如果多个客户端同时请求该JSP文件,则JSP容器会创建多个线程,使每个客户请求都对应一个线程。

(6) 如果JSP文件被修改了,则服务器将根据设置决定是否对该文件重新进行编译,果需要重新编译,则使用重新编译后的结果取代内存中的Servlet,并继续上述处理过在需要注意的是,虽然JSP效率很高,但在第一次调用时往往由于需要转换和编译,所以会生一些轻微的延迟。

(7) 如果系统出现资源不足等问题,JSP容器可能会以某种不确定的方式将Servlet从内存中移除,发生这种情况时,首先会调用jspDestroy ()方法,然后Servlet实例会被作为“垃圾”进行处理。

(8) 当请求处理完成后,响应对象由JSP容器接收,并将HTML格式的响应信息发送回客户端。推荐了解 java培训课程。

 

猜你喜欢:

什么是Java语言,java是做什么的?

什么是Docker?有什么特点?

Docker与虚拟机的区别

上一篇:Docker的底层技术介绍 下一篇:JSP注释的语法语法规则

最新资讯

  • 有哪些页面置换算法?

    2024-05-22
  • 如何解决Redis的并发竞争Key问题?

    2024-05-22
  • varchar和char的使用场景?

    2024-05-22
  • 协程为何比线程还快?

    2024-05-17
  • TIME_WAIT过多是因为什么?

    2024-05-17
  • range和xrange的区别是什么?

    2024-05-17

相关阅读

  • Docker的底层技术介绍

    2020-05-27
  • Docker的具体架构介绍【java培训】

    2020-05-27
  • Docker与虚拟机的区别【java培训】

    2020-05-27
  • 什么是Docker?有什么特点?【Java培训】

    2020-05-27
  • Java自旋锁是什么?有什么优缺点?

    2020-05-26
  • Java面试:乐观锁和悲观锁分别是什么?

    2020-05-26
分享到:

Java培训班课程javaee

Python培训机构python大数据

web前端培训课程升级V8.5web

AI+设计培训课程ui

大数据培训课程cloud

软件测试培训课程test

c

新媒体运营培训netmarket

产品经理培训课程pm

linux培训Linux

movies

智能机器人培训robot

电商视觉设计课程uids

AI

集成电路应用开发(嵌入式)培训课程jdbc

选择校区
北京校区 
申请试听名额
申请试听名额
申请试听名额
申请试听名额
申请试听名额
申请试听名额
申请试听名额
申请试听名额
申请试听名额
申请试听名额
申请试听名额
申请试听名额
申请试听名额
申请试听名额
在线咨询 我要报名
  •  

    试听

  •  

    咨询

  •  

    报名

 
和我们在线交谈!

深圳SEO优化公司光明百度竞价包年推广石岩seo布吉百度网站优化排名龙华网站推广系统盐田网站优化推广西乡seo排名平湖关键词按天计费大运关键词排名石岩百度竞价龙华企业网站改版吉祥设计网站沙井品牌网站设计坪地百度爱采购观澜如何制作网站坂田百度标王永湖网站建设观澜网站制作吉祥网页设计观澜网站搜索优化丹竹头关键词排名包年推广木棉湾企业网站建设盐田网站seo优化石岩品牌网站设计光明品牌网站设计南澳百度网站优化惠州关键词按天扣费广州如何制作网站观澜至尊标王大浪模板推广南澳网站优化按天计费歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化