浅析JSP技术单处理和多任务处理
创始人
2024-04-09 14:20:56
0

JSP技术单处理和多任务处理

如前所述,理想状态下,设计师应该能够执行单独处理,只关注图形设计,而开发人员应该能够将注意力集中在编程上。因此,设计师可以在将页面转换为适合应用程序的格式后,再对其进行处理。对于 JSP 页面来说,将页面转换为适合应用程序的格式就是指向页面导入 JavaBeans、插入内联编码并添加自定义标记库。问题是有些设计师使用的是 HTML 编辑器,比如 HoTMetaL、Macromedia Dreamweaver 或 FrontPage,这些编辑器无法识别代码 scriptlets 或标记库,这意味着设计师实际上只收到了页面的一部分。想象一下,标记库或代码片段只生成了表的若干行,或是页面中其他格式化的细节,这是多么麻烦的事情。设计师使用了不兼容的 HTML 编辑器,无法看到这些元素的外观。在开发人员完成编码后,设计师不能轻松地对页面进行修改,这时,不仅没有清晰地划分角色,JSP 编码实际上将这两种角色合二为一:开发人员必须执行多个任务,必须担当开发人员、设计师以及其他角色。

如果您仍然对此表示怀疑,那么请下载 J2EE Reference Implementation 并将其中一个附带的 JSP 页面加载到一个 WYSIWYG HTML 编辑器,例如 Dreamweaver.页面立即被一些黄色区域填充,告诉您页面中包含的所有 “错误” 标记。当然,黄色内容来自于 JSP 标记和代码,而不是页面出现了什么真正的错误。

迄今为止,尚未出现支持 JSP 功能的 WYSIWYG 编辑器,我也没有听说过任何与此相关的项目。尽管模板引擎也具有相同的问题,但是很多基于 Java 的解决方案,例如我最喜欢的 Enhydra,都允许您将标记页面作为输入提供给表示技术。在这种情况下,设计师可以根据需要频繁地进行修改,并重新提供标记页面。运行表示技术的引擎或编译程序将标记页面转换为适当的格式,并且不需要修改任何代码(典型情况下)。最终获得了理想的结果:设计师和开发人员各司其职。

因此,要注意 JSP技术作出的承诺和它实际交付的实现。在实际中,要在一个 JSP技术驱动的环境下发挥功效,必须让开发人员处理大部分标记,或至少让设计师学习一些 JSP 编码。

HTML和XML

JSP技术最严重的缺陷之一(也是经常被忽视的一个缺陷)就是它与 XML 不兼容。更确切地说,并且特别针对 HTML 领域,JSP 页面不要求具备 XHTML 兼容性。XHTML 是一个 World Wide Web Consortium (W3C) 规范,目前正在取代 HTML 4.0.XHTML 在实现格式良好的 XML 文档方面定义了 HTML 标记集。例如,
标记必须被转换为
才能确保 XML 兼容性(如果这个例子没有解释清楚的话,可以查阅 参考资料 列出的 XML 规范,以及关于 XHTML 的 developerWorks 文章)。同样的规则适用于图像标记,并且在 XHTML 1.1(即将到来)中,大部分字体属性和其他样式被移入到 CSS 样式表中。另外,大多数标准 HTML 文档可以轻松地转换为 XHTML 1.0,这意味着可以使用任何与 XML 兼容的解析器读取,例如 Apache Xerces,并且可以作为 XML 进行处理。

您会问 “这有什么关系呢?”。答案是关系重大。因为 XML 正在快速成为一个在应用程序之间和应用程序内部进行通信的全球标准。使用 XML 格式传递书籍,可以让任何使用基本 XML 数据绑定功能的应用程序轻松地使用您的应用程序的数据。想象一下,通过将您的数据迁移到 XML 格式,您就可以与信用卡公司进行网上交易!多数情况下,您的数据表示还需要与其他公司进行交互。最常见的情况是门户应用程序,它接受来自各种提供者的内容(例如,天气信息、股票报价和新闻),通常附带有提供者的标记。然而,由于 JSP 页面将代码和自定义标记库相混合,因此无法在这种环境下良好地工作。

JSP 页面很少具有格式良好的 XML 文档,并且不重视是否符合 XHTML,而 XHTML 这种标记语言并不允许使用各种 JSP 自定义标记库。然而,更重要的是,插入到 JSP 页面的代码片段并不属于任何标记形式,因此当另一个应用程序处理它们时,将产生解析器加载错误。

在您提出质疑之前,让我们先了解一下整个情况。如果应用程序允许 JSP 页面由初始客户机处理,结果将产生纯 HTML(或 WML、VoXML 等)。然而,大多数请求这个数据的应用程序使用了一定程度的缓存,因为网络往返开销很昂贵。在这些情况下,缓存过的页面将返回过时的数据。因此,您可能更愿意返回与 XML 兼容的结果,最好使用静态的形式。而 JSP技术在这些情况下无能为力;JSP 页面必须始终 在运行时进行处理,以去掉 JSP 代码 scriptlets 和标记库。

看看最关键的考验:其他一些表示技术能做到这一点吗?答案是可以。这个领域最权威的领导者是 Apache Cocoon 项目,它完全建立在 XML 和一个 XSLT 样式表应用程序(可以在运行时或静态状态下应用)的基础之上。由于 XML Server Pages(在 Cocoon 框架中称为 XSP)实际上是 XML 文档,因此始终与 XML 兼容。像 Tea 和 Enhydra XMLC 等允许输入纯标记语言页面的技术也可以做到这点,虽然它们的目的并不在此。在这些情况下,用户可以使用 XHTML 或标准的 HTML.此外,这比 JSP技术要好,因为 JSP 不能 静态地实现格式良好的 XML.

【编辑推荐】

  1. 简单介绍JSP技术
  2. 需要掌握的十个JSP标签库
  3. JSP技术中表单数据存储的通用方法
  4. 详解JSP技术的方法
  5. 怎样学习JSP技术

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...