2013-10-01 69 views
0

我有兩個映射模式/ userdetails,一個用於獲取請求,一個用於發佈請求。與彈簧安全集成後的Handler映射問題

它工作正常,直到我將Spring授權集成到我的項目中。現在我得到錯誤以下任何想法爲什麼發生這種情況?

我的兩個映射是這樣的。

@RequestMapping(value = "/userdetails* ", method = RequestMethod.GET) 

@RequestMapping(value = "/userdetails*", method = RequestMethod.POST) 

請爲此錯誤提出任何原因。

Caused by: java.lang.IllegalStateException: Cannot map handler 'LoginController' to URL path [/userdetails]: There is already handler of type [class com.sample.user.controller.MyController] mapped. 
    at org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.registerHandler(AbstractUrlHandlerMapping.java:390) 
    at org.springframework.web.servlet.handler.AbstractUrlHandlerMapping.registerHandler(AbstractUrlHandlerMapping.java:362) 
    at org.springframework.web.servlet.handler.AbstractDetectingUrlHandlerMapping.detectHandlers(AbstractDetectingUrlHandlerMapping.java:82) 
    at org.springframework.web.servlet.handler.AbstractDetectingUrlHandlerMapping.initApplicationContext(AbstractDetectingUrlHandlerMapping.java:58) 
    at org.springframework.context.support.ApplicationObjectSupport.initApplicationContext(ApplicationObjectSupport.java:119) 
    at org.springframework.web.context.support.WebApplicationObjectSupport.initApplicationContext(WebApplicationObjectSupport.java:72) 
    at org.springframework.context.support.ApplicationObjectSupport.setApplicationContext(ApplicationObjectSupport.java:73) 
    at org.springframework.context.support.ApplicationContextAwareProcessor.invokeAwareInterfaces(ApplicationContextAwareProcessor.java:117) 
    at org.springframework.context.support.ApplicationContextAwareProcessor.postProcessBeforeInitialization(ApplicationContextAwareProcessor.java:92) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:396) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1475) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:521) 
+0

還有另一個處理程序,你不張貼。該錯誤告訴您已經有一個處理程序方法映射到該類型的請求。 –

+0

檢查此問題http://stackoverflow.com/questions/4802293/spring-beancreationexception-confusion-about-mapping –

+0

您使用的是哪個Spring版本,併發布'mvn dependency:tree'的輸出。我猜你正在使用'mvc:annotation-driven />',並且由於Spring Security,你會得到3.0版本而不是3.1(或更高版本)。 –

回答

0

我面臨類似的問題。我用「@Controller」定義了控制器類,並且在Spring-config.xml文件中定義了一個bean並注入了依賴關係。

這是造成這個問題。 @Controller正在定義這個bean,同樣,xml文件中定義的bean正在重新定義依賴關係。我嘗試了自動裝配依賴項,並將其從xml文件中作爲bean移除。然後它工作。