没有合适的资源?快使用搜索试试~ 我知道了~
Spring MVC 学习记录总结1
需积分: 0 0 下载量 161 浏览量
2022-08-03
12:51:28
上传
评论 2
收藏 4.06MB PDF 举报
温馨提示
试读
102页
Spring MVC 学习记录总结Spring MVC 是目前主流的实现MVC设计模式的框架,是Spring 框架的一个分支产品,以 Spring IoC 容器
资源详情
资源评论
资源推荐
Spring MVC 学习记录总结
一、Spring MVC 概述
1、什么是 Spring MVC?
Spring MVC 是目前主流的实现MVC设计模式的框架,是Spring 框架
的一个分支产品,以 Spring IoC 容器为基础,并利用容器的特性来简化他
的配置。
Spring MVC 相当于Spring 的一个子模块,可以很好的和Spring 结合
起来进行开发,是Java Web 开发者必须掌握的框架。
Spring MVC 把程序分成了 Controller 、View 、Model 三层。
用户可以看到和操作 View ,Controller 接收到 View 的操作之后就可
以 调用 业务模型 Model ,Model 生成业务处理后 返回给 View ,呈现给
用户。
Spring MVC 就是对 这套流程的封装,它屏蔽了很多底层代码,开放出
接口,让开发者可以更加轻松、便捷的完成基于MVC 模式的 Web 开发。
2、Spring MVC 的核心组件
DispatcherServlet:前置控制器,是整个流程控制的核心,控制器
其他组件的执行并将进行统一调度,可以降低组件之间的耦合性,
相当于总指挥。
Handler:处理器,完成具体的业务逻辑,相当于Servlet 或
Action。
HandlerMapping:DispatcherServlet接收到请求后,通过
HandlerMapping将不同的请求映射到不同的Handler。
HandlerInterceptor:处理器拦截器。这是一个接口,如果需要完
成一些拦截处理,可以实现该接口。
HandlerExecutionChain:处理器执行链。它包括Handler 和
HandlerInterceptor 两部分内容组成。系统会有一个默认的
HandlerInterceptor ,如果需要额外设置拦截,可以添加拦截器。
HandlerAdapter:处理器适配器。Handler 在执行业务方法之
前,需要进行一系列的操作,包括表单数据的验证、数据类型转
换、将表单数据封装到 JavaBean 等,这些操作均由
HandlerAdapter 完成,开发者只需要完成业务逻辑。(注:
DispatcherServlet 通过 HandlerAdapter 执行不同的 Handler)
ModelAndView:装载了模型数据和视图信息,作为 Handler 的处
理结果返回给DIspatcherServlet。
ViewResolver:视图解析器。DIspatcherServlet 通过
ViewResolver 将逻辑视图解析为物理视图,最终将渲染的结果呈
现给用户。
3、Spring MVC 的工作流程
客户端请求被DispatcherServlet 接收
DispatcherServlet 根据 HandlerMapping 映射到 Handler
HandlerMapping 生成 Handler 和 HandlerInterceptor。
Handler 和 HandlerInterptor 会以 HandlerExecutionChain 的形
式一边给返回给 DispatcherServlet。
DispatcherServlet 通过 HandlerAdapter 调用 Handler 的方法完
成业务逻辑处理。
Handler 返回一个ModelAndView 给 DispatcherServlet。
DispatcherServlet 将获取的 ModelAndView 对象传给
ViewResolver 视图解析器,将逻辑视图解析为物理视图View。
ViewResolver 返回一个 View 给 DispatcherServlet。
DispatcherServlet 根据 View 进行试图渲染(将模型数据 Model
填充的视图 View 中)。
DispatcherServlet 将渲染后的结果响应给客户端。
4、Spring MVC 的特点
清晰地角色划分
灵活的配置功能
提供了大量的控制器和接口实现类
分离 View 层的实现
国际化支持
面向接口编程
Spring MVC 的流程非常复杂,但在实际开发中很简单,因为大部分的
组件不需要开发者创建和管理,只需要通过配置稳健的方式完成配置即
可。真正需要开发者进行处理的只有 Handler 、View 。
5、如何使用 Spring MVC?
创建Maven工程,pom.xml 添加相关依赖。
在web.xml中配置DispatcherServlet。
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.8.RELEASE</version>
</dependency>
</dependencies>
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application
2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web
Application</display-name>
<!-- 配置DispatcherServlet拦截所有请求,并初始化读取
springmvc.xml 文件 -->
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-
class>org.springframework.web.servlet.DispatcherSer
vlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-
name>
<param-value>classpath:springmvc.xml</param-
value>
</init-param>
</servlet>
<!-- 拦截所有请求 用 <url-pattern>/</url-pattern> 字
段 -->
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
springmvc.xml 文件中配置 Spring MVC 的相关配置。
<?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/schem
a/context"
xmlns:mvc="http://www.springframework.org/schema/mv
c"
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/sprin
g-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-
mvc-3.2.xsd">
<!-- 自动扫描 -->
<context:component-scan base-
package="com.gloryh"></context:component-scan>
<!-- 配置视图解析器 -->
<bean
class="org.springframework.web.servlet.view.Interna
lResourceViewResolver">
<property name="prefix" value="/">
</property>
<property name="suffix" value=".jsp">
</property>
剩余101页未读,继续阅读
三山卡夫卡
- 粉丝: 16
- 资源: 323
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0