在非 Java 服务器上运行 GWT



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

没有什么能阻止你。GWT 代码分为两部分;服务器端和客户端代码。正如你所说,客户端代码编译成纯JavaScript,可以很容易地由httpd提供。

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

编辑:您应该进行一项特殊的配置,以确保httpd与您的客户端gwt代码配合良好:

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

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

你的意见是错误的。您可以创建一个专为前端设计的 gwt 应用程序。测试是否可以执行以下操作

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

希望这会有所帮助。

这是

可能的,只要你不使用 gwt 编写服务器组件,它就像一个魅力。

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

"我想知道是否可以将 gwt applicaton 作为前端运行,例如在 Apache HTTPD 服务器上"。

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

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

"是否可以从Apache HTTPD服务器为GWT应用程序前端提供服务"。

只需将你的无 servlet war 部署到 HTTPD 上(删除 WEB-INF 文件夹)。

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

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

最新更新