完美解决SpringMVC中org.springframework.web.servlet.DispatcherServlet.noHandlerFound No mapping 404错误

  • Post author:
  • Post category:其他




错误原因描述

出现该错误的原因主要是无法扫描注册@Controller注解的类的实例进入IOC容器而导致的,从而从一下几个方面来分析

  1. MVC配置文件中:component-scan 标签扫描包路径是否正确,且是否误写了排除@Controller注解
  2. Controller类头部声明注解是否是:org.springframework.stereotype.Controller包内容
  3. 自动声明MVC中常用注解使用<mvc:annotation-driven />标签而不是<mvc:annotation-config />

以上问题分析完成后再进行测试如果还是出现404排查以下问题

此时可能问题并不是扫描的问题,而是@RequestMapping路径问题,检查路径是否正确

综合以上问题描述,问题应该能够得到结局,如果还是出现无法映射,则查看web.xml配置文件中springmvc配置文件加载以及前端控制器加载时机是否合理

<!-- 配置前端控制器 -->
    <servlet>
        <servlet-name>dispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!-- 当前端控制器加载时要加载springMVC配置文件 -->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring.xml</param-value>
        </init-param>
        <!-- 让前端控制器Servlet在项目启动加载阶段就进行实例 -->
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcherServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

感谢各位看官,如果喜欢的话点赞给我多多支持,我会一直出Java全栈开发课程内容,蟹蟹大家~磕头



版权声明:本文为gjb760662328原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。