1.Spring MVC 的工作流程
1.web请求被 前端控制器(DispatcherServlet)拦截
2.DispatcherServlet调用 映射处理器(HandelerMapping)查找页面 处理器(Handler),HandlerMapping向DispatcherServlet返回Handler。HandlerMapping把web请求映射为HandlerExecutionChain对象,它包含了一个Handler处理器对象和多个 拦截器(HandlerInterceptor)对象
3.DispatcherServlert调用 处理适配器(HandlerAdapter)去执行Handler
4.HandlerAdapter会根据适配器的结果去执行Handler,Handler执行完成后适配器返回ModelAndView,HandlerAdapter向DispatcherServlert返回ModelAndView.
5.DispatcherServlet调用 视图解析器(ViewResolver)进行视图解析,它根据逻辑视图名解析成JSP,ViewResolver向DispatcherServlet返回View.
6.DiapatcherServlet进行视图渲染
7.DispatcherServlet向用户返回响应结果
2.第一个SpringMVC程序
1.准备jar包(有些包为后续作准备)
2.项目结构(不要在意项目名和包名,咳咳,注意创建的是web项目)
3.web.xml文件
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee " version="3.1"> 3 <display-name>SpringMVC</display-name> 4 <!-- 配置前端控制器 --> 5 <servlet> 6 <servlet-name>article6</servlet-name> 7 <!-- 配置SpringMVC前端控制器 --> 8 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 9 <!-- 加载Spring的配置文件 --> 10 <init-param> 11 <param-name>contextConfigLocation</param-name> 12 <param-value>classpath:springmvc-servlet.xml</param-value> 13 </init-param> 14 15 </servlet> 16 <!-- 由DispatcherServlet拦截前缀为url的路径 --> 17 <servlet-mapping> 18 <servlet-name>article6</servlet-name> 19 <url-pattern>/url/*</url-pattern> 20 </servlet-mapping> 21 22 </web-app>