【求助】SpringMVC发生500错误

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

求助:SpringMVC报500错误

一、 前言

本人在初学SpringMVC,创建第一个SpringMVC项目,没有使用注解。运行时发生500错误

请添加图片描述

二、代码

  1. web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
      version="4.0">
 <servlet>
     <servlet-name>dispatcherServlet</servlet-name>
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
     <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>
 <!--匹配所有的请求,不包括jsp -->
 <servlet-mapping>
     <servlet-name>dispatcherServlet</servlet-name>
     <url-pattern>/</url-pattern>
 </servlet-mapping>
</web-app>

2.springmvc-servlet.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">
    <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
    <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
    <!--配置视图解析器对象-->
    <bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!--配置文件所在的目录-->
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <!--配置文件的后缀名-->
        <!--简化目标文件的代码量-->
        <property name="suffix" value=".jsp"/>
    </bean>

    <bean id="/hello" class="com.example.controller.hello"></bean>
</beans>

3.controller层的hello.java

package com.example.controller;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class hello implements Controller {
    //Controller  下导入的包是import org.springframework.web.servlet.mvc.Controller;
    @Override
    public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
        ModelAndView modelAndView = new ModelAndView();
        //封装对象,放到ModelAndView中
        modelAndView.addObject("msg","hello");
        modelAndView.setViewName("hello");//WEB-INF/jsp/test.jsp
        return modelAndView;
    }
}

4.视图层的hello.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
${msg}
</body>
</html>

5文件目录请添加图片描述

三、偶然发现

在out中的WEB-INF下的web.xml发生报错 ,而在编译代码处没有发生报错。此时classes下也只有springmvc-servlet.xml。我使用的是tomcat8.5,72+jdk1.8
请添加图片描述


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