servlet最佳实现

servlet最佳实现

ID:37277138

大小:179.50 KB

页数:22页

时间:2019-05-20

servlet最佳实现_第1页
servlet最佳实现_第2页
servlet最佳实现_第3页
servlet最佳实现_第4页
servlet最佳实现_第5页
资源描述:

《servlet最佳实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、44第三章Servlet最佳实践JasonHunter自1996年引入以来,Servlet已经占据了服务器端Java领地,并且成为Java介入Web的一种标准方法。作为一种基本技术,Java开发人员以此为基础来构建Web应用以及(更进一步的)Web服务。这一章将讨论基于Servlet的开发和部署的最佳实践。有效使用Servlet首先来介绍Servlet框架。框架(如,ApacheStrut)越来越普及,这是因为通过提供一种“骨架”(skeleton,应用可在此基础上构建),框架能够提高程序员的效率。在第一节中,我们将分析Servlet框架提供了什么并对最流行的框架作一个简要概述;然后,将

2、讨论使用预编码字符可以如何优化Servlet的性能。接下来,我们将处理加载配置文件这一棘手的问题,并提供一些代码从而使这个任务更容易完成;其后,我将提供一些有关何时应当使用(以及何时不应当使用)HttpSession和SingleThreadModel特性的技巧。本章结尾部分,我将解释如何可靠地控制缓存,以提高用户的体验。然后将解决一个常见问题:“如何将文件下载到客户,从而让客户看到一个‘保存为’(SaveAs)弹出对话框?”,你将看到,答案就在于设置合适的HTTP首部。Servlet最佳实践45选择合适的Servlet框架编写Web应用时,应当记住Servlet是一种功能强大的技术。这

3、一点很容易被遗忘,因为最初ServletAPI即为服务器端JavaWeb编程的全部。至于ServletAPI不包括的某些内容,就必须由我们自行构建。这有点类似于西部片中的情景,当时情况相当恶劣,真正的程序员需要自己动手来编写Servlet,而且有关规范尚未编写。仅仅有out.println()就令我们颇感欣慰了。时光荏苒,斗转星移。正如西部原野上出现了大批牛羊,在这一领域中也涌现了许多新的内容,我们看到,大量基于Servlet的技术被设计出来,从而使Web应用开发更加容易而且更为有效。发生变革的第一个领域为表示层。较之于以前应用很广的out.println(),诸如JavaServerP

4、ages(JSP)、WebMacro和Velocity等技术则提供了输出更为丰富的方法。与以往相比,利用这些技术使得快速地开发、部署和维护动态Web内容更加容易。有关这些技术以及其他模板技术的全面讨论,请参见我所著的《JavaServletProgramming》第二版(O'Reilly出版)。今天,我们发现在表示层之下出现了一个产生变革的新领域,即框架层(如图3-1所示)。这些新的框架提供了一个可靠的支架,基于这个支架可以构建新的Web应用,从而由快速构建页面转移到快速构建完整的应用。框架采纳了专家们最优秀的设计,使你能够重用这些设计。好的框架有助于改善应用的模块性和可维护性。框架还将

5、多种单独的技术集合在一个捆绑的包中,并提供了基于这些技术构建的组件以解决常见的任务。如果你选择了合适的Servlet框架,不但可以大大地提高你的工作量,并且可以利用他人的工作。因此,我建议你考虑使用一个框架,而且我在这一节中还将提供一些关于选择合适的框架的有用技巧。选择框架的技巧选择一个Servlet框架时,考虑其特性表相当重要。下面列出了框架提供的一些特性。并非所有框架都支持以下特性,另外这一简短的列表也并非详尽的(注1)。注1:这实际上是一个正在进行的研究项目,其目标是跟踪Servlet框架特性,并且在各个框架上实现同样的演示Web应用。更多的信息请参见http;//www.wafe

6、rproject.org。46第三章Servlet框架JSPWebMacroVelocityMVC类Servlets等等安全性表单验证数据库错误处理集成图3-1:Servlet、模板技术和框架与模板语言的集成有些框架集成了一个特定模板语言,另外一些框架则有一个“可插拔”的模型以支持多个模板,不过它们通常都针对一种模板语言加以优化。如果你偏好某种特定的模板语言,请确保所选框架能够很好地提供相应的支持。支持(理想情况下则可增强)设计人员/开发人员的分离Web应用开发的一个通常目标是将开发人员的责任从设计人员的责任中有效地分离出来。对于这一目标,选择适当的模板语言可以提供帮助,但是选择合适的框

7、架则会有更大的影响。有一些框架可以支持这种分离,还有一些甚至可能增强。安全集成默认的Servlet访问控制和安全模型可以用于简单任务,但未能针对更为高级的需求做相应扩展。有些框架提供了另外的安全模型,而且许多框架还支持“可插拔”的安全模型。如果你希望获得更为高级的安全控制,那么选择合适的框架将有所帮助。表单验证框架通常提供了验证表单数据的工具,例如,在Servlet看到数据之前允许框架对参数进行全面检查。有些框架使得我们可以很容易地

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。