我有一个基于servlets运行的应用程序(app server glassfish)。外部应用程序对该servlet进行HTTP调用,并在成功实现其设计后获得响应。
我现在需要将整个应用程序转移到JSF2.0,因为它需要一个前端并且坚持使用servlet / jsp不是一个选项。
我的问题是:
答案 0 :(得分:0)
您描述旧应用程序的方式听起来很像 Web服务。
JSF是一个基于组件的MVC框架,而不是一个Web服务框架。所以JSF基本上是错误的工具。如果要继续使用标准Java EE堆栈,请查看JAX-WS(SOAP)或JAX-RS(RESTful)。后者现在是“标准”Web服务框架。
答案 1 :(得分:0)
在我的JSF2.0 Web应用程序中实现外部应用程序通过http调用完成任务的方案的推荐方法是什么(目前我正在使用servlet实现)
就像BalusC所说的那样,JSF并不完全是你所需要的,并不是为你打算使用它而设计的,webservices是。话虽这么说,你可以使用JSF实现你的目标,如果开发一个有效的网络服务不适合你,或者是因为你的团队缺乏技术专长或时间因素或其他技术约束要求您通过webapp为您的客户服务(老实说,除了嘿,你永远不会想到),
话虽这么说,我假设你已经了解了JSF2的问题:take a look at this回答了与你的问题有些类似的问题。最后,由于您处于Java EE 5-6堆栈中,我强烈建议您开始开发Web服务(对于基本要求,开发起来相当简单)。您可以下载教程here或使用oracle的tutorial
我需要在Application范围内维护一些计数器;您是否建议我继续在我的jsf应用程序中使用servlet,并且应用程序范围内的bean可以在servlet中调用吗?
除非您提供具体的用例,否则在JSF应用程序中维护servlet的原因很少且很远。 是,可以从servlet中访问应用程序,会话和请求范围的bean。它们只是作为对象存储在它们命名的作用域中,applicationScope中的应用程序作用域bean,会话中的会话作用域bean以及请求中的作用域bean。 你可以使用你的JSF webapp来提供低级别的http请求,但它是圆孔主管的方形挂钩。