关于springmvc应用中使用注解声明控制器无法访问报404错误的问题

在最近整合ssm项目时,通过tomcat发布项目后一直无法访问控制器,但是能正常访问静态资源。困扰了我两三天。
网上查了下众说纷纭,在确定spring-mvc.xml配置无误后,项目正常启动,这时我们注意看打印的日志:
[org.springframework.web.servlet.DispatcherServlet] - FrameworkServlet 'SpringMVC': initialization started
[org.springframework.web.context.support.XmlWebApplicationContext] - Refreshing WebApplicationContext for namespace 'SpringMVC-servlet': startup date [Fri May 17 14:58:31 CST 2019]; parent: Root WebApplicationContext
[org.springframework.beans.factory.xml.XmlBeanDefinitionReader] - Loading XML bean definitions from class path resource [spring-mvc.xml]
[org.springframework.web.servlet.handler.SimpleUrlHandlerMapping] - Mapped URL path [/**] onto handler 'org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler#0'
[org.springframework.web.servlet.DispatcherServlet] - FrameworkServlet 'SpringMVC': initialization completed in 777 ms
是的,我们的控制器没有被正确的mapping,再重新学习springmvc后发现在配置servlet时需要将其他的spring配置文件一同引入。即:
<!-- Spring MVC servlet -->
    <servlet>
        <servlet-name>SpringMVC</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring-mvc.xml,classpath:spring-mybatis.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
        <async-supported>true</async-supported>
    </servlet>

之后项目的控制器便可以正常mapping访问:

[org.springframework.beans.factory.xml.XmlBeanDefinitionReader] - Loading XML bean definitions from class path resource [spring-mybatis.xml]
[org.springframework.beans.factory.config.PropertyPlaceholderConfigurer] - Loading properties file from class path resource [jdbc.properties]
[org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping] - Mapped "{[/user/implAdd],methods=[POST],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public int com.julin.controller.UserController.add(java.lang.String,java.lang.String,java.lang.String)
[org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping] - Mapped "{[/user/login_check],methods=[POST],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public int com.julin.controller.UserController.login(java.lang.String,java.lang.String)
[org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping] - Mapped "{[/user/showUser],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String com.julin.controller.UserController.toIndex(javax.servlet.http.HttpServletRequest,org.springframework.ui.Model)
[org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping] - Mapped "{[/user/tologin],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String com.julin.controller.UserController.toLogin()
[org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping] - Mapped "{[/user/checkCode],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public void com.julin.controller.UserController.checkCode(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) throws javax.servlet.ServletException,java.io.IOException
[org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping] - Mapped "{[/user/toAdd],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public java.lang.String com.julin.controller.UserController.toAdd()

附上参考的ssm整合教程:ssm整合
以及提供解决思路的原文:思路来源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值