Java 使用GWT屏蔽浏览器URL

Java 使用GWT屏蔽浏览器URL,java,gwt,Java,Gwt,当页面被访问时,我的GWT应用程序URL如下所示: http://127.0.0.1:8888/index.html?gwt.codesvr=127.0.0.1:9997#ViewPage;hash=6a 或 但是,这看起来不太好,GWT客户端代码有没有办法让它看起来像这样,以某种方式“屏蔽”它: http://127.0.0.1:8888/6a 在这里,我配置了一个servlet,将这个“缩短的”URL转发到上面的长URL,这样就可以非常安全地将URL“屏蔽”了吗?在不丢失状态和历史记录的

当页面被访问时,我的GWT应用程序URL如下所示:

http://127.0.0.1:8888/index.html?gwt.codesvr=127.0.0.1:9997#ViewPage;hash=6a

但是,这看起来不太好,GWT客户端代码有没有办法让它看起来像这样,以某种方式“屏蔽”它:

http://127.0.0.1:8888/6a

在这里,我配置了一个servlet,将这个“缩短的”URL转发到上面的长URL,这样就可以非常安全地将URL“屏蔽”了吗?在不丢失状态和历史记录的情况下。

我看不到任何直接使用GWT的方法,因为GWT需要访问URL中的代码片段来管理浏览历史记录和状态

一种间接的方法是将GWT模块嵌入一个占据整个页面区域的
iframe
。缺点是用户将失去在GWT应用程序中为页面添加书签的能力


顺便说一句,我不同意你的观点,它“看起来不好”。许多流行的Web应用程序都使用这样的URL,包括Gmail。大多数用户不关心URL中的内容。

我所知道的最短可能是
URL
类似:

http://127.0.0.1:8888/#6a
因此,必须将index.html配置为默认页面。(必须将其配置为默认响应)


您还必须重写历史管理。您必须从
URL

中删除Place令牌,感谢您的反馈,实际上当我说“看起来不好”时,我的意思是用户可能会在应用程序中复制长URL,我们要展示的是短页面URL。。。
http://127.0.0.1:8888/#6a