Java EE 6 : JSF vs Servlet + JSP. 我应该费心学习 JSF 吗?

标签 java jsp jsf servlets jakarta-ee

我正在尝试通过阅读 http://java.sun.com/javaee/6/docs/tutorial/doc/gexaf.html 来熟悉 Java EE 6 .我对JSF的使用有点困惑。
通常,我开发 Web 应用程序的方式是,Servlet 将充当 Controller ,而 JSP 将充当 MVC 模型中的 View 。那么 JSF 会尝试替换这种结构吗?以下是上述教程的引用:

Servlet are best suited for service-oriented App and control function of presentation-oriented App like dispatching request
JSF and Facelet are more appropriated for generating mark-up like XHTML, and generally used for presentation-oriented App

不确定我是否对上面的引用理解得太好了,他们没有很好地解释什么是面向服务和面向演示的。

A JavaServer Faces application can map HTTP requests to component-specific event handling and manage components as stateful objects on the server.

任何知识渊博的 Java 开发人员都可以给我一个关于 JSF、JSP 和 Servlet 的快速概述吗?我将它们全部集成,还是基于应用程序单独使用它们?如果是这样,那么与 Servlet 和 JSP 相比,什么样的应用程序使用 JSF

A JavaServer Faces application can map HTTP requests to component-specific event handling and manage components as stateful objects on the server.

听起来像 servlet 可以做什么,但不确定 将组件作为服务器上的状态对象管理。甚至不确定那是什么意思?提前致谢。

最佳答案

JSF 基本上使您能够开发仅包含模型对象(JavaBean)和 View (JSP/XHTML 页面)的 Web 应用程序。使用“plain vanilla”JSP/Servlet,您必须引入大量代码来控制、预处理、后处理、收集数据、验证、转换、监听等 HTTP 请求和响应。然后我不是在谈论将它重构到高(抽象)程度,以便您也可以像 JSF 一样结束(每个用例只有一个 JavaBean 类和一个 JSP/XHTML 页面)。

我已经在此之前发布了有关该主题的更详细答案:What is the difference between JSF, Servlet and JSP?

关于Java EE 6 : JSF vs Servlet + JSP. 我应该费心学习 JSF 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2701094/

相关文章:

java - 我可以根据 jsr-305 注释对方法参数进行运行时验证吗?

java - Spring安全不显示错误消息

java - 添加记录警报消息后不显示Servlet Ajax

ajax - a4j :commandButton and h:commandButton with a4j:ajax in it 之间的区别

javascript - <h :inputFile> 上的客户端验证

java - 如何设置当用户输入文件夹 URL 时打开文件夹的默认页面?

java - 用Java读取二进制文件

javascript - 提交表单后防止重新加载页面。 (没有 Ajax )

jsf - 是否可以使用 JSF 1.2 动态加载 Phase Listener?

java - 从 HashSet 中删除空引用