我眼中的JSP,永不止步,尽在学习

去年就接触JSP了,对它的感觉就三点:1.动态的HTML;2.MVC中的视图层;3.servlet表单提交/嵌入java代码。今天看了一些关于JSP的东西,受益匪浅,觉得自己弱爆了。JSP的确很强大,包括它和java一样的跨平台,servlet的本质,强大的标签库等等。内容不是很多,但我觉得对JSP了解更深了,给大家分享下!

[b] 一、JSP的全称[/b]
JSP:java server page
JSP可用一种简单易懂的等式表示为:HTML+Java=JSP。
从名称可以看出这样几点:1.jsp是和java相关的,事实上他也就是嵌入java代码,动态执行的;2.jsp是在服务器端执行的;3.jsp有自己的编写规范,有自己的组件,内置对象。
[b] 二、JSP是什么[/b]
综合以下几点:
1.它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。
2.JSP将[u]网页逻辑与网页设计[/u]和[u]显示分离[/u],支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
3.一种动态网页技术标准
[b] 三、JSP如何执行[/b]
[b]概念层面:[/b]
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。第一个请求后的请求应该会更快地得到处理。
[b]图形层面:[/b]
见附件:jsp运行原理.png
[b]代码层面:[/b]
见此链接:[url]http://blog.csdn.net/sdyy321/article/details/5838717[/url](注:个人觉得很受启发)
[b]资料层面:[/b]
大家经常会听到JSP引擎,我觉得在WEB容器中,这个Servlet类也被称为JSP引擎。
有一份资料供大家参考--见附件:JSP核心技术——JSP引擎内幕(2010).pdf(注:内除了设计引擎外,还有内置对象、标签、线程安全等等)
[b]四、JSP的优缺点[/b]
[b]优点:[/b]
1.用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
2.强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
3.多样化和功能强大的开发工具支持。
4.支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVA BEANS 组件来实现复杂商务功能。
[b]缺点:[/b]
1.优势即弱势。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。
2.存储空间消耗较大。一方面,Java的运行速度是用class常驻内存来完成的;从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class文件,以及对应的版本文件。
[b]五、JSP九大内置对象[/b]
推荐博文:[url]http://www.cnblogs.com/kelin1314/archive/2011/03/03/1969578.html[/url]
[b]六、与JSP易混淆的技术知识[/b]
[b]JSP与Servlet[/b]
[url]http://blog.sina.com.cn/s/blog_4c204e11010009v0.html[/url]
1.两者并无本质上的区别
2.JSP处理显示层,也就是说,只放输出HTML网页的部份;servlet处理业务逻辑层,即数据计算,数据分析,数据库联结处理。
3.在JSP中编写静态HTML更加方便,不必再用println语句来输出每一行HTML代码。
4.JSP内容和外观的分离,编辑好HTML后,由servlet进行插入动态内容。
[b]JSP/ASP[/b]
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的学习东西还有很多,疑惑地方也很多。但本着一颗努力学习、排除万难的心,任它有万丈光芒,竭尽全力照耀我身!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值