1:创建一个maven项目
(创建maven项目的目的是,便于开发者管理jar文件,当然也可以创建普通的web项目)
2:修改pom.xml文件中的内容(用于导入一些相关的jar包)
4.0.0 com.doaoao firstMvc 0.0.1-SNAPSHOT war junit junit 3.8.1 test javax.servlet javax.servlet-api 3.1.0 org.springframework spring-webmvc 5.0.4.RELEASE firstMvc org.apache.maven.plugins maven-compiler-plugin 3:在webapp目录下创建WEB-INF目录,在WEB-INF目录下创建web.xml文件(该文件可从其它wen文件中拷贝过来)
该文件用于注册springmvc的中央控制器
firstMvc index.html index.htm index.jsp default.html default.htm default.jsp springMVC org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:springmvc.xml 1 springMVC *.do 4:在maven项目的src/main/resources目录下创建springmvc配置文件,文件名随意,但需与第三部中的<param-value>标签中的保持一致即可
5:创建一个类来实现接口 " org.springframework.web.servlet.mvc.Controller ",将实现该接口的类称为Controller
package com.doaoao.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 HelloSpringMvc implements Controller{ @Override public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception { ModelAndView mv = new ModelAndView(); // 向ModelAndView这个对象中添加一条数据,命名未hello,内容为hello first spring mvc mv.addObject("hello", "hello first spring mvc"); // 括号中的内容是要跳转的jsp的路径和文件名 mv.setViewName("/WEB-INF/jsp/first.jsp"); return mv; }}6:在SpringMVC配置文件 springmvc.xml文件中注册Controller(该Controller为第5步所创建的)
7:在WEB_INF/jsp 下创建文件 first.jsp(与第5步中跳转的页面地址一样)
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>Insert title here ${hello}8:在浏览器中访问:http://localhost:8080/newMvc/hello.do
hello为第5步所编写的所要访问的地址
如果当前的浏览器显示 "hello first spring mvc" 说明创建成功
在上方的代码中,会有冗余现象出现
在Controller中,如果编写多个Cntroller的话,要编写多次 mv.setViewName("/WEB-INF/jsp/first.jsp"); 中的 /WEB-INF/jsp 和 .jsp 所以可以配置视图解析器来解决该问题,视图解析器是springmvc提供的
1:在springmvc.xml 文件中配置视图解析器
ean> 2:修改Conroller中的内容(也就是上方所创建的HelloSpringMvc中的内容)
mv.setViewName("first");
1:用户按下回车键,浏览器将请求 http://localhost:8080/newMvc/hello.do 发送到web服务器(tomcat服务器),然后系统会在web.xml文件中查找与之匹配的servlet,我们在web.xml中设置的拦截请求 .do ,只要请求是以.do 结尾的,都会匹配到springMVC的核心 DispatcherServlet 上
2:随后 DispatcherServlet 会到springmvc配置文件springmvc.xml中查找与hello.do请求相匹配的Controller,就例如上面我们为请求 hello.do所配置的Cnntroller响应为 com.doaoao.controller.HelloSpringMvc
3:当找到对应的Controller时,DispatcherServlet 会将请求转到对应的Controller中,并调用该类中的 handleRequest方法来处理该请求
4:在handleRequest方法中执行完成后会将ModelAndView对象返回给DispatcherServlet,然后DispatcherServlet将jsp响应给浏览器,流程结束
本笔记参考自:小猴子老师教程 http://www.monkey1024.com