当我第一次通过浏览器输入 url 时,我的 servlet 过滤器被命中。例如,appPages/Nav.xhtml?id=1
第一次在浏览器中粘贴确实会刷新页面。现在,当我将查询字符串更改为appPages/Nav.xhtml?id=2
也刷新页面时。
但是我第三次进入appPages/Nav.xhtml?id=1
它仍然记得旧阶段并且我的过滤器从未被调用过。在我的 web.xml 中,我将过滤器配置为
<filter>
<display-name>SearchParamsFilter</display-name>
<filter-name>SearchParams</filter-name>
<filter-class>com.acme.filter.SearchParams</filter-class>
</filter>
<filter-mapping>
<filter-name>SearchParams</filter-name>
<url-pattern>/appPages/Nav.xhtml</url-pattern>
</filter-mapping>
为什么要记住旧的状态?仅当我再次在同一选项卡同一窗口中输入 url 时才会发生这种情况。但是重新加载工作正常。
更新:它在 Chrome 上运行良好,但在 IE 上不行!