我有一个基于spring / hibernate的应用程序,可以通过其他两个应用程序登录。
我正在尝试使用过滤器在我的应用程序中实现会话超时。 过滤代码
if (session != null && session.getAttribute("user")!=null) {
chain.doFilter(request, response);
} else {
req.getRequestDispatcher("http://localhost:8080/Competitor-X-Ref-SearchResults/views/cross_reference_timeout.jsp").forward(req,
res);
}
但是应用程序没有导航到代码中提到的URL。在浏览日志时,我可以看到以下几行:
WARN 2017-02-01 11:51:45,619 [http-bio-8080-exec-10] org.springframework.web.servlet.PageNotFound - 找不到映射 带URI的HTTP请求 [/Competitor-X-Ref-WS-SearchResults/http:/localhost:8080/Competitor-X-Ref-SearchResults/views/cross_reference_timeout.jsp] 在DispatcherServlet中,名称为' dispatcher'
以下是我的web.xml的一部分:
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<filter>
<filter-name>SessionTimeOutFilter</filter-name>
<filter-class>com.compxref.security.CompXrefSessionTimeOutFilter</filter-class>
<init-param>
<param-name>mode</param-name>
<param-value>DENY</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>SessionTimeOutFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<session-config>
<session-timeout>60</session-timeout>
</session-config>
答案 0 :(得分:-1)
将url模式从/ *更改为* .do它将起作用