关于GWT base Url的问题

时间:2012-09-27 06:49:15

标签: java gwt deployment

说我正在http://example.com/foo举办一个项目。我在http://example.com/foo/GwtModule目录中放置了所有GWT文件(在编译后在/ war /目录中生成)。

然后在我的主页上http://example.com/foo/bar,我将以下内容放在HTML中:

<script type="text/javascript" src="http://example.com/foo/GwtModule/GwtModule.noCache.js"></script>

我的问题是:

  • GWT是否知道从foo / GwtModule文件夹中获取资源(例如css文件)而不是尝试从foo / bar文件夹中获取它们?

  • 如果我想向foo / signup发送HTTP请求,GWT.getModuleBaseUrl() + "signup"会工作还是必须解析基本网址,请从中移除“/ bar”并将其替换为“/ signup” “?

  • 如果我在本地以及在Web服务器上运行代码,GWT会自动确定基本网址是http://localhost/foo/bar还是http://example.com/foo/bar,还是我需要硬编码基地网址?

1 个答案:

答案 0 :(得分:3)

  

GWT是否知道从foo / GwtModule文件夹中获取其资源(例如css文件)而不是尝试从foo / bar文件夹中获取它们?

是。
GWT始终从脚本URL(或特殊<meta name='gwt:property'>

解析模块库
  

如果我想向foo / signup发送HTTP请求,GWT.getModuleBaseUrl()+“注册”会工作还是我必须解析基本网址,从中删除“/ bar”并将其替换为“/注册“?

GWT.getModuleBaseURL()将为/foo/GwtModule/ 您可以使用GWT.getModuleBaseURL() + "/../signup""GWT.getHostPageBaseURL() + "/signup",在您的情况下,他们都会解析为相同的/foo/signup网址。

  

如果我在本地以及在Web服务器上运行代码,GWT会自动确定基本网址是http://localhost/foo/bar还是http://example.com/foo/bar,还是我需要在某处对基本网址进行硬编码?

见第一个问题的答案 这意味着您必须在主页中使用<script src="GwtModule/GwtModule.nocache.js"><script src="/foo/GwtModule/GwtModule.nocache.js">