使GWT应用程序可被搜索引擎抓取

Phi*_*oin 8 gwt servlets

我想使用#!令牌使我的GWT应用程序可以抓取,如下所述:http: //code.google.com/web/ajaxcrawling/

有一个可在线使用的GWT示例应用程序,例如:http: //gwt.google.com/samples/Showcase/Showcase.html#!CwRadioButton

将以下静态网页提供给googlebot:http://gwt.google.com/samples/Showcase/Showcase.html?_ escaped_fragment_ = CWRadioButton

我希望我的GWT应用程序能够做类似的事情.简而言之,只要_escaped_fragment_在URL中找到参数,我就会提供不同的页面风格.

我应该修改什么才能让服务器提供其他东西(静态页面,或通过像HTML单元这样的无头浏览器动态生成的页面)?我猜它可能是web.xml文件,但我不确定.

(注意:我考虑过检查随GWT SDK提供的Showcase应用程序,但遗憾的是它似乎不支持提供静态文件,_escaped_fragment_并且它不使用#!令牌..)

Chr*_*her 2

如果您想使用 web.xml,那么我认为它不适用于 servlet 映射,因为 url 模式会忽略 get 参数。(不是 100% 确定,是否有其他方法可以实现这一点。)

当然,您可以将 Showcase.html 映射到 servlet,并在该 servlet 中根据获取参数“_escaped_fragment_”决定要做什么。但是调用 Servlet 来为大多数请求提供静态页面的成本有点高(虽然还不错,但仍然如此。如果您确定缓存标头不会更改,则可以设置它)。

或者你可以在你的服务器前面有一个 Apache 或其他东西 - 但我理解,我也不想这样做。也许您的 JavaEE 服务器(顺便说一句,您使用的是哪一个?)在请求传递到 Web 容器之前提供了某种 URL 过滤机制 - 我也想知道这一点!