SpringMVC控制器类名称处理映射 500错误

XXX-servlet.xml文件

ControllerClassNameHandleMapping类是基于约定的处理程序映射类 它将URL请求映射到配置中提到的控制器的名称。
这个类接受控制器名称并将其转换为带有前导“/”的小写形式 

   <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping" /> 
   <bean class="com.mh.controller.HelloController"/>
   <bean class="com.mh.controller.WelcomeController"/>

HelloController.java

package com.mh.controller;

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

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

public class HelloController extends AbstractController{

    @Override
    protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {
        // TODO Auto-generated method stub
        ModelAndView model=new ModelAndView("hello");
        model.addObject("message","Hello World");
        return model;
    }

}

WelcomeController.java

package com.mh.controller;

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

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

public class WelcomeController extends AbstractController{

    @Override
    protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception {
        // TODO Auto-generated method stub
        ModelAndView model=new ModelAndView("welcome");
        model.addObject("message","Welcome!");
        return model;
    }

}

hello.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Hello World</title>
</head>
<body>
<h2>${message}</h2>
</body>
</html>

当启动服务器时,出现500错误

查看异常日志:

ClassNotFoundException: org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping
lib

一直在网上找不出原因,为什么会一直找不到这个类

一般出现

ClassNotFoundException 可能是没导进jar包 检查了 jar包导入没问题 那便可能是jar包的版本不对
上述我使用的是最新的spring5.0
于是在网上下载了之前的版本spring4.0 地址:http://repo.spring.io/libs-release-local/org/springframework/spring/
替换之后

再次运行Tomcat 地址栏输入:http://localhost:8080/ControllerClassNameHandlerMapping/hello.html
访问成功~奈斯

 



 
posted @ 2018-08-06 11:24  SakalakaZ  阅读(1872)  评论(0编辑  收藏  举报