我正在尝试关注these instructions以使我的GWT / App Engine应用可抓取。我按照描述构建了一个过滤器,并在我的web.xml中包含以下内容:
<filter>
<filter-name>crawlFilterChain</filter-name>
<filter-class>com.project.name.server.service.CrawlFilterChain</filter-class>
</filter>
<filter-mapping>
<filter-name>crawlFilterChain</filter-name>
<url-pattern>*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>BaconBits.html</welcome-file>
</welcome-file-list>
然后我尝试通过在浏览器中加载此URL来测试配置:
http://127.0.0.1:8888/?gwt.codesvr=127.0.0.1:9997&_escaped_fragment_=page%3DEvent%26eventId%3D1138
首次加载页面(返回欢迎文件的页面)时,将调用过滤器,但不会调用初始“GET /”请求。它仅针对后续RPC / AJAX请求调用,其中没有一个具有查询字符串。奇怪的是,如果我在URL中的/之后插入一个不存在的资源(例如index.html),则会调用过滤器,并返回相应的HTML。我究竟做错了什么?生产中的行为是相同的。
这看起来与here和here描述的问题相同,但使用他们推荐的相同配置不起作用。基本上,返回欢迎文件的“GET /”请求不会调用过滤器。我究竟做错了什么?