【springMVC报错HTTP500】

org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [springmvc-servlet.xml]; nested exception is java.io.FileNotFoundException: 

class path resource [springmvc-servlet.xml] cannot be opened because it does not exist
看起来是springmvc-servlet.xml这个路径的配置问题,
但是左看右看也没看出哪里不对,配置代码如下
    <servlet>
        <servlet-name>Springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!--通过初始化参数指定SpringMVC配置文件的位置,进行关联-->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc-servlet.xml</param-value>
        </init-param>
        <!-- 启动顺序,数字越小,启动越早 -->
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>Springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>


 controller类如下:

@Controller
public class HelloController {

    @RequestMapping("/h1")
    public String hello(Model model){

        //封装数据,利用model
        model.addAttribute("msg","hello,springmvc");
        return "hello";//这个用于给视图解析器处理,用于拼接跳转
    }
}

 运行http://localhost:8080/springMVC_03_annotation_war_exploded/h1  就会报错HTTP500.

于是很奇怪,不使用注解运行的时候明明可以的,后来发现中间改过一次子模块module的名字但是自己忘了,

在pom.xml中<modules><module>xxxxxx</module></modules>里面还报红呢 ,显示的还是改之前的名字,于是换成新module的名字即可(表层看不出来,甚至显示build success迷惑你)

总结:我这个错应该算是偶然出现的,蠢哭自己了hh(自己给自己写bug),所以解决办法仅供参考,毕竟网上大多数这类500的问题应该是版本问题或者路径问题造成的。

原文地址:https://www.cnblogs.com/dabuliu/p/14363991.html