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
訪問成功~奈斯