2015-12-11 36 views
-2
@RequestMapping("/form") 
public String formForCreate(Model model) { 
log("Action 'formForCreate'"); 
} 

上述請求映射命中兩次。我怎樣才能阻止這一點?Spring MVC Controller中的請求映射擊中兩次

+0

你如何測量它擊中兩次?這不就是你的日誌記錄的錯誤配置(登錄兩次)。 –

+2

分享一些更多的代碼,錯誤消息,控制檯輸出... – Jan

+0

問題需要一些細節。當然你不是說過兩次嗎?也許它重新加載頁面?也許該頁面加載爲默認並重新加載時,你去到Url? –

回答

0

您可以檢查的一件事是如果您的應用程序上下文掃描控制器組件被加載兩次。例如,在你的web xml中,你將你的web.xml中的調度器servlet配置爲命名爲dispatcher,並且你配置了contextConfigLocation來加載下面的bean配置文件。

<context-param> 
<param-name>contextConfigLocation</param-name> 
<param-value>classpath*:dispatcher-servlet.xml</param-value> 
</context-param> 

這可以在控制器結果得到每個請求監守的調度員的servlet兩次擊中時的調度的servlet啓動另一次當的ContextLoaderListener啓動時自動加載一次。

+0

Abdelhak是正確的。檢查服務器加載時您的RequestMappings是否已初始化兩次。這可能是錯誤配置的結果,其中您加載所有的bean兩次(例如,兩個應用程序上下文)。 – Schaka

+0

控制器不會被擊中兩次。如果有兩個bean註冊了相同的類型,它們會有相同的@ @ RequestMapping,並且Spring MVC會抱怨重複的映射和崩潰@Schaka。 Spring僅對每個請求使用一個處理程序。 –