快速业务通道

最重要的Java EE最佳实践 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
它是基于规则的,并 且不具备程序员习惯的控制工具。

问题是既然给予了这种灵活性,开发人员就会利用这种灵活性。尽管每个人都 认同 JSP 使开发人员容易在视图中加入“类似模型”的行为,而实际上,在 XSL 中也有可能做出一些同样的事情。尽管从 XSL 中进行访问数据库这样的事情会非 常困难,但是我们曾经见到过一些异常复杂的 XSLT 样式表执行复杂的转换,这 实际上是模型代码。

然而,应该选择 JSP 作为首选的表示技术的最基本的原因是,JSP 是现在支 持最广泛的、也是最被广泛理解的 Java EE 视图技术。而随着自定义标记库、 JSTL 和 JSP2.0 的新特性的引入,创建 JSP 变得更加容易,并且不需要任何 Java 代码,以及可以将模型和视图清晰地分离开。在一些开发环境中(如 IBM Rational Application Developer)加入了对 JSP(包括对调试的支持)的强大 支持,并且许多开发人员发现使用 JSP 进行开发要比使用 XSL 更加简单,主要 是因为 JSP 是基于例程的,而不是基于规则的。尽管 Rational Application Developer 支持 XSL 的开发,但一些支持 JSP 的图形设计工具及其他特征(尤 其在 JSF 这样的框架下)使得开发人员可以以所见即所得的方式进行 JSP 的开 发,而使用 XSL 有时不容易做到。

然而,这并不表示您绝不 应该使用 XSL。在一些情况下,XSL 能够表示一组 固定的数据,并且可以基于不同的样式表(请参见 [Fowler])来以不同的方式显 示这些数据的能力是显示视图的最佳解决方案。然而,这只是一种特殊的情况, 而不是通用的规则。如果您只是生成 HTML 来表达每一个页面,那么在大多数情 况下,XSL 是一种不必要的技术,并且,它给您的开发人员所带来的问题远比它 所能解决的问题多。

11. 当使用 HttpSession 时,尽量只将当前事务所需要的状态保存在其中, 其他内容不要保存在 HttpSession 中。

启用会话持久性。

HttpSessions 对于存储应用程序状态信息是非常有用的。其 API 易于使用和 理解。遗憾的是,开发人员常常遗忘了 HttpSession 的目的——用来保持临时的 用户状态。它不是任意的数据缓存。我们已经见到过太多的系统为每个用户的会 话放入了大量的数据(达到兆字节)。如果同时有 1000 个登录系统的用户,每 个用户拥有 1MB 的会话数据,那么就需要 1G 或者更多的内存用于这些会话。保 持这些 HTTP 会话数据较小。不然的话,您的应用程序的性能将会下降。一个大 约比较合适的数据量应该是每个用户的会话数据在 2K-4K 之间。这不是一个硬性 的规则。8K 仍然没有问题,但是显然会比 2K 时的速度要慢。一定要注意,不要 使 HttpSession 变成数据堆积的场所。

一个常见的问题是使用 HttpSession 缓存一些很容易再创建的信息,如果有 必要的话。由于会话是持久性的,进行不必要的序列化以及写入数据是一种很奢 侈的决定。相反地,应该使用内存中的哈希表来缓存数据,并且在会话中保存一 个对此数据进行引用的键。这样,如果不能成功登录到另外的应用服务器的话, 就可以重新创建数据。(有关更详细的信息,请参见 [Brown2]。)

当谈及会话持久性时,不要忘记要启用这项功能。如果您没有启用会话持久性 ,或者服务器因为某种原因停止了(服务器故障或正常的维护),则所有此应用 服务器的当前用户的会话将会丢失。这是件令人非常扫兴的事情。用户不得不重 新登录,并且重新做一些他们曾经已经做过的事情。相反地,如果启用了会话持 久性,WebSphere 会自动将用户(以及他们的会话)移到另外一个应用服务器上 去。用户甚至不知道发生了这样的事情。我们曾经见到过一些产品系统,因为本 地代码中存在令人难以忍受的错误(不是 IBM 的代码!)而经常崩溃,在这种情 况下,上述功能仍然可以运行良好

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号