点击这里给我发消息 点击这里给我发消息

JSP技术优缺点深入分析[2]

添加时间:2013-12-7
    相关阅读: 设计 开发 技术 解决方案 方案 页面 程序

  为了演示将 java代码加入到标记中,清单 4 中的 jsp代码片段根据需要动态地添加行,以表示 actors 的 Vector 中的每一项。

  ﹤%@ page import="com.ibm.display.PageUtils" %﹥

  ﹤%@ page import="com.ibm.display.PageInfo" %﹥

  ﹤%@ page import="com.ibm.people.Actor" %﹥

  ﹤%@ page import="java.util.Iterator" %﹥

  ﹤%@ page import="java.util.Vector" %﹥

  ﹤%

  PageInfo pageInfo = (PageInfo)session.getAttribute("PAGE_DATA")

  Vector actors = pageInfo.getActors()

  %﹥

  ﹤html﹥

  ﹤HEAD﹥

  ﹤TITLE﹥

  ﹤%=pageInfo.getTitle()%﹥

  ﹤/TITLE﹥

  ﹤/HEAD﹥

  ﹤BODY﹥

  ﹤H2 ALIGN="center"﹥Search Results: Actors﹤/H2﹥

  ﹤CENTER﹥

  ﹤HR width="85%"﹥

  ﹤TABLE width="50%" CELLPADDING="3" CELLSPACING="3" border="1"

  bgcolor="#FFFFCC"﹥

  ﹤%

  for (Iterator i = actors.iterator(); i.hasNext()) {

  Actor actor = (Actor)i.next();

  %﹥

  ﹤TR BGCOLOR="#FFCCCC"﹥

  ﹤TH width="50%" ALIGN="center"﹥

  ﹤%=actor.getLastName()%﹥

  ﹤/TH﹥

  ﹤TH width="50%" ALIGN="center"﹥

  ﹤%=actor.getFirstName()%﹥

  ﹤/TH﹥

  ﹤/TR﹥

  ﹤%

  }

  %﹥

  ﹤/TABLE﹥

  ﹤/CENTER﹥

  ﹤/BODY﹥

  ﹤/HTML﹥

  注意,目前为止,我仅仅介绍了 JSP 技术的最初设计目标;在下一节介绍 JSP 技术存在的问题之后,我将对这个目标作出自己的论断。不过,您可能已经开始有点好奇,因为将代码嵌入到 JSP 页面中似乎与 JSP 技术的首要目标(分离内容和表示)有所冲突。实际上,我还没有就此展开论述。

  设计师和开发人员

  JSP 技术的最终(也是值得称赞)的目标是,它尝试在应用程序开发过程中形成清晰定义的角色。通过在表面上分离内容和表示,JSP 技术能够更加清晰地区分设计师和开发人员角色。设计师使用标准的 HTML、WML 或其他合适的语言创建标记,而开发人员编写代码。当然,如今很多设计师学习了 JavaScript 语言,因此,这些设计师开始学习 JSP 编码也不是什么令人吃惊的事情。通常,设计师并不会单纯地创建纯标记,他们会编写一个完整的 JSP 页面并将其交给开发人员。然后经过频繁的修改,开发人员再将 JSP 页面作为完整应用程序的前端使用。但是,这里的关键问题是仍然有很多设计师没有学习 JSP 编码,他们也必须能够在这种环境下工作。

  出现的问题

  我刚刚介绍了一种良好的表示技术应该提供的功能,以及 JSP 技术尝试解决的具体问题。现在,我将转入正题:JSP 技术虽然建立在良好理念的基础之上,但是却出现了一些问题。在选择 JSP 编写您的应用程序之前(您可能仍然会这样做),至少应该注意一些容易出现的问题。

  您还需要注意经常被忽略的 J2EE 编程平台:仅仅因为平台附带了 API 并不意味着一定要使用它。和这种想法同样可笑的是,很多开发人员在使用 JSP、EJB 或 JMS API 时,都在想如果不使用这些 API 的话,他们的应用程序就不是真正的 “J2EE 应用程序” 了。实际上,平台提供的 API 远远超过大多数应用程序的需要。如果您不能使用或对 JSP 技术还持有怀疑态度,那么可以不使用它!在选择 JSP 编写应用程序之前,仔细研究它的优点和 缺点。让我们看看其中一些缺点。

  可移植性和语言锁定

  jsp技术将您锁定到某种特定的语言。这一点不应该给予太多的关注。至少在我看来,java 技术是企业应用程序的惟一 选择。在这个领域,根本不存在可以独立于语言的解决方案。当然,在这个时候,我没有把 Microsoft.net平台牵涉进来。只有时间可以告诉我们这个平台是否可以真正独立于语言(我很怀疑这一点)。

  然而,选择 JSP 技术将强制您使用 Java 语言,至少对于内容和表示是这样的。尽管 CORBA 可以用于业务逻辑,JSP 编码要求必须熟悉 servlet 和核心 Java 语言。因为很多开发人员通过 J2EE平台接触 JSP 编码,因此这通常算不成问题。

  混合和独立

  在本篇文章中,我始终围绕分离内容和表示这一概念。您可能对此已经感到不耐烦,那么现在让我们看看 JSP 究竟能不能实现这个目标。正如我们之前讨论的一样,JSP 宣称 一直致力于实现内容和表示分离,那么我们可以因此认为它实现了目标,是吗?未必如此。

  内容和表示之间的界限变得模糊

  JSP 允许将 Java 代码插入到标记语言页面中,这个非常危险的特性允许将内容混合到表示中。更糟糕的是,业务逻辑通常会进入到 JSP 页面中,如清单 5 所示。

  ﹤%@ page import="com.ibm.display.PageUtils" %﹥

  ﹤%@ page import="com.ibm.display.PageInfo" %﹥

  ﹤%@ page import="com.ibm.logic.AdminUtils" %﹥

  ﹤%@ page import="com.ibm.people.Actor" %﹥

  ﹤%@ page import="java.util.Iterator" %﹥

  ﹤%@ page import="java.util.Vector" %﹥

  ﹤%

  PageInfo pageInfo = (PageInfo)session.getAttribute("PAGE_DATA")

  %﹥

  ﹤html﹥

[1] [2] 下一页

咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册