0

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

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

我的问题是:

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

2 回答 2

0

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

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

也可以看看:

于 2012-10-07T01:22:12.873 回答
0

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

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

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

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

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

于 2012-10-07T02:57:04.450 回答