作者:qusay h. mahmoud
2003年7月 【程序编程相关:Solution with High E】 【推荐阅读:Deploy Environment o】从机票预订系统.银行系统到购物系统,web上到处都在应用jsp技术.新发布的2.0版是对jsp1.2的升级,增加了一些有趣的新特性.jsp2的目标是使动态网页的设计更加容易,而且无需学习java编程语言. 【扩展信息:一份开发文档】
jsp(javaserver pages)技术是对servlet的进一步抽象,它由jcp(java community process)开发,是用于生成动态内容的开放式的.可免费获取的规范,也是j2ee(java 2 enterprise edition)规范的重要组成部分.许多商业应用服务器如bea weblogic.ibm websphere.live jrun与orion都支持jsp技术.
本文内容包括:
提供具有丰富示例代码的教程来使你熟悉jsp2.0 介绍jsp2.0的新特性 提供利用jsp2.0开发应用程序的一些体会 给出了一些示例代码,对这些代码稍加修改即可用于你自己的应用程序.如果你还不熟悉jsp,那么直接从jsp2.0入手是一个不错的主意.但是如果希望学习jsp1.2,也许你需要从jsp教程开始学习.
jsp 2.0
jsp 2.0是对jsp 1.2的升级,增加了几个有趣的新特性,可以使web应用程序设计人员与开发人员的工作更容易一些.jsp 2.0的目标是比以前更易于使用,更重要的是无须学习java语言本身就可以使用它.它增加了一种称为simpletag的新扩展机制来简化标签api(tag api).
除了其他一些改进外,jsp 2.0引入的最主要的新特性包括:
一种简单的表达式语言(el),能够用来容易地从jsp页面访问数据,这种表达式语言简化了基于jsp的不含脚本的应用程序的编写,不需要使用java scriptlet或者java表达式; 用于直接使用jsp技术来定义可重用的自定义行为的新语法,该语法使用.tag与.tagx文件,这类文件可由开发人员或者网页作者编写; 3xml语法得到了实质性的改进,增加了新的标准文件扩展名(.tagx用于标签文件,.jspx用于jsp文件).本文主要讨论表达式语言.简化的标签api与标签文件.相信目前的jsp开发人员将会发现这些重要的特性不但有趣,而且非常有用.
为何要从1.2跨越到2.0?
在java规格请求(jsr 152)中版本号最初定为1.3.但是正如你将在后面看到的那样,由于这些新特性对jsp应用程序的开发模型产生了如此深刻的影响,专家组感到有必要把主版本号升级到2.0,这样才能充分反映这种影响.此外,新的版本号也有助于把开发人员的注意力吸引到这些有趣的新特性上来.令人欣慰的是,所有合法的jsp1.2页面同时也是合法的jsp2.0页面.
jsp 2.0起步
在着手学习jsp 2.0之前,你需要一个支持jsp2.0与java servlet 2.4规范的jsp环境.幸运的是,jakarta tomcat 5.0(alpha测试版)支持新的jsp2.0与servlet 2.4规范,可以从http://jakarta.apache.org/builds/jakarta-tomcat/release/v5.0.4-alpha/下载并安装tomcat 5.0.
jsp表达式语言
向jsp网页传递信息是通过jsp scoped属性与请求参数完成的.专门为网页作者量身定做的一种表达式语言(el)把jsp scoped属性提升为从业务逻辑向jsp页面传递信息的标准方式.但是要注意,尽管这种表达式语言是jsp的一个重要特性,它并不是一种通用的程序语言.它仅仅是一种数据访问语言,可以方便地访问与处理应用程序数据,而无需使用scriptlet或者请求时(request-time)表达式的值.
在jsp2.0之前,网页作者只能使用表达式<%= aname %>访问系统的值,比如下面的例子:
<sometags:atag attribute="<%= pagecontext.getattribute("aname") %>">
或者使用自定义javabeans组件的值:
... 下一页