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