0

我打算做一个网站,它有 GWT 作为管理界面,JSF 2 作为前端,spring 来处理业务逻辑。

基本上。我将有3个项目:

  1. GWT
  2. spring(未来也可能导出一些 Web 服务的业务逻辑)
  3. JSF 2

在 GWT 中,我打算使用 spring 上下文(来自依赖的 spring-project)并使用它来连接数据库?

  1. 这是否可以在 Eclipse 中创建 3 个项目,将它们称为依赖项,然后创建一个包含所有这些项目的 EAR?
  2. 用户会话会发生什么?存储在 GWT 和 JSF 2 中?
  3. 它是一个好的架构吗?这怎么能以其他方式完成?
  4. 我该如何包装这些?所有战争文件?还是罐子?在一只耳朵里……还是?
4

2 回答 2

1

首先,为什么要一起使用两种不同的客户端技术(JSF2GWT)?我宁愿坚持其中之一。

说:是的,可以有 3 个不同的项目。实际上,推荐的方法(至少使用GWTSpring或任何其他后端)是将它们放在单独的项目中。

这是否可以在 Eclipse 中创建 3 个项目,将它们称为依赖项,然后创建一个包含所有这些项目的 EAR?

好吧,至少使用 GWT,您通常无法直接访问后端/数据库(不确定 JSF2)。您必须使用某种通信协议(RequestBuilder, RequestFactory, GWT-RPC, REST)您可以拥有共享类(在包中),您和您的 应用程序xxx.shared都可以引用这些类(通常由or使用)GWTSpringGWT-RPCRequestFactory

用户会话会发生什么?存储在 GWT 和 JSF 2 中?

用户会话没有什么特别之处。GWT 和 JSF 通过 HTTP 请求与后端进行通信。因此,适用于普通 HTTP 请求的相同内容也适用于 GWT/JSF2 请求。

它是一个好的架构吗?这怎么能以其他方式完成?

这取决于您想要达到的目标。如前所述,我宁愿坚持使用一种客户端技术(GWTJSF2)而不是同时使用它们。

我该如何包装这些?所有战争文件?还是罐子?在一只耳朵里……还是?

GWT 编译为包含在您的主机文件中的 javascript。因此,您通常会创建一个部署到应用程序服务器的WAREAR文件。

于 2013-02-11T11:06:18.963 回答
0

我会回答我的问题,因为我会为下一个想要做同样事情的人提供更多细节:

在 Eclipse 中:

  1. 通常使用 3 个或您想要多少个模块创建新的 Java EE 应用程序
  2. 添加新的 GWT 项目
  3. 将现有的 GWT 项目添加到 Java EE 描述符中(要添加到 ear 中)
  4. 在项目构建器中,您应该具有以下内容: 在此处输入图像描述
  5. 编译一次 GWT 应用程序: 在此处输入图像描述
  6. 在您部署您的应用程序以glassfish通过以下 URL 使用 chrome 访问您的网站后:http://localhost:8080/Admin/?gwt.codesvr=127.0.0.1:9997

你需要知道的:

  • Servlet 是热部署的
  • 您对 servlet 所做的任何修改都会更改服务器部分
  • 您对 GWT 应用程序google chrome插件所做的任何修改都会处理它

我的环境:

  • JDK 1.7.0_11
  • Eclipse 4.2 Java EE( + GWT Plugin, + Spring plugin)
  • Glassfish 3.1.2.2
于 2013-03-02T22:30:53.960 回答