阿七
级别: 未验证会员
精华:
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,$ I13nmI\ 除了其他一些改进外,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 & | |