去年就接触JSP了,对它的感觉就三点:1.动态的HTML;2.MVC中的视图层;3.servlet表单提交/嵌入java代码。今天看了一些关于JSP的东西,受益匪浅,觉得自己弱爆了。JSP的确很强大,包括它和java一样的跨平台,servlet的本质,强大的标签库等等。内容不是很多,但我觉得对JSP了解更深了,给大家分享下!
一、JSP的全称
JSP:java server page
JSP可用一种简单易懂的等式表示为:HTML+Java=JSP。
从名称可以看出这样几点:1.jsp是和java相关的,事实上他也就是嵌入java代码,动态执行的;2.jsp是在服务器端执行的;3.jsp有自己的编写规范,有自己的组件,内置对象。
二、JSP是什么
综合以下几点:
1.它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。
2.JSP将
网页逻辑与网页设计和
显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
3.一种动态网页技术标准
三、JSP如何执行
概念层面:
1.表层--->Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
2.本质--->所有JSP页面,在执行的时候都会被服务器端的JSP引擎转换为Servelet(.java),然后又由JSP引擎调用Java编译器,将Servelet(.java)编译为Class文件(.class),并由Java虚拟机(JVM)解释执行。
3.第一次jsp加载延迟--->当一个JSP页面第一次通过JSP引擎运行时,在收到响应前可能有较长的延迟。出现延迟的原因是,JSP引擎需要将JSP转换为Java代码、进行编译以及将它初始化,然后才能响应第一个请求。以后的请求会利用已编译的Servlet。第一个请求后的请求应该会更快地得到处理。
图形层面:
见附件:jsp运行原理.png
代码层面:
见此链接:
http://blog.csdn.net/sdyy321/article/details/5838717(注:个人觉得很受启发)
资料层面:
大家经常会听到JSP引擎,我觉得在WEB容器中,这个Servlet类也被称为JSP引擎。
有一份资料供大家参考--见附件:JSP核心技术——JSP引擎内幕(2010).pdf(注:内除了设计引擎外,还有内置对象、标签、线程安全等等)
四、JSP的优缺点
优点:
1.用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
2.强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
3.多样化和功能强大的开发工具支持。
4.支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVA BEANS 组件来实现复杂商务功能。
缺点:
1.优势即弱势。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。
2.存储空间消耗较大。一方面,Java的运行速度是用class常驻内存来完成的;从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class文件,以及对应的版本文件。
五、JSP九大内置对象
推荐博文:
http://www.cnblogs.com/kelin1314/archive/2011/03/03/1969578.html
六、与JSP易混淆的技术知识
JSP与Servlet
http://blog.sina.com.cn/s/blog_4c204e11010009v0.html
1.两者并无本质上的区别
2.JSP处理显示层,也就是说,只放输出HTML网页的部份;servlet处理业务逻辑层,即数据计算,数据分析,数据库联结处理。
3.在JSP中编写静态HTML更加方便,不必再用println语句来输出每一行HTML代码。
4.JSP内容和外观的分离,编辑好HTML后,由servlet进行插入动态内容。
JSP/ASP
JSP(Java Server Page)与ASP(Active Server Page)两者都是常用的动态网页技术,也都是可以嵌入HTML中的程序,但两者是有着本质的不同,主要从以下几个方面对其进行比较:
1.Web服务器的支持:大多数通用的 Web服务器如:Apache、Netscape和Microsoft IIS都支持JSP页面,只有微软本身的Microsoft IIS和Personal Web Server可以支持ASP。
2.平台的支持:JSP具有平台独立性,只要是一般的Java程序可以运行的平台,都支持JSP程序。Windows平台可以很好的支持ASP,但ASP对于基于Win32逐渐模型的依赖,使得它难于移植到其它平台上。
3.组件模型:JSP是建立在可重用的、跨平台的组件(如:JavaBeans、Enterprises JavaBeans和用户定制的标签库等组件)之上的,而ASP使用的是基于Win32的COM组件模型。
4.脚本语言:JSP可以使用Java编程语言或JavaScript作为脚本语言,而ASP使用VBScript或Jscript作为脚本语言。
5.安全性:JSP使用Java安全模型,而ASP使用Windows NT的安全结构。
6.与Access数据库的连接:JSP使用JDBC建立与Access数据库的连接,而ASP对Access数据库使用Data Active Objects。
7.用户定制的标签:JSP可以使用用户定制标签库进行扩充,而ASP中没有用户定制标签库,ASP是不能扩充的。
----------------------------------------------------------------------
关于jsp的学习东西还有很多,疑惑地方也很多。但本着一颗努力学习、排除万难的心,任它有万丈光芒,竭尽全力照耀我身!
- 大小: 24.1 KB
分享到:
相关推荐
本篇内容将深入解析JSP学习中的关键知识点,帮助你从基础到进阶全面掌握JSP。 **1. JSP基础** JSP是由Sun Microsystems公司提出的,它是在Web服务器上运行的Java技术。JSP文件本质上是HTML文件,但可以嵌入Java代码...
**JSP基础学习资料概述** JavaServer Pages (JSP) 是一种动态网页技术,由Sun Microsystems(现为Oracle公司)开发,它允许开发者在HTML、XML或其他标记语言中嵌入Java代码,从而实现服务器端的动态网页生成。JSP的...
在本项目“jsp英语学习实践系统”中,开发者利用JSP技术构建了一个用于英语学习的交互式平台,为用户提供了丰富的学习资源和实践机会。 ### JSP基础 1. **JSP页面结构**:JSP页面由HTML或XML标记、Java脚本元素和...
【标题】:基于JSP的在线学习系统 【概述】 本在线学习系统是一个采用Java Server Pages(JSP)技术和MySQL数据库构建的平台,旨在提供全面的大学课程学习体验。用户可以通过注册和登录功能参与到系统中,进行各种...
【JSP源码解析与学习】 JavaServer Pages(JSP)是Java平台上的一个服务器端技术,用于创建动态网页。JSP技术的核心理念是将HTML(或XML等标记语言)和Java代码分离,使得Web开发者可以更加专注于页面设计,而...
在学习过程中,初学者应掌握如何使用JSP语法编写动态内容,例如使用内置对象、控制流程(if/else、for、while等)、以及处理用户输入的表单数据。同时,理解JSP与Servlet的关系也是很重要的,因为Servlet是JSP的基础...
在学习过程中,ddvip.net这个文件可能是学习资源的一部分,可能包含代码示例、教程文档或者其他学习资料,对于实际操作和练习非常有价值。 总的来说,Java JSP的学习需要理论与实践相结合,不断动手实践,解决实际...
在学习过程中,动手实践至关重要。通过创建简单的动态页面,逐渐进阶到复杂的应用程序,你会对JSP有更深的理解。"jsp完全学习手册"中的实例和练习将引导你一步步掌握这些技能。 总之,JSP是一个强大且灵活的Web开发...
本书是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习JSP & Servlet时遇到的概念、操作、应用或认证考试等问题及解决方案。 本书针对Servlet 3.0的新功能全面改版,无论是章节架构与范例程序代码,都...
【深度学习JSP留言板】教程源代码包是一个专门为Java Web开发者设计的学习资源,特别是针对那些想要深入了解JSP(JavaServer Pages)编程的人。这个压缩包包含了一系列精心编排的JSP代码示例,旨在帮助初学者逐步...
【JSP学习基础课件】是一套专门为初学者设计的教育资源,旨在帮助新手快速掌握Java Server Pages(JSP)的基本概念和技术。JSP作为一种动态网页开发技术,它结合了Java编程语言的强大功能与HTML的易用性,为构建交互...
在JSP程序设计课程的学习中,我们遇到了许多问题和经验。例如,我们学习了如何处理JSP中的异常情况,如何使用try-catch结构来捕捉错误。我们还学习了如何使用缓存技术来提高系统性能,如何使用CSS样式来设置页面格式...
**JSP学习电子教案JSP** 本资源是一个针对JavaServer Pages (JSP)技术的电子教案,由CSDN推荐并被用户评价为价值颇高的学习资料。它旨在帮助初学者和进阶者更好地理解和掌握JSP编程,使得学习过程更为轻松。在本文...
在IT行业中,Java Server Pages(JSP)是一种广泛使用的服务器端脚本语言,它允许开发者创建动态、交互式的Web应用...在学习过程中,结合实际项目实践,将理论知识与实战经验相结合,能够更好地提升你的JSP开发能力。
总结来说,这份“JSP基础学习的课堂源码”资源涵盖了JSP的基本概念、语法、生命周期、内置对象、动作标签等内容,并通过一个完整的项目示例,让你能够在实践中巩固理论知识,是学习JSP的宝贵资料。
《jsp完全学习手册》是针对JavaServer Pages(JSP)技术的一本全面教程,由清华大学出版社出版。这本书涵盖了从基础到高级的JSP知识,旨在帮助读者深入理解并掌握JSP开发技能。2-23章的代码包含了书中实例的源代码,...
**JSP(Java Server Pages)** 是一种动态网页技术,由Sun Microsystems开发,现在由Oracle公司维护。...JSP的核心概念是分离表现层(视图)和业务...在学习过程中,结合实际项目练习,将有助于更好地理解和应用这些概念。
《JSP完全学习手册》是一本全面覆盖JSP(Java Server Pages)...通过《JSP完全学习手册》的10章学习,读者不仅能够熟练掌握JSP的基础知识,还能深入了解其在实际项目中的应用,为成为合格的Web开发者打下坚实的基础。
Jsp学习是Android客户端目前最全面的免费离线Jsp学习书籍,主要内容包括: 1、Html标签、表格、表单等基础内容 2、Javascript基础 3、Javascript脚本高级特效 4、B/S架构工作原理 5、Jsp标签、表达式、会话管理...