【错误积累】Ambiguous mapping found. Cannot map '***Controller' bean method

来源:互联网 发布:js设置全局cookie 编辑:程序博客网 时间:2024/05/22 12:53

      今天做了一个小Demo进行功能的初步测试,这么简单的事情也报错了,积累一下自己遇到的各种报错吧。

报错如下:

2017-04-22 09:08:07,207 ERROR [FrameworkServlet.java:470] : Context initialization failedorg.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping#0': Invocation of init method failed; nested exception is java.lang.IllegalStateException: Ambiguous mapping found. Cannot map 'viewCarInfoStockOutDetailController' bean method public java.lang.String com.greatwall.dcs.boss.web.controller.transport.ViewCarInfoStockOutDetailController.showUI()to {[/transport/viewCarInfoStockOutDetail.do],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}: There is already 'viewCarInfoStockOutDetailController' bean methodpublic void com.greatwall.dcs.boss.web.controller.transport.ViewCarInfoStockOutDetailController.showMyStorages(com.greatwall.dcs.dealerstock.entity.DS_DealerStorage,javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) mapped.at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1514)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:521)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:191)at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:636)at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:938)at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:651)at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:602)at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:665)at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:521)at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:462)at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)at javax.servlet.GenericServlet.init(GenericServlet.java:158)at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1284)at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1197)at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:864)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:134)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)at java.lang.Thread.run(Unknown Source)Caused by: java.lang.IllegalStateException: Ambiguous mapping found. Cannot map 'viewCarInfoStockOutDetailController' bean method public java.lang.String com.greatwall.dcs.boss.web.controller.transport.ViewCarInfoStockOutDetailController.showUI()to {[/transport/viewCarInfoStockOutDetail.do],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}: There is already 'viewCarInfoStockOutDetailController' bean methodpublic void com.greatwall.dcs.boss.web.controller.transport.ViewCarInfoStockOutDetailController.showMyStorages(com.greatwall.dcs.dealerstock.entity.DS_DealerStorage,javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) mapped.at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.registerHandlerMethod(AbstractHandlerMethodMapping.java:173)at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.detectHandlerMethods(AbstractHandlerMethodMapping.java:147)at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.initHandlerMethods(AbstractHandlerMethodMapping.java:108)at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.afterPropertiesSet(AbstractHandlerMethodMapping.java:88)at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping.afterPropertiesSet(RequestMappingHandlerMapping.java:126)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1573)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1511)... 34 more

解决分析:

1.查看了一下配置文件对于controller报的扫描

2.查看了一下controller类的@Controller注解

3.查看一下具体方法的RequestMapping的value值,在同一个Controller类或在不同Controller类中。

结果 在不同的Controller中发现注解定义的映射重复。于是乎,改个映射名即可。

0 0