1. 程式人生 > >關於解決spring 只能跳轉到.jsp 不能跳轉到.html的問題

關於解決spring 只能跳轉到.jsp 不能跳轉到.html的問題

 原配置檔案:

<servlet>

    <servlet-name>mobileretrieval</servlet-name>
    <servlet-class>
            org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>mobileretrieval</servlet-name>
    <url-pattern>*.html</url-pattern>

  </servlet-mapping>


原controller

    @RequestMapping(value="/toIndex.html")
    public String toIndex() {
        return "index.jsp";
    }
    
    
    @RequestMapping(value="/toTest.html")
    public String toTest() {
        return "test.html";
    }

該配置只能返回.jsp 不能返回.html 是因為springMVC 攔截器的原因

  <servlet-mapping>
    <servlet-name>mobileretrieval</servlet-name>
    <url-pattern>*.html</url-pattern>

  </servlet-mapping

表示攔截所有以.html結尾的URL的請求,因此跳轉到本地 test.html的請求也被攔截


解決方法:

  <servlet>
    <servlet-name>mobileretrieval</servlet-name>
    <servlet-class>
            org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>mobileretrieval</servlet-name>
    <url-pattern>*.htm</url-pattern>
  </servlet-mapping>

@RequestMapping(value = "/toIndex.htm")
    public String toIndex() {
        return "index.jsp";
    }

    @RequestMapping(value = "/toIndex2.htm")
    public String toIndex2() {
        return "index2.html";
    }