【问题标题】:Filter not triggered because of welcome-file由于欢迎文件而未触发过滤器
【发布时间】:2015-03-16 05:07:07
【问题描述】:

我有这个过滤器没有被触发(可能是由于欢迎文件)

<filter>
    <filter-name>gwtCacheControlFilter</filter-name>
    <filter-class>com.me.server.GWTCacheControlFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>gwtCacheControlFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

欢迎文件的定义位置:

<welcome-file-list>
    <welcome-file>app.html</welcome-file>
</welcome-file-list>

当localhost:8080 被访问时,它会自动返回 app.html。我无法删除该欢迎文件,因为我需要在访问该站点时它会自动显示主页。

在这种情况下,有什么办法可以使过滤器正常工作?

【问题讨论】:

  • 我无法重现此内容。你有什么证据表明请求没有通过你的GWTCacheControlFilter?
  • 我在 doHandle 中放置了一个 LOG,当我访问根路径时它没有显示,但是当我像 /stuff 或 /stuff/stuff 这样访问时它可以工作
  • 您的过滤器需要触发路径。但是当您输入http://128.0.0.1 时,过滤器不匹配。它期望领先的/。

标签: java servlets gwt servlet-filters


【解决方案1】:

编写一个重定向jsp并将其用作欢迎页面。

<welcome-file-list> 
   <welcome-file>index.jsp</welcome-file> 
</welcome-file-list> 

见Redirect pages in JSP?

【讨论】:

  • @xybrek AFAIK 是在访问没有路径的主机时作为转发处理的欢迎页面。所以首先你的过滤器没有被触发,转发将在内部处理,所以没有过滤器触发。但是重定向是客户端,因此当客户端遵循重定向时,您的过滤器将被触发。
猜你喜欢
  • 1970-01-01
  • 2014-01-15
  • 1970-01-01
  • 2014-02-07
  • 2021-10-07
  • 2015-04-06
  • 2011-06-24
  • 2012-04-26
  • 2013-08-31
相关资源
最近更新 更多