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