1

我认为我的问题的答案是否定的。但是,我仍然想知道是否可以将 gwt applicaton 作为前端运行,例如在 Apache HTTPD 服务器上。编译gwt的想法是纯javascript,不需要java后端(如果我们不使用基于java的RPC)

4

4 回答 4

3

没有什么能阻止你。GWT 代码分为两部分;服务器端和客户端代码。正如您所说,客户端代码编译成纯 javascript,可以通过 httpd 轻松提供。

在服务器上使用 gwt 类的主要优点是,您通过 RPC 请求的数据将作为 java 对象到达您的客户端代码,而您无需进行任何工作。但是您可以使用RequestBuilder类或XMLHttpRequest轻松调用任何旧服务,如果您需要更多控制。

编辑:您应该做一些特殊的配置,以确保 httpd 与您的客户端 gwt 代码一起工作:

<Files *.nocache.*>
    ExpiresDefault "access"
</Files>
<Files *.cache.*>
    ExpiresDefault "now plus 6 months"
</Files>

这可以确保当您上传应用程序的新版本时,用户的浏览器会自动下载它,同时也确保他们不会在每次访问您的网站时下载整个应用程序。很有用。

于 2012-06-19T10:00:32.383 回答
2

你的观点是错误的。您可以创建一个仅为前端设计的 gwt 应用程序。要测试您可以执行以下操作

  1. 创建一个只有前端内容的示例 gwt 应用程序
  2. 编译和构建应用程序
  3. 将构建内容文件夹放在您的 Apache Web 目录中。
    Ee :如果您创建了一个名为 的项目test-gwt,则JSHTML内容在test-gwt目录中创建的war目录中。
  4. 通过网络浏览器访问新应用程序,例如http://localhost/test-gwt

希望这会有所帮助。

于 2012-06-19T09:17:53.027 回答
1

只要您不使用 gwt 编写您的服务器组件,这是可能的并且就像一个魅力。

这是一个简单的仅 gwt 客户端的htaccess 密码应用程序(目前只有德语)作为示例,我为好玩而编写了代码。

于 2012-06-19T09:17:45.007 回答
1

“我想知道是否可以将 gwt 应用程序作为前端运行,例如在 Apache HTTPD 服务器上”。

答案是不。GWT UI 前端根本不在任何服务器上运行。它仅在启用了 Javascript 的浏览器上运行。

但是,如果我忽略问题的语言语义并回答它的要点 - 答案是肯定的。请原谅我,但我认为你应该写的语言是

“是否可以从 Apache HTTPD 服务器提供 gwt 应用程序前端”。

只需将您的 servlet-less 战争部署到 HTTPD 上(删除 WEB-INF 文件夹)。

事实上,您甚至可以编写 RequestBuilder 请求来请求来自放置在 GWT 模块开发“公共”文件夹中的文件的静态 json 流。GWT 编译器会将“public”文件夹的内容复制到部署的应用程序根目录。

或者您可以使用 script-include 从另一台服务器获取 GWT 客户端对动态内容 jsonp 的请求——这不会在您的应用程序中创建任何 servlet。我在这里记录了脚本包含技术:http: //h2g2java.blessedgeek.com/2011/06/gwt-requestbuilder-vs-rpc-vs-script.html

于 2012-06-20T06:46:22.500 回答