exp*_*ert 3 java gwt google-app-engine servlets servlet-filters
也许我只是缺少一些基本的知识,但我无法弄清楚为什么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>
Run Code Online (Sandbox Code Playgroud)
当我在开发模式下启动应用程序时,它会在浏览器中打开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文件的调用.
请指教.
谢谢!
注意:静态文件,逐字提供给用户的文件(如图像,CSS或JavaScript)与部署描述符中提到的路径分开处理.无论部署描述符中的servlet和过滤器映射如何,对与路径中的文件路径匹配的URL路径的请求都将为该文件提供服务,该文件将被视为静态文件.您可以使用appengine-web.xml文件从被视为静态文件的文件中排除文件.
我不做AppEngine,但我想<exclude>
为你希望过滤器应用的文件添加一个(这些文件将由默认的servlet提供 ;我猜他们将以不同的方式收费)