我试图通过阅读http://java.sun.com/javaee/6/docs/tutorial/doc/gexaf.html来熟悉Java EE 6。 我对使用JSF感到有些困惑。
通常,在我开发Web App的方式中,Servlet将充当控制器,而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的快速概述吗? 是否将它们全部集成在一起,还是在App的基础上单独使用它们? 如果是这样,那么与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可以做什么,但不确定manage components as stateful objects on the server。 甚至不确定那是什么意思? 提前致谢。
基本上,JSF使您能够仅使用模型对象(JavaBeans)和视图(JSP / XHTML页面)开发Web应用程序。使用"普通香草" JSP / Servlet,您将必须引入大量代码来控制,预处理,后处理,收集数据,验证,转换,监听等HTTP请求和响应。然后,我并不是说要对其进行高度(抽象)的重构,以便您也能以与JSF相同的方式结束(每个用例只是一个JavaBean类和一个JSP / XHTML页面)。
在此之前,我已经对此主题发布了更详细的答案:JSF,Servlet和JSP有什么区别?
抱歉,发布之前我应该??看一下。一定会阅读您的帖子。但是从我现在正在阅读的内容来看。 JSF更像是一个框架,向开发人员隐藏了许多实现,并且在某种程度上,它比Servlet / JSP更好。我对吗?
JSP / Servlet只是用于开发Java Web应用程序的基本/核心/构建基技术。任何基于Java的MVC框架都运行在JSP / Servlet API之上,JSF也运行。 JSF提供了FacesServlet(是的,它是一个servlet!),您只需在web.xml中定义一次。然后,您可以仅使用模型对象和视图来开发/运行JSF。
对...从您在另一个线程上发布的内容来看,JSF是一个MVC Web框架。我可以将JSF与Spring MVC,BalusC进行比较吗?
他们确实是竞争对手。但是,Spring MVC可用的组件库不如JSF那么多。
奇怪的是,人们总是谈论Spring MVC,而不是谈论JSF。我曾考虑过就此技术进行现场培训,但仍不确定在Spring和JSF之间。我只想选一个,因为培训非常昂贵。您对我的BalusC有什么专业意见吗?
注意" Spring"!=" Spring MVC"。 Spring框架不仅仅是Spring MVC,还有很多很多。关于Spring MVC与JSF:好吧,看看附近的工作趋势。选择要求最高和/或付款最高的一种。您总是可以在私人/业余时间学习其他框架。
嗨,BalusC,我希望你不介意我问你一个问题。我记得您写过一篇文章,介绍如何使用Java EE用户的某些yahoo工具提高Web性能,但是我似乎找不到该链接。你知道我在说什么文章吗?如果您这样做,请介意给我链接
@哈里:balusc.blogspot.com/2009/09/
在JSF中,使用一个特定的Servlet(Faces Servlet)来处理所有传入的请求并将它们分派到适当的bean。
JSF是一个基于组件的MVC框架,而JSP是一种视图技术。
您可以将JSP与JSF一起使用,尽管Facelets是首选的视图技术。
JSF提供了一个抽象层,它担负着多个职责,但是最重要的是,它处理HTML表单的所有杂乱细节,并在Web页和Java POJO bean(getX,setX方法)之间来回传输数据,这是很难做到的。
它还提供了导航功能,并以Java EE 6的最新版本提供了基本的AJAX支持,允许在用户输入数据时对网页进行简单的更新。
您可能会发现更容易将其视为避免自己编写JavaScript的一种方式。
在过去一年半的时间里,Javascript的性能变得如此之快。似乎您只是在这些趋势的开始,以及现在随着html5的发展,所以我们真的要摆脱javascript吗?
他没有说放弃JavaScript。使用JSF以及像Richfaces或Icefaces这样的不错的组件库,意味着您自己编写的JS会少很多。
抱歉,我误读了您发布的内容
如果您喜欢XML,请选择JSF。如果您是动作监听迷
doPost,doGet等选择Servlet和JSP。
JSF Framework旨在简化基于Web的用户界面的开发集成。如@bozho所述,您可以混合使用JSP和JSF。但是,JSF中的"视图"组件是facelets-可以看作是小的UI部件,这些部件在DHTML样式和JavaScript事件生成以及回调方面或多或少是独立的。
"我应该麻烦学习吗??"
不即使过去5年(理论上为Atleast)出现,我也没有看到JSF吸收这么大的精力。
有趣的一点是,想知道Java EE 6是否可以为JSF带来动力。