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


常州五颜六色网络技术有限公司 -> 网站建设 -> 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 新功能介绍 Oc%W_Gb7  
j},3@TFh  
http://now.net.cn/support/host/tomcatjsp.net zAH6SaI$  
sk7]s7  
JSP2.0 新功能介绍 Pd;Gc@'~  
-------------------------------------------------------------------------------- y=SVS3D  
!:M+7kmr7t  
作为国内首家推出JSP虚拟主机的网络提供商,时代互联一直都致力于为用户提供更好的、更稳定、更先进的空间服务。我们经过一段时间的对JSP服务器Tomcat最新版本5.0.16的跟踪和测试,感觉到其各方面的性能比前面的版本的确有很大的提高。同时由于对jsp2.0的支持,极大的提高了WEB程序开发和维护的效率,所以时代互联的Tomcat服务器定在2004年2月上旬左右升级为Tomcat5.0.x。 9i+`,r  
_~O*V&  
以下就简要介绍一下JSP2.0很多全新特性,让大家对JSP2.0有一个初步的了解。要知道, !AN;  
R0YWe  
时代互联的Tomcat5.0.x服务器支持JSP2.0的所有特性的。 JSP(JavaServer Pages)技术是对Servlet的进一步抽象,它由JCP(Java Community Process)开发,是用于生成动态内容的开放式的、可免费获取的规范,也是J2EE(Java 2 Enterprise Edition)规范的重要组成部分。JSP2.0版是对JSP1.2的升级,增加了一些有趣的新特性。JSP2.0的目标是: :r9<wbr)k0  
使动态网页的设计更加容易 W(Rp@=!C  
简化JSP页面,使得JSP页面容易维护 I *H($ a  
使WEB应用程序前后台应用更清晰 3>mAZZL5[  
无需学习Java编程语言就可以编写JSP页面 1x^Vv;K  
heQyz|o  
除了其他一些改进外,JSP 2.0引入的最主要的新特性包括: %F13*hOu  
一种简单的表达式语言(EL),能够用来容易地从JSP页面访问数据,这种表达式语言简化了基于JSP的不含脚本的应用程序的编写,不需要使用Java Scriptlet或者Java表达式; /cZTj!M  
用于直接使用JSP技术来定义可重用的自定义行为的新语法,该语法使用.tag和.tagx文件,这类文件可由开发人员或者网页作者编写; in`|.#  
XML语法得到了实质性的改进,增加了新的标准文件扩展名(.tagx用于标签文件,.jspx用于JSP文件)。 zJo?,c  
时代互联新升级的TOMCAT5.0.x服务器支持以上JSP2.0的全部特性,下面讨论表达式语言、简化的标签API和标签文件,以下的JSP程序都是在TOMCAT5.0.X上实现的。相信目前的JSP开发人员将会发现这些重要的特性不但有趣,而且非常有用。 S ^$!n,  
`\J,%J  
一. JSP表达式语言 _ EL扩展表达式语言 D.gD4g_O/  
$N\k*=  
EL(表达式语言)是一种数据访问语言,可以方便地访问和处理应用程序数据,而无需使用scriptlet或者请求时(request-time)表达式的值。(不需要使用<% 和%>来获得数据,EL使JSP页面编写人员摆脱了java语言,使用户即使不懂JAVA也可以轻松编写JSP程序. m~-O}i~)  
z0@BBXQ`  
在JSP2.0之前,网页作者只能使用表达式<%= aName %>访问系统的值,比如: Z?u}?-b1\H  
@D>qo=KPM  
<someTags:aTag attribute="<%= pageContext.getAttribute("aName") %>"> 或者 <%= aCustomer.getAddress().getCountry() %>  U7HfDDh  
Hb0_QT~  
而表达式语言允许网页作者使用简单的语法访问对象。比如要访问一个简单变量,可以像下面这样写: P=l 7m*m  
Z"$iB-]  
<someTags:aTag attribute="${aName}"> X.ecA`0  
s"R5'W\U  
而访问JavaBeans属性,可以使用:${aCustomer.address.country} 3!{Tw6A8(  
5= T$h;O  
Tomcat对EL扩展表达式的支持和配置: _=}.Sg5Q  
tomcat5.0默认支持EL,同时用户可以在Web.xml文件中对整个web应用程序进行设置或者在每个页面中单独设置page指令来控制TOMCAT是否对EL的支持。EL扩展表达式语言的设置 snYeo?|b  
表达式运算符号: 0#4A 0[vV  
EL表达式运算符包括算数运算符(+-*/),关系运算符(><)和逻辑运算符(&& || !),还有empty 判断值是否为空,同时EL能够对字符串,数字等各种类型的数据之间的自动转换,使EL 兼容了JAVASCRIPT等脚本语言的优点,摆脱了JAVA语言严格的数据类型限制,使用起来简单,只需要几分钟就可以轻松掌握(对于不懂java的网页编写人员实在是一件好事)。各种运算符运算实例 e$/y ~!  
内置的11个隐含对象: mZO-^ct4  
为方便的获得WEB应用程序的相关数据,EL表达式语言定义了一些隐含对象。隐含对象共有11个对象,(JSP中具有9个隐含对象,EL比JSP中具有更多的隐含对象,这样EL比JSP更方便的获取数据) 使用这些对象可以很方便的访问Web 程序数据。 n|Ts:>`V  
隐含对象包括Session(获得当前web程序的Session值),cookie(获得WEB程序的Cookie值),header,headerValues(获得用户的Http数据访问头部信息),Param和ParamValues(获得用户提交数据参数)等。 E1SWZ&';  
sf/m@425  
使用${隐含对象名称["元素"]} 就可以获得这个值了,例如${header("host")} 可以显示http头部中host的值,${param("username")},可以获得显示用户表单提交的用户. 使用${empty(param("username")} 可以判断用户提交表单是否为空等。(这样比jsp1.2中使用request.getParamter("username") 要简化和方便很多了) d"L(eI}G  
=cO5Nt  
隐含对象及隐含对象访问实例 hu.p;A3p;  
访问应用程序数据 e4|a^lS;  
除了可以方便的访问内置的隐含对象外,EL还可以方便的到应用程序数据,访问应用程序数据使用两种方式 . (点号运算符)访问对象的属性,也可以使用[] 来访问数组元素(实际上EL中访问隐含对象数据也是使用这两种方式的)   访问应用程序实例 wY ??#pS  
41P0)o  
表达式${data}表示名为data的scoped变量。可以使用点号(.)或方括号([])运算符从集合中检索属性值:(两种数据访问方式演示) TO.STK`  
6TTu[*0NT  
点号运算符用于访问命名的属性,比如表达式${customer.name}表示scoped变量customer的name属性; (H"{r  
方括号运算符可用于检索命名的属性,比如在${customer[“name”]}中。也可以通过${customers[0]}的形式来访问集合customers中的第一项。 g/}d> 6  
EL表达式语言同时还统一了对点号和方括号运算符的处理,因此${customer.name}与${customer[“name”]}是等价的。 ~f"3Wa*\B  
{]dG 9  
访问应用程序数据需要进行以下几个步骤: WP?]"H  
1.编写public类的static public 方法,只有static public的方法才能被标记表达试访问。 2vU-9p {  
2.将方法映射到TLD表中 P (DEf (  
3.在JSP页面中调用要引用的Taglib标记,然后就可以在jsp页面中访问了。 3Gr"YG{,  
%|ClYr  
上面关于EL 表达式语言的介绍就暂告一个段落,EL表达式是不是很简单,很方便? 下面的要说的才是EL 显示其真正威力的地方--简单标记库扩展 SimpleTag 7r^Cs#b+I  
#d*0 )w  
二. 简单标志库扩展 _SimpleTag  JZ+6)R  
在jsp1.2时代已经有标记库了, 并且功能强大,但标记库的编程和调用都比较复杂,导致真正使用到WEB开发中的还是不多。JSP2.0推出的简单标记库扩展解决了以上的问题。简单标记库相对JSP1.2中的标记库来说,优点在于: zA}JVB  
m5&Ht (I%n  
对后台程序员来说:结构更简单,实现接口更少,可以轻松实现后台程序 %hN(79:g  
}EYmz/nN  
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内容。 8EMBqhl  
{&XTa`C  
对于前台WEB页面制作人员:在JSP1.2时代,Taglib页面调用实际上是比较复杂的,SimpleTag+EL表达式语言极大的简化了Taglib调用,真正达到不懂JAVA的人员也可以轻松编写JSP页面的目的。 Z,/^lg c,  
](v,2(}=  
一个Taglib页面的编写和调用包括三个流程(简单标志扩展实例): Nsq=1) <  
1. 后台程序员编写要被调用的程序 >2#<tH0  
2. 编辑Tag标志描述文件,这个文件要放在WEB-INF\jsp2下面,并且这个文件要以tld为文件结尾。 xf/ K+  
3.JSP页面人员就可以直接调用了。 9C2pGfEbn}  
使用标签文件(JSP fragment): r]&sXKDc  
使用简单标签扩展机制的另一种简单的方法是通过标签文件。 n#Dy YVb  
标签文件是一种资源文件,网页作者可以利用它抽取一段JSP代码,通过定制功能来实现代码的复用。换句话说,标签文件允许JSP网页作者使用JSP语法创建可复用的标签库。标签文件的扩展名必须是“.tag”。表面上标签文件文件和jsp1.2中的jsp:include 指令中的包含文件好像是一样的,但实际上还是有一些不同的,标签文件一般功能比较短小简单而且重复使用率高的一些代码。看一个简单的标签文件吧 p`rjWpH  
标签文件(JSP fragment)的基本特点是可以使处理JSP的容器推迟评估JSP标记属性。我们知道一般JSP是首先评估JSP标记的属性,然后在处理JSP标记时使用这些属性,而JSP fragment提供了动态的属性。也就是说,这些属性在JSP处理其标记体时是可以被改变的。标签文件是用文本文件格式(JSP语法)实现自制标记,这也是JSP 2.0的一个主要新功能。我们再看一下标签文件的动态复用的一个例子 )U te  
9H;Os:"\|  
38m9t'  
体验到了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.015241(s) query 6, Gzip enabled
会员言论不代表本站立场 本站法律顾问:北京汇泽律师事务所 韩律师
QQ:点击这里给我发消息 /点击这里给我发消息 /点击这里给我发消息