【问题标题】:Servlet to JSF TransitionServlet 到 JSF 的转换
【发布时间】:2012-09-27 15:16:42
【问题描述】:

我目前有一个基于 servlet(应用服务器 glassfish)运行的应用程序。外部应用程序对该 servlet 进行 HTTP 调用,并在成功实现其设计目标后获得响应。

我现在需要将整个应用程序转移到 JSF2.0,因为它需要一个前端并且坚持使用 servlet/jsp 不是一种选择。

我的问题是:

  1. 在我的 JSF2.0 Web 应用程序中实现外部应用程序通过 http 调用完成任务的场景的推荐方法是什么(目前我正在使用 servlet 实现)
  2. 我需要在应用范围内维护一些计数器;您是否建议我继续在我的 jsf 应用程序中使用 servlet,并且应用程序范围的 bean 是否可以在 servlet 中调用?

【问题讨论】:

    标签: servlets jsf-2


    【解决方案1】:

    在我的 JSF2.0 Web 应用程序中实现外部应用程序通过 http 调用完成任务的场景的推荐方法是什么(目前我正在使用 servlet 实现)

    就像 BalusC 所说,JSF 并不是您真正需要的,也不是为您打算使用它而设计的,Web 服务就是。话虽如此,如果您无法开发有效的 Web 服务(由于您的团队缺乏技术专长或时间因素或其他技术问题),您可以使用 JSF 实现您的目标限制要求您通过 web 应用程序为您的客户服务(老实说,我想不出,但嘿,你永远不知道)

    话虽如此,我假设您已经了解 JSF2:take a look at this 回答与您的问题有些相似的问题。最后,由于您在 Java EE 5-6 堆栈中,我强烈建议您开始开发 Web 服务(对于基本要求,它们的开发相当简单)。可以下载教程here或者使用oracle的tutorial

    我需要在应用程序范围内维护一些计数器;你会建议我继续在我的 jsf 应用程序中使用 servlet,并且应用程序范围的 bean 是否可以在 servlet 中调用?

    除非您向我们提供您的特定用例,否则在 JSF 应用程序中维护 servlet 的原因很少且相差甚远。 是的,应用程序、会话和请求范围的 bean 可以从 servlet 中访问。它们被简单地存储为它们命名的范围内的对象、applicationScope 中的应用程序范围 bean、会话中的会话范围 bean 和请求中的请求范围 bean。 您可以使用您的 JSF webapp 来处理低级别的 http 请求,但它是圆孔中的方钉。

    【讨论】:

    • 非常感谢 - 它真的很有帮助。坚持使用 servlet 的唯一原因是我们的客户通过传统的 3 步调用我们的 servlet 连接到遗留接口; (1) 创建 url/urlconnection (2) 通过 bufferedreader 读取 url 调用响应 (3) 存储响应。 SOAP Ws 对客户来说是一个巨大的挑战。
    【解决方案2】:

    您描述旧应用程序的方式听起来很像网络服务

    JSF 是基于组件的 MVC 框架,而不是 Web 服务框架。所以 JSF 基本上是不适合这项工作的工具。如果您想继续使用标准 Java EE 堆栈,请查看 JAX-WS (SOAP) 或 JAX-RS (RESTful)。后者是当今的“标准”Web 服务框架。

    另见:

    【讨论】:

    • 感谢您提供指向 RESTful Web 服务的指针。我相信单独的 web 服务可以服务于我的应用程序目前正在做的事情 - JSF 将是客户端用于报告/管理等的网站交互。我相信这两个东西(RESTful 和 JSF2.0)都可能在单个企业应用程序中,对吗?
    • JSF 基本上是一个用于基于 HTML 表单的应用程序的 MVC 框架。所以如果没有 HTML 表单的手段,那么 JSF 是不可能的。
    猜你喜欢
    • 1970-01-01
    • 2012-12-26
    • 1970-01-01
    • 1970-01-01
    • 2012-12-26
    • 2012-10-16
    • 1970-01-01
    • 1970-01-01
    • 2014-07-16
    相关资源
    最近更新 更多