利用JSP 2.0开发Web应用程序

2016-01-29 12:22 3 1 收藏

利用JSP 2.0开发Web应用程序,利用JSP 2.0开发Web应用程序

【 tulaoshi.com - Java 】

 

JSP(JavaServer Pages)技术是对Servlet的进一步抽象,它由JCP(Java Community Process)开发,是用于生成动态内容的开放式的、可免费获取的规范,也是J2EE(Java 2 Enterprise Edition)规范的重要组成部分。许多商业应用服务器如BEA WebLogic、IBM WebSphere、Live Jrun和Orion都支持JSP技术。

从机票预订系统、银行系统到购物系统,Web上到处都在应用JSP技术。新发布的2.0版是对JSP1.2的升级,增加了一些有趣的新特性。JSP2的目标是使动态网页的设计更加容易,而且无需学习Java编程语言。

本文内容包括:

提供具有丰富示例代码的教程来使你熟悉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)表达式的值。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/java/)

在JSP2.0之前,网页作者只能使用表达式<%= aName %访问系统的值,比如下面的例子:

<someTags:aTag attribute="<%= pageContext.getAttribute("aName") %"

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/java/)

或者使用自定义JavaBeans组件的值:

<%= aCustomer.getAddress().getCountry() %

表达式语言允许网页作者使用简单的语法访问对象。比如要访问一个简单变量,可以像下面这样写:

<someTags:aTag attribute="${aName}"

而访问嵌套的JavaBeans属性,则可以像下面这样写:

${aCustomer.address.country}

你可能会问,这不是JavaScript的语法吗?完全正确!如果你使用过JavaScript,就会感到非常轻松,因为表达式语言正是借用了访问结构化数据的JavaScript语法。


注意:表达式语言最初是作为JSP标准标签库(JSTL)1.0的一部分而开发的,JSTL是一种标准标签库,它提供对通用的、结构化的任务的支持,如迭代和条件、XML文档处理、国际化和利用SQL访问数据库等。JSTL规范是由JSR 52专家组开发的。关于JSTL的介绍,请参见Faster Development with JSTL(使用JSTL加速开发).


访问应用程序数据

可以使用点号运算符(.)访问作为对象属性的应用程序数据,也可使用方括号运算符[‘name’]访问命名的数组元素。

表达式${data}表示名为data的scoped变量。可以使用点号(.)或方括号([])运算符从集合中检索属性值:

点号运算符用于访问命名的属性,比如表达式${customer.name}表示scoped变量customer的name属性;
  • 来源:http://www.tulaoshi.com/n/20160129/1485833.html

  • 延伸阅读
    标签: Web开发
    阅读提要 AJAX,一个异步JavaScript和XML的缩略词,是当今快速发展的Web开发界十分热门的技术。在这项新技术提供巨大能力的同时,它也燃发了在"Back"按钮问题上的不容置疑的争论。本文作者将向你解释怎样在真实世界中使用AJAX以及怎样在一个工程中评估它的价值。在你读完本文后,你就会明白什么是AJAX,在什么情况下,为什么以及怎样使用这...
    标签: Web开发
    在过去,由于为了获得新数据而不得不重新加载web页面(或者加载其他页面)导致web应用程序发展被限制。虽然有其他方法可用(不加载其他页面),但是这些技术都没有被很好地支持而且有bug成灾的趋向。在过去的几个月里,一个过去并不被广泛支持的技术已经被越来越多的web冲浪者(web surfers??是指浏览器还是浏览者?)所接受,它给了开发者更...
    标签: Web开发
    一、简介 AJAX,一个异步JavaScript和XML的缩略词,是最近出来的技术词语。异步意味着你可以经由超文本传输协议(HTTP)向一个服务器发出请求并且在等待该响应时继续处理另外的数据。这就意味着,例如,你可以调用一个服务器端脚本来从一个数据库中以XML方式检索数据,把数据发送到存储在一个数据库的服务器脚本,或者简单地装载一个XML文件以...
    阅读提要 AJAX,一个异步JavaScript和XML的缩略词,是当今快速发展的Web开发界十分热门的技术。在这项新技术提供巨大能力的同时,它也燃发了在"Back"按钮问题上的不容置疑的争论。本文作者将向你解释怎样在真实世界中使用AJAX以及怎样在一个工程中评估它的价值。在你读完本文后,你就会明白什么是AJAX,在什么情况下,为什么以及怎样使用这...
    标签: Web开发
    AJAX,一个异步JavaScript和XML的缩略词,是当今快速发展的Web开发界十分热门的技术。在这项新技术提供巨大能力的同时,它也燃发了在"Back"按钮问题上的不容置疑的争论。本文作者将向你解释怎样在真实世界中使用AJAX以及怎样在一个工程中评估它的价值。 在你读完本文后,你就会明白什么是AJAX,在什么情况下,为什么以及怎样使用这项技术...