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
访问成功~奈斯

 



 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM