无法通过过滤器导航到jsp页面

时间:2017-02-01 06:28:00

标签: java spring spring-mvc session filter

我有一个基于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>

1 个答案:

答案 0 :(得分:-1)

将url模式从/ *更改为* .do它将起作用