`

JSP运行原理及优势

 
阅读更多

JSP本质上就是把Java代码嵌套到HTML中,然后经过JSP容器(TomcatResinWeblogic等)的编译执行,再根据这些动态代码的运行结果生成对应的HTML代码,从而可以在客户端的浏览器中正常显示。

运行原理

如果JSP页面是第一次被请求运行,服务器的JSP编译器会生成JSP页面对应的JAVA代码,并且编译成类文件。当服务器再次收到对这个JSP页面请求的时候,会判断这个JSP页面是否被修改过,如果被修改过就会重新生成Java代码并且重新编译,而且服务器中的垃圾回收方法会把没用的类文件删除。如果没有修改过,服务器就会直接调用以前已经编译过的类文件。

举个例子,代码如下:



上面这个JSP页面在被请求的时候,Web服务器中JSP编译器会生成对应的Java文件,上面这个JSP程序在服务器中生成的对应Java代码如下:


上面这段代码就是刚才那个JSP所对应的Java代码,如果你用的服务器为Tomcat那么这个Java代码所在的位置为Tomcat(我的版本为7.0)目录下的work\Catalina\localhost\你的项目名字\org\apache\jsp中。在这个目录下应该有两个对应的文件,一个是class文件一个是java文件。

上面这段程序本质就是一个servelet,它把所有页面的显示内容都用out对象打印出来,包括每个HTML标签,所以说JSP页面本质上就是Servelet的一种化身,在JSP程序中离不开Servelet的影子。这段代码的具体语法可以不必深究,这些工作都是由服务器中的JSP编译器来完成,这个过程是自动完成的,无需手动干预。

需要注意的是只有被请求过的页面才能生成对应的Java文件,没有请求的页面会在第一次请求的时候生成Java文件,当JSP页面被修改后,再次对这个页面进行请求才会重新生成对应的Java文件。

JSP的优势

JSP就是在HTML中嵌入Java代码,所以在本质上JSP程序就是Java程序,JSP程序继承了Java的一切优点。JSP程序有严格的Java语法和丰富的Java类库支持。

JSP页面在服务器中都会被JSP编译器编译成对应的Servlet,所以就拥有Java跨平台的优点,所有的JSP程序,无需改动就可以方便的迁移到其他操作系统平台,这就是在其他动态脚本中所无法想象的。

JSP中可以使用JavaBean进行逻辑封装,这样就可以实现逻辑功能代码的重用,从而大大提高系统的可重用性,同时也提高了程序的开发效率。

JSP程序容易上手,如果有HTMLJava的基本知识,那么学习JSP程序就没有任何难度。

JSP中可以使用Java众多的开源工具也是其他的动态网页语言无法比拟的。

由于以上种种优势JSP在众多的动态语言中成为开发人员最喜欢的语言之一。

分享到:
评论

相关推荐

    JSP程序设计实例教程(第2版)-电子课件第1章-Java-Web编程基础.pptx

    目录 1.1 JSP简介 1.2 JSP工作原理 1.3 JSP程序体系结构 1.4 HTML和CSS简介 1.5 XML基础简介 1.6 搭建JSP的运行环境 1.7 第一个JSP应用 JSP程序设计实例教程(第2版)-电子课件第1章-Java-Web编程基础全文共73页,...

    275ssm-mysql-jsp 在线网上书店.zip(可运行源码+数据库文件+文档)

    本文介绍了利用JSP技术实现动态网上书店的发展概况、技术特点、应用原理和方法,充分突出了JSP技术的优越性。 本文简要论述了电子商务的优势、对社会的影响以及建立电子商务网站应注意的问题,并介绍了整个网站的...

    229ssm-mysql-jsp 健身俱乐部网站.zip(可运行源码+数据库文件+文档)

    本系统结合计算机系统的结构、概念、模型、原理、方法,在计算机各种优势的情况下,采用目前最流行的SSM 框架和 Eclipse 编辑器、MySQL 数据库设计 并实现的。本健身俱乐部网站系统主要包括系统用户管理、新闻数据...

    《Java-web程序设计》教案.doc

    《Java-web程序设计》教案 课题:第一章 Java Web概述 【教学目标】 掌握JSP运行环境的搭建,能进行简单的JSP程序编写与运行。 【教学重点】 Eclipse+Dreamweaver工具、项目的导入、导出、发布打包 【教学难点】 ...

    Struts原理、开发及项目实施

    Struts原理、开发及项目实施 Holen 2002-9-12 <br/>1、 摘要 2、 关键词 3、 Framework 4、 Struts的起源 5、 Struts工作原理 6、 Struts安装 7、 一个实例 8、 Struts优缺点...

    基于JavaScript的酒店客房管理网站,优秀毕业设计,计算机专业必看!

    包括:JSP的优点、工作原理、运行环境;C/S与B/S模式的比较,使用B/S模式的优势;SQL Server 数据库数据体系结构,SQL语言的组成,对数据库的具体操作等。 第三章说明了开发基于JSP的酒店客房管理系统的需求,系统的...

    基于ssm_mysql_在线网上书店_源码.zip

    利用JSP技术实现动态网上书店的发展概况、技术特点、应用原理和方法,充分突出了JSP技术的优越性。 本文简要论述了电子商务的优势、对社会的影响以及建立电子商务网站应注意的问题,并介绍了整个网站的运行过程、...

    Java毕业设计-基于jspm开发的网上书店销售管理系统--论文-附源代码和说明文档.rar

    本系统采用JSP作为主要的开发技术,充分利用了JSP在Web开发中的优势,实现了系统的稳定运行和良好扩展。在系统设计上,我们注重用户体验和数据安全,采用了先进的数据库技术和加密算法,确保用户信息的安全性和数据...

    毕业设计-基于SSM的mysql-在线网上书店-设计与实现(源码 + 数据库 + LW + 演示视频).zip

    本文介绍了利用JSP技术实现动态网上书店的发展概况、技术特点、应用原理和方法,充分突出了JSP技术的优越性。 本文简要论述了电子商务的优势、对社会的影响以及建立电子商务网站应注意的问题,并介绍了整个网站的...

    Java-Web程序设计(PPT).pptx

    课程概述 终点 起点 1 2 3 4 5 6 7 1.Web应用程序基础 2.JSP基础 3.JSP内置对象 5. Servlet技术 4.JavaBean和标准动作 6. Servlet技术进阶 8. 会话跟踪技术进阶 7. 会话跟踪技术 8 9 9.EL表达式 10 10.JSTL标签库 ...

    Java开发技术大全 电子版

    4.1继承的基本原理145 4.2子类对父类的继承146 4.3属性隐藏和方法的覆盖148 4.3.1属性的隐藏148 4.3.2方法的覆盖151 4.4构造方法的继承154 4.5super的使用156 4.5.1用super引用父类的成员156 4.5.2使用super...

    超级有影响力霸气的Java面试题大全文档

    31、EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?  SessionBean: Stateless Session Bean 的生命周期是由容器决定的,当客户机发出请求要建立一个Bean的实例时,EJB容器不一定要创建...

    J2EE应用开发详解

    165 10.1.1 JavaBean的特点 166 10.1.2 JavaBean的元素及属性 167 10.1.3 JavaBean的分类 168 10.2 创建JavaBean 168 10.2.1 JavaBean的规格说明 168 10.2.2 创建一个简单的JavaBean 168 10.3 在JSP中使用JavaBean ...

    java 面试题 总结

    Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。 与cgi的区别...

    软件工程课程设计银行储蓄管理系统(1).doc

    本文针对上述问题,采用软件工程的开发原理,依据软件流程过程规范,按照需求 分析、概要设计、详细设计、程序编码、测试、软件应用、软件维护等过程开发了一个 银行账户管理系统。采用VSC++作为开发工具,数据库...

    软件工程课程设计银行储蓄管理系统(2).doc

    本文针对上述问题,采用软件工程的开发原理,依据软件流程过程规范,按照需求 分析、概要设计、详细设计、程序编码、测试、软件应用、软件维护等过程开发了一个 银行账户管理系统。采用VSC++作为开发工具,数据库...

    Spring面试题

    Hibernate工作原理及为什么要用? 原理: 1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory 3.打开Sesssion 4.创建事务Transation 5.持久化操作 6.提交事务 7.关闭Session 8.关闭SesstionFactory 为...

    JAVA面试题最全集

    在JSP中如何读取客户端的请求,如何访问CGI变量,如何确定某个Jsp文件的真实路径。 4.描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理。 5.列出Jsp中包含外部文件的方式,两者有何区别。 6....

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    1.2.1 JSP、Servlet和JavaBean及 替代技术 14 1.2.2 JSF及替代技术 15 1.2.3 EJB组件技术简介 15 1.3 JBoss的下载和安装 15 1.3.1 下载和安装JBoss服务器 16 1.3.2 配置JBoss的服务端口 18 1.3.3 进入控制台 19 ...

Global site tag (gtag.js) - Google Analytics