大量的编程资源。Servlet 程序员通过编写一个对象缓存某些内容来实现缓存。然而,只要没有缓存标准,许多程序员将反复的写相同的代码段。毕业设计( 论文) 外文文献翻译 9 3.Model 2主要的缺点是页面导航规则在控制器 servlet 中是硬编码的。这意味着程序流程的任何微小的改动就需要控制器 servlet 重新编译。解决这个问题的方法是在应用启动时,提供一个映射器来读取页面导航规则。在控制器servlet 的init 方法中很容易添加代码。这个方法只执行一次,就是在 servle t首次被载入内存的时候。如果属性文件在每次改动后需要重新读取, 程序员可以在每次请求时检查属性文件的时间戳,将它于先前读入的文件比较。如果它比之前读入的文件的时间戳更新,则重新构建映射器。这个特性可以在上下文对象的初始化参数中开启或者关闭。从开发的角度来讲,这个特性应该开启。在部署时,这个特性应该关闭。使用属性文件来存储页面导航规则还可能避免在控制器中的一连串的 if语句,它将在每次请求时消耗时间。可以使用一个HashMap, 将请求参数作为Key值,将跳转页面作为Valu e 值。这个设计模型的另一个缺陷是缺少标准的输入验证组件和用户接口组件,而这些将在 JSF 中得到解决。 4.JSF 解决了开发 Web 应用中的大部分问题,比如:页面导航管理、用户接口组件和输入验证组件。然而,由于这项技术仍然很年轻,还没有太多的用户接口可用,强迫了程序员将 JSF 和非 JSF 的servlets/JSP 页面相结合。JSF 是事件驱动的,JSF 程序员通过编写事件监听来决定 JSF 应用的行为,就像 Swing 应用中的监听器一样。在 JSF 1.0 版本中,通常有两类事件能够被触发:ActionEvent 和ValueChangedEvent ,但这已经能在应用和用户之间提供足够好的交互性了。