JDK1.7+Tomcat7.0 +Eclipse+SSM
一月 01, 2019 12:54:42 下午 org.apache.catalina.core.ApplicationContext log
信息: Initializing Spring FrameworkServlet 'SpringMVC'
一月 01, 2019 12:54:43 下午 org.apache.catalina.core.ApplicationContext log
严重: StandardWrapper.Throwable
org.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 'empController' bean method
public java.lang.String com.qiu.controller.EmpController.update(org.springframework.ui.ModelMap)
to {[/emp/update],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}: There is already 'empController' bean method
public java.lang.String com.qiu.controller.EmpController.delete(org.springframework.ui.ModelMap,javax.servlet.http.HttpServletRequest) mapped.
Caused by: java.lang.IllegalStateException: Ambiguous mapping found. Cannot map 'empController' bean method
public java.lang.String com.qiu.controller.EmpController.update(org.springframework.ui.ModelMap)
to {[/emp/update],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}: There is already 'empController' bean method
public java.lang.String com.qiu.controller.EmpController.delete(org.springframework.ui.ModelMap,javax.servlet.http.HttpServletRequest) mapped.
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1562)
... 33 more
一月 01, 2019 12:54:43 下午 org.apache.catalina.core.StandardWrapperValve invoke
严重: Allocate exception for servlet SpringMVC
java.lang.IllegalStateException: Ambiguous mapping found. Cannot map 'empController' bean method
public java.lang.String com.qiu.controller.EmpController.update(org.springframework.ui.ModelMap)
to {[/emp/update],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}: There is already 'empController' bean method
public java.lang.String com.qiu.controller.EmpController.delete(org.springframework.ui.ModelMap,javax.servlet.http.HttpServletRequest) mapped.
at org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.registerHandlerMethod(AbstractHandlerMethodMapping.java:215)
![](https://i-blog.csdnimg.cn/blog_migrate/e7b8bfb4c9b78f4e900838757af4d1e3.png)
①
![](https://i-blog.csdnimg.cn/blog_migrate/7c44449844bc7065a5093410e56c5528.png)
不使用"SpringMVC标签库",使用"JSP标准标签库",则无需在 "method=...GET"对应的index方法 里New某Javabean,放在map里,也无需改为map.addAttribute("empName",XXX),因为标准标签库的input元素的value属性可以无对应Javabean属性或无值,默认为null,若做"记住密码"操作,则用上Cookie,此时用得上modelMap.addAttribute("empName",XXX);
②
![](https://i-blog.csdnimg.cn/blog_migrate/8bc1a82bb34c4898ca9b26001238db54.png)
不能有完全相同的@RequestMapping注解,否则报"......BeanCreationException:....Cannot map 'loginController或者empController或xxxController等' bean method "异常。
(我的控制器类有LoginController和EmpController、我的页面有login EmpList和EmpAdd)光看异常,我想“改empController为EmpController”,这样不就好了???错,配置文件和注解都没有明显可以改变的,也没有empController这样的路径,“异常只是告诉我们在哪个控制类出了问题”,
所以到对应的"xxxController"的XxxController类看看有没有"相同的@RequestMapping注解"!!!若有则多余的一个改value值,只要注解不同名、不完全相同都不会报这样的异常!!!
扩展: