rg.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping’: Invocation of init method failed; nested exception is java.lang.IllegalStateException: Ambiguous mapping. Cannot map ‘userController’ method
public java.lang.String smbms.controller.UserController.login(java.lang.String,java.lang.String,javax.servlet.http.HttpSession,javax.servlet.http.HttpServletRequest)
to {[/doUser/login]}: There is already ‘userController’ bean method
public org.springframework.web.servlet.ModelAndView smbms.controller.UserController.login(java.lang.String,java.lang.String,javax.servlet.http.HttpSession) mapped.
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1634)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:312)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:308)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)
at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:634)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682)
at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553)
at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494)
at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:171)
at javax.servlet.GenericServlet.init(GenericServlet.java:158)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1144)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:983)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5003)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5317)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:754)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:730)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1736)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:483)
at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:432)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
at com.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:468)
at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1471)
at javax.management.remote.rmi.RMIConnectionImpl.access
300
(
R
M
I
C
o
n
n
e
c
t
i
o
n
I
m
p
l
.
j
a
v
a
:
76
)
a
t
j
a
v
a
x
.
m
a
n
a
g
e
m
e
n
t
.
r
e
m
o
t
e
.
r
m
i
.
R
M
I
C
o
n
n
e
c
t
i
o
n
I
m
p
l
300(RMIConnectionImpl.java:76) at javax.management.remote.rmi.RMIConnectionImpl
300(RMIConnectionImpl.java:76)atjavax.management.remote.rmi.RMIConnectionImplPrivilegedOperation.run(RMIConnectionImpl.java:1312)
at java.security.AccessController.doPrivileged(Native Method)
at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1411)
at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:832)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:323)
at sun.rmi.transport.Transport$1.run(Transport.java:200)
at sun.rmi.transport.Transport
1.
r
u
n
(
T
r
a
n
s
p
o
r
t
.
j
a
v
a
:
197
)
a
t
j
a
v
a
.
s
e
c
u
r
i
t
y
.
A
c
c
e
s
s
C
o
n
t
r
o
l
l
e
r
.
d
o
P
r
i
v
i
l
e
g
e
d
(
N
a
t
i
v
e
M
e
t
h
o
d
)
a
t
s
u
n
.
r
m
i
.
t
r
a
n
s
p
o
r
t
.
T
r
a
n
s
p
o
r
t
.
s
e
r
v
i
c
e
C
a
l
l
(
T
r
a
n
s
p
o
r
t
.
j
a
v
a
:
196
)
a
t
s
u
n
.
r
m
i
.
t
r
a
n
s
p
o
r
t
.
t
c
p
.
T
C
P
T
r
a
n
s
p
o
r
t
.
h
a
n
d
l
e
M
e
s
s
a
g
e
s
(
T
C
P
T
r
a
n
s
p
o
r
t
.
j
a
v
a
:
568
)
a
t
s
u
n
.
r
m
i
.
t
r
a
n
s
p
o
r
t
.
t
c
p
.
T
C
P
T
r
a
n
s
p
o
r
t
1.run(Transport.java:197) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:196) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568) at sun.rmi.transport.tcp.TCPTransport
1.run(Transport.java:197)atjava.security.AccessController.doPrivileged(NativeMethod)atsun.rmi.transport.Transport.serviceCall(Transport.java:196)atsun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)atsun.rmi.transport.tcp.TCPTransportConnectionHandler.run0(TCPTransport.java:826)
at sun.rmi.transport.tcp.TCPTransport
C
o
n
n
e
c
t
i
o
n
H
a
n
d
l
e
r
.
l
a
m
b
d
a
ConnectionHandler.lambda
ConnectionHandler.lambdarun
256
(
T
C
P
T
r
a
n
s
p
o
r
t
.
j
a
v
a
:
683
)
a
t
j
a
v
a
.
s
e
c
u
r
i
t
y
.
A
c
c
e
s
s
C
o
n
t
r
o
l
l
e
r
.
d
o
P
r
i
v
i
l
e
g
e
d
(
N
a
t
i
v
e
M
e
t
h
o
d
)
a
t
s
u
n
.
r
m
i
.
t
r
a
n
s
p
o
r
t
.
t
c
p
.
T
C
P
T
r
a
n
s
p
o
r
t
256(TCPTransport.java:683) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.tcp.TCPTransport
256(TCPTransport.java:683)atjava.security.AccessController.doPrivileged(NativeMethod)atsun.rmi.transport.tcp.TCPTransportConnectionHandler.run(TCPTransport.java:682)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor
W
o
r
k
e
r
.
r
u
n
(
T
h
r
e
a
d
P
o
o
l
E
x
e
c
u
t
o
r
.
j
a
v
a
:
617
)
a
t
j
a
v
a
.
l
a
n
g
.
T
h
r
e
a
d
.
r
u
n
(
T
h
r
e
a
d
.
j
a
v
a
:
745
)
C
a
u
s
e
d
b
y
:
j
a
v
a
.
l
a
n
g
.
I
l
l
e
g
a
l
S
t
a
t
e
E
x
c
e
p
t
i
o
n
:
A
m
b
i
g
u
o
u
s
m
a
p
p
i
n
g
.
C
a
n
n
o
t
m
a
p
′
u
s
e
r
C
o
n
t
r
o
l
l
e
r
′
m
e
t
h
o
d
p
u
b
l
i
c
j
a
v
a
.
l
a
n
g
.
S
t
r
i
n
g
s
m
b
m
s
.
c
o
n
t
r
o
l
l
e
r
.
U
s
e
r
C
o
n
t
r
o
l
l
e
r
.
l
o
g
i
n
(
j
a
v
a
.
l
a
n
g
.
S
t
r
i
n
g
,
j
a
v
a
.
l
a
n
g
.
S
t
r
i
n
g
,
j
a
v
a
x
.
s
e
r
v
l
e
t
.
h
t
t
p
.
H
t
t
p
S
e
s
s
i
o
n
,
j
a
v
a
x
.
s
e
r
v
l
e
t
.
h
t
t
p
.
H
t
t
p
S
e
r
v
l
e
t
R
e
q
u
e
s
t
)
t
o
[
/
d
o
U
s
e
r
/
l
o
g
i
n
]
:
T
h
e
r
e
i
s
a
l
r
e
a
d
y
′
u
s
e
r
C
o
n
t
r
o
l
l
e
r
′
b
e
a
n
m
e
t
h
o
d
p
u
b
l
i
c
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
s
e
r
v
l
e
t
.
M
o
d
e
l
A
n
d
V
i
e
w
s
m
b
m
s
.
c
o
n
t
r
o
l
l
e
r
.
U
s
e
r
C
o
n
t
r
o
l
l
e
r
.
l
o
g
i
n
(
j
a
v
a
.
l
a
n
g
.
S
t
r
i
n
g
,
j
a
v
a
.
l
a
n
g
.
S
t
r
i
n
g
,
j
a
v
a
x
.
s
e
r
v
l
e
t
.
h
t
t
p
.
H
t
t
p
S
e
s
s
i
o
n
)
m
a
p
p
e
d
.
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
s
e
r
v
l
e
t
.
h
a
n
d
l
e
r
.
A
b
s
t
r
a
c
t
H
a
n
d
l
e
r
M
e
t
h
o
d
M
a
p
p
i
n
g
Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'userController' method public java.lang.String smbms.controller.UserController.login(java.lang.String,java.lang.String,javax.servlet.http.HttpSession,javax.servlet.http.HttpServletRequest) to {[/doUser/login]}: There is already 'userController' bean method public org.springframework.web.servlet.ModelAndView smbms.controller.UserController.login(java.lang.String,java.lang.String,javax.servlet.http.HttpSession) mapped. at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping
Worker.run(ThreadPoolExecutor.java:617)atjava.lang.Thread.run(Thread.java:745)Causedby:java.lang.IllegalStateException:Ambiguousmapping.Cannotmap′userController′methodpublicjava.lang.Stringsmbms.controller.UserController.login(java.lang.String,java.lang.String,javax.servlet.http.HttpSession,javax.servlet.http.HttpServletRequest)to[/doUser/login]:Thereisalready′userController′beanmethodpublicorg.springframework.web.servlet.ModelAndViewsmbms.controller.UserController.login(java.lang.String,java.lang.String,javax.servlet.http.HttpSession)mapped.atorg.springframework.web.servlet.handler.AbstractHandlerMethodMappingMappingRegistry.assertUniqueMethodMapping(AbstractHandlerMethodMapping.java:576)
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping$MappingRegistry.register(AbstractHandlerMethodMapping.java:540)
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.registerHandlerMethod(AbstractHandlerMethodMapping.java:264)
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.detectHandlerMethods(AbstractHandlerMethodMapping.java:250)
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.initHandlerMethods(AbstractHandlerMethodMapping.java:214)
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.afterPropertiesSet(AbstractHandlerMethodMapping.java:184)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping.afterPropertiesSet(RequestMappingHandlerMapping.java:127)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1692)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1630)
… 66 more
解决办法:两个注解不能重名