繁体   English   中英

在GWT模块的.html文件中未调用Servlet过滤器

[英]Servlet filter isn't being invoked on .html file of GWT module

也许我只是缺少一些基本的知识,但我无法弄清楚为什么servlet过滤器没有捕获主GWT模块的.html文件上的GET请求。

我的过滤器在web.xml中定义为

<filter>
    <filter-name>GaeAuthFilter</filter-name>
    <filter-class>com.test.GaeAuthFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>GaeAuthFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

当我在开发模式下启动应用程序时,它会在浏览器中打开http://127.0.0.1:8888/AdminPanel.html?gwt.codesvr=127.0.0.1:9997 ,但过滤器中没有任何内容:(

我需要这个的原因是我不希望我的身份验证在RequestFactory ajax调用上失败,因为它看起来很丑,因为它先加载html然后重定向到Google Accounts登录页面。 我想在访问html页面时捕获未经身​​份验证的用户,因此浏览器甚至不会加载网站的受保护区域。

作为替代方案,我尝试使用web.xml的“security-constraint”部分,但它也忽略了对.html文件的调用。

请指教。

谢谢!

AppEngine文档

注意:静态文件,逐字提供给用户的文件(如图像,CSS或JavaScript)与部署描述符中提到的路径分开处理。 无论部署描述符中的servlet和过滤器映射如何,对与路径中的文件路径匹配的URL路径的请求都将为该文件提供服务,该文件将被视为静态文件。 您可以使用appengine-web.xml文件从被视为静态文件的文件中排除文件。

我不做AppEngine,但是我想为你希望过滤器应用的文件添加一个<exclude>默认servlet将提供这些文件;我猜他们将以不同的方式收费)后果)

我还没有看到为什么,但是当我遇到这个时(虽然匆忙),有效的方法是删除index.html并使我的<welcome-file>成为.jsp

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM