在WEB-INF目录下创建 web.xml
配置Spring MVC的入口 DispatcherServlet,把所有的请求都提交到该Servlet
注意:<servlet-name>springmvc</servlet-name>
springmvc这个名字在下一步会用到
<? xml version = "1.0" encoding = "UTF-8" ?>
< web-app version = "2.4" xmlns = "http://java.sun.com/xml/ns/j2ee"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
< servlet >
< servlet-name >springmvc</ servlet-name >
< servlet-class >
org.springframework.web.servlet.DispatcherServlet
</ servlet-class >
< load-on-startup >1</ load-on-startup >
</ servlet >
< servlet-mapping >
< servlet-name >springmvc</ servlet-name >
< url-pattern >/</ url-pattern >
</ servlet-mapping >
</ web-app >
|
步骤 6 : 创建springmvc-servlet.xml
在WEB-INF目录下创建 springmvc-servlet.xml
springmvc-servlet.xml 与上一步中的
<servlet-name>springmvc</servlet-name>
|
springmvc对应
这是Spring MVC的 映射配置文件
表示访问路径/index会交给id=indexController的bean处理
id=indexController的bean配置为类:IndexController
<? xml version = "1.0" encoding = "UTF-8" ?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
< beans >
< bean id = "simpleUrlHandlerMapping"
class = "org.springframework.web.servlet.handler.SimpleUrlHandlerMapping" >
< property name = "mappings" >
< props >
< prop key = "/index" >indexController</ prop >
</ props >
</ property >
</ bean >
< bean id = "indexController" class = "controller.IndexController" ></ bean >
</ beans >
|
步骤 7 : 控制类 IndexController
控制类 IndexController实现接口Controller ,提供方法handleRequest处理请求
SpringMVC通过 ModelAndView 对象把模型和视图结合在一起
ModelAndView mav = new ModelAndView( "index.jsp" );
mav.addObject( "message" , "Hello Spring MVC" );
|
表示视图是index.jsp
模型数据是 message,内容是 “Hello Spring MVC”
package controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
public class IndexController implements Controller {
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
ModelAndView mav = new ModelAndView( "index.jsp" );
mav.addObject( "message" , "Hello Spring MVC" );
return mav;
}
}
|
步骤 8 : 准备index.jsp
在WebContent目录下创建index.jsp
index.jsp很简单,通过
EL表达式显示message的内容
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" isELIgnored="false"%>
< h1 >${message}</ h1 >
|
步骤 9 : 部署在tomcat中,重启测试
步骤 10 : 原理图
1. 用户访问 /index
2. 根据web.xml中的配置 所有的访问都会经过DispatcherServlet
3. 根据 根据配置文件springmvc-servlet.xml ,访问路径/index
会进入IndexController类
4. 在IndexController中指定跳转到页面index.jsp,并传递message数据
5. 在index.jsp中显示message信息
步骤 11 : 完整的项目下载
一般说来,根据步骤一步一步的做过来,就可以运行看到结果了。
如果实在看不到结果,多半是因为中间某个步骤不够仔细,大小写错误,多了个下划线等等细微的错误。
如果是这样,还可以在右侧下载完整的项目保证一定可以走通
步骤 12 : 练习
本例实现了访问路径/index,服务端跳转到index.jsp的效果
练习:访问路径/hello 服务端跳转到hello.jsp
更多SpringMVC学习内容:https://how2j.cn/k/springmvc/springmvc-springmvc/615.html?p=144217