升级到javaserver面孔。轻松的任务?

时间:2010-12-24 19:01:52

标签: java web-applications jsf applet


我有以下问题:
首先,我知道(并且有一些学术经验)JSP和Struts,但我对JSF一无所知 有一个项目的前端已经使用applet制作 我被要求调查将其更改/升级为JSF 所以我的问题是,这是一项简单或至少是直截了当的任务吗? 我问这个因为我)我不知道JSF的学习曲线和ii)我很久以前就放弃了学习applet(我认为这个技术已经死了)
对此的任何意见都非常欢迎!
更新:如果它有任何区别,他们希望因沙箱限制而离开小程序。
感谢

3 个答案:

答案 0 :(得分:3)

JSF中的编程需要扎实的Servlet API知识,并理解在Servlet API之上使用(基于组件)MVC framework背后的意识形态。它还需要充分了解Web开发中的“客户端”和“服务器端”方面。如果你缺乏任何理解,那么学习曲线确实非常陡峭。

使用JSF,您基本上最终将JSP或XHTML(Facelets)页面作为 View ,将普通Javabean类作为 Model 。您还需要意识到,applet基本上是一个在客户端计算机上运行的软件,并且JSF在Web服务器上运行,生成HTML / CSS / JS,并将其发送到Web浏览器,在那里它被解释/应用/执行。它不像applet那样在webbrowser上运行Java代码。这是一个巨大的差异。

要开始学习JSF,至少需要minimum required skills用于Java webdevelopment,然后您可以从以下任一教程开始:

答案 1 :(得分:1)

从Struts迁移到JSF是你解决问题的方式的一种范式转换(我的观点)。 Struts使用基于动作的模型,而JSF使用组件模型(类似于使用Swing编写桌面GUI应用程序等)。为了让开发人员更加努力,JSF带来了复杂的请求处理生命周期,这些生命周期由JSF 1.1中的一个不太好的实际问题实现支持。

我看到人们从struts转向JSF苦苦挣扎,从而产生了一个混合了两个世界的代码库(基于动作和基于组件)。这种混合代码库很难维护和调试。

话虽如此,JSF仍然是规范,如果你可以使用Facelets的JSF 2.0(或至少JSF 1.2),那么我的建议是考虑以下因素做一个简单的概念验证

  • 了解基础知识JSF 2.0或1.2 with Facelets
  • 用一个复杂的用例(用术语表示 (动态UI)支持的 当前小程序
  • 以端到端的方式构建验证,模板,列表,操作
  • 然后在GWTVaadin中使用相同的用例。我建议这样做是因为您的用户目前习惯于使用applet的胖客户端,而GWT适用于此

如果您最终碰巧选择了JSF 1.2或2.0,那么我强烈建议您使用PrimeFaces组件套件。它快速,简单,丰富的组件。

答案 2 :(得分:1)

总的来说,我不认为我称之为简单直接的转换,因为环境是如此不同。使用applet,java代码在客户端系统上运行,并通过某种协议与服务器通信。 JSF运行服务器中的所有代码,可以直接访问您的数据。出于规划目的,我不希望能够使用任何现有的UI代码。

有些库可以将您的Swing程序转换为基于Web的应用程序。我没有使用它们中的任何一个,但我知道那些取得了巨大成功的人。这取决于您想要使用该应用程序的方向。 JSF正在取得进展,因此基于它的工具只会变得更好。