有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java无法通过筛选器导航到jsp页面

我有一个基于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 - No mapping found for HTTP request with URI [/Competitor-X-Ref-WS-SearchResults/http:/localhost:8080/Competitor-X-Ref-SearchResults/views/cross_reference_timeout.jsp] in DispatcherServlet with name 'dispatcher'

以下是我网站的部分内容。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) 个答案

  1. # 1 楼答案

    将url模式从/*更改为*。这样做会奏效的