No mapping found for HTTP request with URI [/xxx] in DispatcherServlet with name 'despatcherServlet'

我遇到的问题已解决,方法如下:

原链接地址  https://blog.csdn.net/panguang9713/article/details/76184927

遇到这个问题总结一下:

1. springmvc的配置文件没有被加载,所以这里特别说明一下,如果您使用的是maven项目,并且在web.xml文件中配置的springmvc配置文件在classpath下,务必将配置文件放在resource目录而不是java目录下,您不妨打开target目录或者tomcat部署的目录看classes目录下是否有该配置文件。

2. 开启spring的注解功能,直接在springmvc的配置文件的beans节点中加入(mvc命名空间后面源码有有)用来开启注解

3. 确认扫描的包名没有错

4. 如果你发现访问一个url后控制器执行了但是还是404并且还是如题所示的错误,那么你就要注意了,原因是控制器返回的视图又被dispatcherservlet当做控制器访问了,当他发现没有找到对应的控制器就会返回404,而你要返回的视图是个静态资源,此时在springmvc的配置文件中添加

<mvc:default-servlet-handler/>

或者resouce节点即可解决问题

这里贴上springmvc配置文件的源码

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context-4.3.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <!--开启注解-->
    <mvc:annotation-driven/>
    <!--访问静态资源(假如没找到相应的控制器就去找静态资源,如果都没有则返回404)-->
    <mvc:default-servlet-handler/>
    <!--配置要自动扫描的包-->
    <context:component-scan base-package="com.jhinwins.*"></context:component-scan>

    <!-- 视图解析(不必须) -->
    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/page/"></property>
        <property name="suffix" value=".html"></property>
    </bean>

</beans>

下文链接地址  https://blog.csdn.net/u010738061/article/details/48136747

1、控制层没有被spring扫描到,控制层没有实例化,检查自己的控制层是否被spring扫描到,检查以下配置:<context:component-scan base-package=""/>

2、web.xml配置文件的<url-pattern>标签配置成<url-pattern>/*</url-pattern>,正确的配置应该是<url-pattern>/</url-pattern>。学了structs之后再学spring mvc框架的          就会很容易犯这个错误。

3、使用的是注解实例化控制层,且web.xml的路径配置为<url-pattern>/</url-pattern>,却没有在spring的配置文件使用<mvc:annotation-driven />标签,导致URL解析出错,检查是否加上<mvc:annotation-driven />。

猜你喜欢

转载自blog.csdn.net/loveer0/article/details/82885117