第一章 概述
- Spring MVC快速入门
- Spring MVC详解
- Spring MVC的使用
- Maven开发Spring MVC
第二章 Spring MVC快速入门及详解
2-1 Spring MVC快速入门
(1)什么是MVC设计模式?
- Controller:负责接收并处理请求,响应客户端。
- Model:模型数据,业务逻辑。
- View:呈现模型,与用户进行交互。
(2)什么是Spring MVC? - 目前最好的实现MVC设计模式的框架。
- Spring框架的一个后续产品。
- Spring框架的一个子模块,二者可以很好的结合使用,不需要整合。
2-2 Spring MVC详解
(1)Spring MVC核心组件(8个)
- DispatcherServlet:前置控制器。
- HandlerMapping:将请求映射到Handler。
- andler:后端控制器,完成具体业务逻辑
- HandlerInterceptor:处理器拦截器。
- HandlerExecutionChain:处理器执行链。 -
- HandlerAdapter:处理器适配器。
- ModelAndView:装载模型数据和视图信息。
- ViewResolver:视图解析器。
(2)Spring MVC实现流程
- 客户端请求被DispatcherServlet接收。
- DispatcherServlet将请求映射到Handler。
- 生成Handler以及HandlerInterceptor。
- 返回HandlerExecutionChain(Handler+HandlerInterceptor)。
- DispatcherServlet通过HandlerAdapter执行Handler。
- 返回一个ModelAndView。
- ispatcherServlet通过ViewResoler进行解析。
- 返回填充了模型数据的View,响应给客户端。
第三章 Spring MVC使用
Spring MVC的使用
- 大部分组件由框架提供,开发者只需通过配置进行关联。
- 开发者只需要手动编写Handler,View。
3-1 Spring MVC使用—基于XML配置
Spring MVC基础配置。
- XML配置Controller,HandlerMapping组件映射。
- XML配置ViewResolver组件映射。
(1)目录结构
(2)创建maven webapp项目,在pom.xml中导入Spring MVC,servlet需要的依赖。
<!-- 导入springmvc需要的jar -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>3.2.4.RELEASE</version>
</dependency>
<!-- 导入Servlet相关的jar -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
(3)在web.xml中配置DispatcherServlet前置控制器。
<web-app>
<display-name>Archetype Created Web Application</display-name>
<!-- 前置控制器 -->
<servlet>
<servlet-name>SpringMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param><!-- 初始化参数,指定springmvc的路径 -->
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
</servlet>
<!-- Servlet-mapping映射 -->
<servlet-mapping>
<servlet-name>SpringMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
(4)在resource中创建springmvc.xml文件,将Hanler和视图jsp关联起来。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<!-- 配置HandlerMapping,将url请求映射到Handler -->
<bean id="handlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<!-- 配置Mapping -->
<property name="mappings">
<props>
<!-- 配置test请求对应的handler -->
<prop key="/test">testHandler</prop>
</props>
</property>
</bean>
<!-- 配置Handler -->
<bean id="testHandler" class="com.demo.handler.MyHandler" ></bean><!-- id值对应上面的prop值 -->
<!-- 配置视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 配置前缀 -->
<pro