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


常州五颜六色网络技术有限公司 -> 网站建设 -> 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 新功能介绍 ?C}sR:K/  
#aa1<-&H  
http://now.net.cn/support/host/tomcatjsp.net 0E yAMu  
^L ]B5,} -  
JSP2.0 新功能介绍 Gp, 'kw"I  
-------------------------------------------------------------------------------- |Hfl&3  
uNy!< u  
作为国内首家推出JSP虚拟主机的网络提供商,时代互联一直都致力于为用户提供更好的、更稳定、更先进的空间服务。我们经过一段时间的对JSP服务器Tomcat最新版本5.0.16的跟踪和测试,感觉到其各方面的性能比前面的版本的确有很大的提高。同时由于对jsp2.0的支持,极大的提高了WEB程序开发和维护的效率,所以时代互联的Tomcat服务器定在2004年2月上旬左右升级为Tomcat5.0.x。 b) Ux3PB  
5:$Xtq  
以下就简要介绍一下JSP2.0很多全新特性,让大家对JSP2.0有一个初步的了解。要知道, $5x]%1 R  
SAy{YOLtl  
时代互联的Tomcat5.0.x服务器支持JSP2.0的所有特性的。 JSP(JavaServer Pages)技术是对Servlet的进一步抽象,它由JCP(Java Community Process)开发,是用于生成动态内容的开放式的、可免费获取的规范,也是J2EE(Java 2 Enterprise Edition)规范的重要组成部分。JSP2.0版是对JSP1.2的升级,增加了一些有趣的新特性。JSP2.0的目标是: ^Wm*-4  
使动态网页的设计更加容易 T!(sZf  
简化JSP页面,使得JSP页面容易维护 pUGN!3  
使WEB应用程序前后台应用更清晰 rfc|`*m}0  
无需学习Java编程语言就可以编写JSP页面 >%l:Dw\A:  
wh*:\_!0\  
除了其他一些改进外,JSP 2.0引入的最主要的新特性包括: a>w~FUm*  
一种简单的表达式语言(EL),能够用来容易地从JSP页面访问数据,这种表达式语言简化了基于JSP的不含脚本的应用程序的编写,不需要使用Java Scriptlet或者Java表达式; UG #X/%p  
用于直接使用JSP技术来定义可重用的自定义行为的新语法,该语法使用.tag和.tagx文件,这类文件可由开发人员或者网页作者编写; W6i3Psjsw  
XML语法得到了实质性的改进,增加了新的标准文件扩展名(.tagx用于标签文件,.jspx用于JSP文件)。 ~XKZXGw  
时代互联新升级的TOMCAT5.0.x服务器支持以上JSP2.0的全部特性,下面讨论表达式语言、简化的标签API和标签文件,以下的JSP程序都是在TOMCAT5.0.X上实现的。相信目前的JSP开发人员将会发现这些重要的特性不但有趣,而且非常有用。 NZP7r;u  
aDh|48}X  
一. JSP表达式语言 _ EL扩展表达式语言 3 1k  
v1h.pbz`w  
EL(表达式语言)是一种数据访问语言,可以方便地访问和处理应用程序数据,而无需使用scriptlet或者请求时(request-time)表达式的值。(不需要使用<% 和%>来获得数据,EL使JSP页面编写人员摆脱了java语言,使用户即使不懂JAVA也可以轻松编写JSP程序. ~5T$8^K  
5e8xKL  
在JSP2.0之前,网页作者只能使用表达式<%= aName %>访问系统的值,比如: J)KnE2dw5  
;Yv14{T!  
<someTags:aTag attribute="<%= pageContext.getAttribute("aName") %>"> 或者 <%= aCustomer.getAddress().getCountry() %> R+uw/LG  
nd.hHQ   
而表达式语言允许网页作者使用简单的语法访问对象。比如要访问一个简单变量,可以像下面这样写: F 3s?&T)[G  
AOAO8%|I  
<someTags:aTag attribute="${aName}"> 2lo:a{}j  
%/!+(7 D  
而访问JavaBeans属性,可以使用:${aCustomer.address.country} {Zl4C;c  
P7UJ-2%Y+  
Tomcat对EL扩展表达式的支持和配置: He<;4?:  
tomcat5.0默认支持EL,同时用户可以在Web.xml文件中对整个web应用程序进行设置或者在每个页面中单独设置page指令来控制TOMCAT是否对EL的支持。EL扩展表达式语言的设置 (l_:XG)7~b  
表达式运算符号: lQ$+JX;n(y  
EL表达式运算符包括算数运算符(+-*/),关系运算符(><)和逻辑运算符(&& || !),还有empty 判断值是否为空,同时EL能够对字符串,数字等各种类型的数据之间的自动转换,使EL 兼容了JAVASCRIPT等脚本语言的优点,摆脱了JAVA语言严格的数据类型限制,使用起来简单,只需要几分钟就可以轻松掌握(对于不懂java的网页编写人员实在是一件好事)。各种运算符运算实例 JqS r[q  
内置的11个隐含对象: Wn~ZA#  
为方便的获得WEB应用程序的相关数据,EL表达式语言定义了一些隐含对象。隐含对象共有11个对象,(JSP中具有9个隐含对象,EL比JSP中具有更多的隐含对象,这样EL比JSP更方便的获取数据) 使用这些对象可以很方便的访问Web 程序数据。 )qd= {  
隐含对象包括Session(获得当前web程序的Session值),cookie(获得WEB程序的Cookie值),header,headerValues(获得用户的Http数据访问头部信息),Param和ParamValues(获得用户提交数据参数)等。 P5P< "  
Qt~B#R. V  
使用${隐含对象名称["元素"]} 就可以获得这个值了,例如${header("host")} 可以显示http头部中host的值,${param("username")},可以获得显示用户表单提交的用户. 使用${empty(param("username")} 可以判断用户提交表单是否为空等。(这样比jsp1.2中使用request.getParamter("username") 要简化和方便很多了) 3HKxYvc C  
u>}zm_  
隐含对象及隐含对象访问实例 z<h|#@\  
访问应用程序数据 ~j]dct7  
除了可以方便的访问内置的隐含对象外,EL还可以方便的到应用程序数据,访问应用程序数据使用两种方式 . (点号运算符)访问对象的属性,也可以使用[] 来访问数组元素(实际上EL中访问隐含对象数据也是使用这两种方式的)   访问应用程序实例 `)2[ST  
@ t|3gF$X  
表达式${data}表示名为data的scoped变量。可以使用点号(.)或方括号([])运算符从集合中检索属性值:(两种数据访问方式演示) l=NAq_?N\  
{#9,j]<  
点号运算符用于访问命名的属性,比如表达式${customer.name}表示scoped变量customer的name属性; ~QCA -Yud  
方括号运算符可用于检索命名的属性,比如在${customer[“name”]}中。也可以通过${customers[0]}的形式来访问集合customers中的第一项。 B/G3T u uG  
EL表达式语言同时还统一了对点号和方括号运算符的处理,因此${customer.name}与${customer[“name”]}是等价的。 r,"7%1I  
~b#OFnyG  
访问应用程序数据需要进行以下几个步骤: 3(o7co-f  
1.编写public类的static public 方法,只有static public的方法才能被标记表达试访问。 yf?W^{^|  
2.将方法映射到TLD表中 3a9u"8lG  
3.在JSP页面中调用要引用的Taglib标记,然后就可以在jsp页面中访问了。 rmQ\RP W  
w?S8@|MK  
上面关于EL 表达式语言的介绍就暂告一个段落,EL表达式是不是很简单,很方便? 下面的要说的才是EL 显示其真正威力的地方--简单标记库扩展 SimpleTag # \<P]<C  
mYzcVhV  
二. 简单标志库扩展 _SimpleTag p7$3`t 6u  
在jsp1.2时代已经有标记库了, 并且功能强大,但标记库的编程和调用都比较复杂,导致真正使用到WEB开发中的还是不多。JSP2.0推出的简单标记库扩展解决了以上的问题。简单标记库相对JSP1.2中的标记库来说,优点在于: wx./"m.M  
?uig04@3  
对后台程序员来说:结构更简单,实现接口更少,可以轻松实现后台程序 FCAJavOGH  
L\YZT| K(  
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内容。 W#V fX!~  
nSS}%&a:LX  
对于前台WEB页面制作人员:在JSP1.2时代,Taglib页面调用实际上是比较复杂的,SimpleTag+EL表达式语言极大的简化了Taglib调用,真正达到不懂JAVA的人员也可以轻松编写JSP页面的目的。 )%BT*)x  
RW)k_#%=  
一个Taglib页面的编写和调用包括三个流程(简单标志扩展实例): C`pan /t  
1. 后台程序员编写要被调用的程序 eWw y28t  
2. 编辑Tag标志描述文件,这个文件要放在WEB-INF\jsp2下面,并且这个文件要以tld为文件结尾。 TtZrttCE6  
3.JSP页面人员就可以直接调用了。 9c%(]Rn:  
使用标签文件(JSP fragment): [XxA.S)x3  
使用简单标签扩展机制的另一种简单的方法是通过标签文件。 ?nY/, q&  
标签文件是一种资源文件,网页作者可以利用它抽取一段JSP代码,通过定制功能来实现代码的复用。换句话说,标签文件允许JSP网页作者使用JSP语法创建可复用的标签库。标签文件的扩展名必须是“.tag”。表面上标签文件文件和jsp1.2中的jsp:include 指令中的包含文件好像是一样的,但实际上还是有一些不同的,标签文件一般功能比较短小简单而且重复使用率高的一些代码。看一个简单的标签文件吧 x7Eeb!s0f,  
标签文件(JSP fragment)的基本特点是可以使处理JSP的容器推迟评估JSP标记属性。我们知道一般JSP是首先评估JSP标记的属性,然后在处理JSP标记时使用这些属性,而JSP fragment提供了动态的属性。也就是说,这些属性在JSP处理其标记体时是可以被改变的。标签文件是用文本文件格式(JSP语法)实现自制标记,这也是JSP 2.0的一个主要新功能。我们再看一下标签文件的动态复用的一个例子 CO7CNN  
gl Li  
 eMzt jN  
体验到了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.029680(s) query 6, Gzip enabled
会员言论不代表本站立场 本站法律顾问:北京汇泽律师事务所 韩律师
QQ:点击这里给我发消息 /点击这里给我发消息 /点击这里给我发消息