我正在阅读http://java.sun.com/javaee/6/docs/tutorial/doc/gexaf.html以了解 Java EE 6,但我对 JSF 的使用有些困惑。
通常,我开发 Web 应用程序的方式是将 Servlet 作为控制器,JSP 作为 MVC 模型中的视图。那么,JSF 是否试图取代这种结构呢?以下是上述教程中的引用:
Servlet 最适合面向服务的应用程序和控制表示层的函数,如分派请求
JSF 和 Facelet 更适合生成像 XHTML 这样的标记,并且通常用于面向表示层的应用程序
不确定是否完全理解了上面的引用,他们没有很好地解释什么是面向服务的应用程序和面向表示层的应用程序。
JavaServer Faces 应用程序可以将 HTTP 请求映射到组件特定事件处理,并将组件管理为服务器上的有状态对象。
有经验的 Java 开发人员能否为我快速概述一下 JSF、JSP 和 Servlet?我是否需要将它们全部集成在一起,还是根据应用程序分别使用它们?如果是后者,那么什么样的应用程序使用 JSF,相对于 Servlet 和 JSP 呢?
JavaServer Faces 应用程序可以将 HTTP 请求映射到组件特定事件处理,并将组件管理为服务器上的有状态对象。
听起来像是 Servlet 能做的事情,但不确定 manage components as stateful objects on the server
是什么意思?提前感谢。
FacesServlet
(没错,它是一个servlet!),你只需要在web.xml
中定义一次即可。然后,你就可以仅使用模型对象和视图来开发/运行JSF。 - BalusC