2009-06-23 66 views
2

這是一個長鏡頭,但希望有人能幫助錯誤。奇怪404在使用Spring MVC

我的應用程序使用Spring框架MVC。如果工作正常,99%。但是,當我試圖去一個鏈接讓我們稱之爲[路徑]/link.html。我收到一個404錯誤。但是,如果我在我的開發環境(tomcat,windows,IE和eclipse)中訪問這個鏈接,我不會收到這樣的404錯誤(一切都按預期工作)。它只發生在我的生產網站(網絡邏輯)。

我已經看了日誌文件,並沒有什麼顯示爲一個問題。

<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> 
     <property name="mappings"> 
      <props> 
<prop key="/link.html">linkController</prop> 
... 
</props> 
</property> 
</bean> 
+0

你是否正在通過AJP運行apache + tomcat? – stevedbrown 2009-06-23 14:14:43

+0

你的url映射的定義是什麼?你可以發佈他們嗎? – 2009-06-23 14:19:20

回答

1

你可能需要使用<servlet-mapping>元素在你的web.xml文件映射爲HTML文件到控制器servlet請求。您可能需要考慮使用link.do而不是link.html,因爲將HTML文件的請求映射到控制器servlet可能會使應用程序中的靜態內容有點棘手。

在另一方面,在一般情況下,你希望你的開發堆棧,以儘可能與你的工作棧越好。如果您使用WebLogic而不是Tomcat進行開發,您似乎很快就會發現此問題,因爲您在生產中使用WebLogic。

+0

該映射與所有其他正常工作的映射一致。換句話說.html被映射到servlet。 – IaCoder 2009-06-23 14:29:45

1

沒有看到有問題的URL我猜你有一個問題,你的URL結構,它完全不符合生產服務器上的資源,而不是它是與你的配置有問題,給定其他HTML資源是可訪問的。

我總是使用JSTL URL標籤構造的URL,它涵蓋在這裏下車描述(http://www.ibm.com/developerworks/java/library/j-jstl0318/#N10532

如果使用JSTL一切是不是一種選擇,那麼鏈接應該給你一些指針,以你需要什麼在構建URL時考慮。

1

打開org.springframework日誌記錄器的日誌記錄,並查看在您請求/link.html時Spring內發生了什麼(或者如果您的Web請求甚至將其發送到DispatcherServlet)。

0

的問題實際上不是春/ JSP /等...問題是Apache中的位置指令是如何配置的。該指令中的路徑需要尾隨斜線。