» 您尚未 登录   注册 | 社区服务 | 帮助 | 社区 | 无图版


常州五颜六色网络技术有限公司 -> 网站建设 -> JSP 2.0 新功能介绍
 XML   RSS 2.0   WAP 

--> 本页主题: JSP 2.0 新功能介绍 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题
阿七




该用户目前不在线
级别: 未验证会员
精华: 0
发帖: 909
威望: 0 点
金钱: 2161 RMB
贡献值: 0 点
在线时间:512(小时)
注册时间:2006-03-29
最后登录:2008-08-07
查看作者资料 发送短消息 推荐此帖 引用回复这个帖子

JSP 2.0 新功能介绍

JSP 2.0 新功能介绍 B(<;]  
#!,tId  
http://now.net.cn/support/host/tomcatjsp.net dpHK~n j\_  
1:I47/  
JSP2.0 新功能介绍 <a@'Pcsk  
-------------------------------------------------------------------------------- %T3 L-{s5  
!C&!Wj  
作为国内首家推出JSP虚拟主机的网络提供商,时代互联一直都致力于为用户提供更好的、更稳定、更先进的空间服务。我们经过一段时间的对JSP服务器Tomcat最新版本5.0.16的跟踪和测试,感觉到其各方面的性能比前面的版本的确有很大的提高。同时由于对jsp2.0的支持,极大的提高了WEB程序开发和维护的效率,所以时代互联的Tomcat服务器定在2004年2月上旬左右升级为Tomcat5.0.x。 N :E7rtT,M  
`@MY}/ o.  
以下就简要介绍一下JSP2.0很多全新特性,让大家对JSP2.0有一个初步的了解。要知道, we6']iaV  
5;=,BWU  
时代互联的Tomcat5.0.x服务器支持JSP2.0的所有特性的。 JSP(JavaServer Pages)技术是对Servlet的进一步抽象,它由JCP(Java Community Process)开发,是用于生成动态内容的开放式的、可免费获取的规范,也是J2EE(Java 2 Enterprise Edition)规范的重要组成部分。JSP2.0版是对JSP1.2的升级,增加了一些有趣的新特性。JSP2.0的目标是: LD]>_P83  
使动态网页的设计更加容易 oi4tj.!J  
简化JSP页面,使得JSP页面容易维护 T7eo_Mn  
使WEB应用程序前后台应用更清晰 Q /T\Rr_d  
无需学习Java编程语言就可以编写JSP页面 :( A5 ,$  
I13n mI\  
除了其他一些改进外,JSP 2.0引入的最主要的新特性包括: q=8I0E&q  
一种简单的表达式语言(EL),能够用来容易地从JSP页面访问数据,这种表达式语言简化了基于JSP的不含脚本的应用程序的编写,不需要使用Java Scriptlet或者Java表达式; T9enyYt%  
用于直接使用JSP技术来定义可重用的自定义行为的新语法,该语法使用.tag和.tagx文件,这类文件可由开发人员或者网页作者编写; ?A7&SdJaO  
XML语法得到了实质性的改进,增加了新的标准文件扩展名(.tagx用于标签文件,.jspx用于JSP文件)。 (r_xs  
时代互联新升级的TOMCAT5.0.x服务器支持以上JSP2.0的全部特性,下面讨论表达式语言、简化的标签API和标签文件,以下的JSP程序都是在TOMCAT5.0.X上实现的。相信目前的JSP开发人员将会发现这些重要的特性不但有趣,而且非常有用。 {Z <4  
FilHpnQCt  
一. JSP表达式语言 _ EL扩展表达式语言 Bfw]#"N`  
(I~-mzu\  
EL(表达式语言)是一种数据访问语言,可以方便地访问和处理应用程序数据,而无需使用scriptlet或者请求时(request-time)表达式的值。(不需要使用<% 和%>来获得数据,EL使JSP页面编写人员摆脱了java语言,使用户即使不懂JAVA也可以轻松编写JSP程序. V6'"J  
yP\KIm!  
在JSP2.0之前,网页作者只能使用表达式<%= aName %>访问系统的值,比如: `A O_e4D0i  
3P C'P2  
<someTags:aTag attribute="<%= pageContext.getAttribute("aName") %>"> 或者 <%= aCustomer.getAddress().getCountry() %> ?[Xv(60]  
]Bw2>6W  
而表达式语言允许网页作者使用简单的语法访问对象。比如要访问一个简单变量,可以像下面这样写: H3T4v1o6  
A=q)kcuy5  
<someTags:aTag attribute="${aName}"> F"xD^<i  
>x0"gh  
而访问JavaBeans属性,可以使用:${aCustomer.address.country} j!9p#JK#u  
1t{h)fwi  
Tomcat对EL扩展表达式的支持和配置: &6nOCU)  
tomcat5.0默认支持EL,同时用户可以在Web.xml文件中对整个web应用程序进行设置或者在每个页面中单独设置page指令来控制TOMCAT是否对EL的支持。EL扩展表达式语言的设置 4R-Y9:^t  
表达式运算符号: V,?i]q;5  
EL表达式运算符包括算数运算符(+-*/),关系运算符(><)和逻辑运算符(&& || !),还有empty 判断值是否为空,同时EL能够对字符串,数字等各种类型的数据之间的自动转换,使EL 兼容了JAVASCRIPT等脚本语言的优点,摆脱了JAVA语言严格的数据类型限制,使用起来简单,只需要几分钟就可以轻松掌握(对于不懂java的网页编写人员实在是一件好事)。各种运算符运算实例 5tI4m#y2  
内置的11个隐含对象: jt-Cy  
为方便的获得WEB应用程序的相关数据,EL表达式语言定义了一些隐含对象。隐含对象共有11个对象,(JSP中具有9个隐含对象,EL比JSP中具有更多的隐含对象,这样EL比JSP更方便的获取数据) 使用这些对象可以很方便的访问Web 程序数据。 -miWXEe@l  
隐含对象包括Session(获得当前web程序的Session值),cookie(获得WEB程序的Cookie值),header,headerValues(获得用户的Http数据访问头部信息),Param和ParamValues(获得用户提交数据参数)等。 :X-Z|Pv8  
FHWzwi*u}  
使用${隐含对象名称["元素"]} 就可以获得这个值了,例如${header("host")} 可以显示http头部中host的值,${param("username")},可以获得显示用户表单提交的用户. 使用${empty(param("username")} 可以判断用户提交表单是否为空等。(这样比jsp1.2中使用request.getParamter("username") 要简化和方便很多了) a=bP   
WvVHSa 4{  
隐含对象及隐含对象访问实例 dOPA0Ja  
访问应用程序数据 "/6<k0.D&  
除了可以方便的访问内置的隐含对象外,EL还可以方便的到应用程序数据,访问应用程序数据使用两种方式 . (点号运算符)访问对象的属性,也可以使用[] 来访问数组元素(实际上EL中访问隐含对象数据也是使用这两种方式的)   访问应用程序实例 p@`rB zGp  
&U\Xy+  
表达式${data}表示名为data的scoped变量。可以使用点号(.)或方括号([])运算符从集合中检索属性值:(两种数据访问方式演示) /HR9(j6  
{B$cd?}  
点号运算符用于访问命名的属性,比如表达式${customer.name}表示scoped变量customer的name属性; W!B4~L  
方括号运算符可用于检索命名的属性,比如在${customer[“name”]}中。也可以通过${customers[0]}的形式来访问集合customers中的第一项。 [wB-e~   
EL表达式语言同时还统一了对点号和方括号运算符的处理,因此${customer.name}与${customer[“name”]}是等价的。 6FPGQ0q  
G!},jO*"  
访问应用程序数据需要进行以下几个步骤: x  8lgDO  
1.编写public类的static public 方法,只有static public的方法才能被标记表达试访问。 -N`j` zb|  
2.将方法映射到TLD表中 IxC/X5Mp^q  
3.在JSP页面中调用要引用的Taglib标记,然后就可以在jsp页面中访问了。 ]Hk8XT@Q+  
#W`>vd}  
上面关于EL 表达式语言的介绍就暂告一个段落,EL表达式是不是很简单,很方便? 下面的要说的才是EL 显示其真正威力的地方--简单标记库扩展 SimpleTag jSbO1go#  
%jEdgD%xV  
二. 简单标志库扩展 _SimpleTag \zA$|) x  
在jsp1.2时代已经有标记库了, 并且功能强大,但标记库的编程和调用都比较复杂,导致真正使用到WEB开发中的还是不多。JSP2.0推出的简单标记库扩展解决了以上的问题。简单标记库相对JSP1.2中的标记库来说,优点在于: hl}@ha4'  
sOA!Sl  
对后台程序员来说:结构更简单,实现接口更少,可以轻松实现后台程序 lV!ecJw$  
3c] oU1GfF  
JSP 2.0中加入了新的创建自制标记的API:javax.servlet.jsp.tagext.SimpleTag,该API定义了用来实现简单标记的接口。和JSP 1.2中的已有接口不同的是,SimpleTag接口不使用doStartTag()和doEndTag()方法,而提供了一个简单的doTag()方法。这个方法在调用该标记时只被使用一次。而需要在一个自制标记中实现的所有逻辑过程、循环和对标记体的评估等都在这个方法中实现。从这个方面来讲,SimpleTag可以和IterationTag达到同等的作用。但SimpleTag的方法和处理周期要简单得多。在SimpleTag中还有用来设置JSP内容的setJspBody()和getJspBody()方法。Web容器会使用setJspBody()方法定义一个代表JSP内容的JspFragment对象。实现SimpleTag标记的程序可以在doTag方法中根据需要多次调用getJspBody().invoke()方法以处理JSP内容。 wWm 1G)  
]F5?>du@~  
对于前台WEB页面制作人员:在JSP1.2时代,Taglib页面调用实际上是比较复杂的,SimpleTag+EL表达式语言极大的简化了Taglib调用,真正达到不懂JAVA的人员也可以轻松编写JSP页面的目的。 F`,XB[}2  
lVY`^pw?  
一个Taglib页面的编写和调用包括三个流程(简单标志扩展实例): PY7j uS[+  
1. 后台程序员编写要被调用的程序 ]0P-?O:  
2. 编辑Tag标志描述文件,这个文件要放在WEB-INF\jsp2下面,并且这个文件要以tld为文件结尾。 prE~GO7Z  
3.JSP页面人员就可以直接调用了。 J =o,: 3"  
使用标签文件(JSP fragment): ZY-UQ4_|u  
使用简单标签扩展机制的另一种简单的方法是通过标签文件。 QCkPua9  
标签文件是一种资源文件,网页作者可以利用它抽取一段JSP代码,通过定制功能来实现代码的复用。换句话说,标签文件允许JSP网页作者使用JSP语法创建可复用的标签库。标签文件的扩展名必须是“.tag”。表面上标签文件文件和jsp1.2中的jsp:include 指令中的包含文件好像是一样的,但实际上还是有一些不同的,标签文件一般功能比较短小简单而且重复使用率高的一些代码。看一个简单的标签文件吧 GKdQ   
标签文件(JSP fragment)的基本特点是可以使处理JSP的容器推迟评估JSP标记属性。我们知道一般JSP是首先评估JSP标记的属性,然后在处理JSP标记时使用这些属性,而JSP fragment提供了动态的属性。也就是说,这些属性在JSP处理其标记体时是可以被改变的。标签文件是用文本文件格式(JSP语法)实现自制标记,这也是JSP 2.0的一个主要新功能。我们再看一下标签文件的动态复用的一个例子 # JHicx\8l  
4$9WJ ~V{  
B0I(/ 7  
体验到了JSP2.0的新特性吗?是不是非常方便好用? 提醒你一下时代互联的JSP服务器Tomcat5.0.x支持以上jsp2.0的各种特性。赶快来时代互联申请一个支持jsp2.0的JSP空间体验一下吧。这里可有很多款规格的JSP空间来满足你的需要哦。

[楼 主] | Posted: 2006-04-03 11:24 顶端

常州五颜六色网络技术有限公司 -> 网站建设



Copyright © 2005-2009 5y6s Inc. 苏ICP备05001866号 Powered by PHPWind 5.0.1
Total 0.021597(s) query 4, Gzip enabled
会员言论不代表本站立场 本站法律顾问:北京汇泽律师事务所 韩律师
QQ:点击这里给我发消息 /点击这里给我发消息 /点击这里给我发消息