转载

SpringMVC

SpringMVC

初始SpringMVC

在 Spring 的基本架构中,红色圈起来的 Spring Web MVC ,也就是本系列的主角 SpringMVC,它是属于Spring基本架构里面的一个组成部分,属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面,所以我们在后期和 Spring 进行整合的时候,几乎不需要别的什么配置。

Spring+MVC=SpringMVC : 在spring的基础上,对MVC思想的一个实现,是一个MVC框架

SpringMVC: 对servlet做的一个封装,换成controller层

相对于struts2,SpringMVC和Spring结合的更加完美

SpringMVC初配置

1. 复制项目到Test_Shop_SSM,添加一个jar包

spring-webmvc-4.1.0.RELEASE.jar

2. 配置web.xml

SpringMVC

SpringMVC

只有在满足地址后缀 .do,才会进入SpringMVC框架

3. 添加,配置SpringMVC的主配置文件 springmvc-servlet.xml

SpringMVC

4. 创建controller包,创建一个普通的类ClientController,添加对应注解

SpringMVC

与视图解析器,拼接前置和后置地址为/success.jsp

5. 修改login.jsp 的登录跳转地址

SpringMVC

地址后加上匹配规则 .do,进入SpringMVC框架

SpringMVC

工作流程:

1. 加载web.xml,读取配置,启动SpringMVC

2. 发送URL请求,匹配规则*.do,实例化SpringMVC的Servlet对象

3. 扫描注解路径,寻找标记注解@Controller层

4. 根据URI请求的地址,匹配方法上的注解@RequestMapping的值

5. 执行方法

6. 解析返回值,匹配默认的视图解析器,拼接成一个跳转的URI(默认转发)

参数收集

1. 内置对象 HttpServletRequest (了解)

SpringMVC

2. 方法参数收集(常用)

SpringMVC

前台的key值对应到参数值,就可以获取到value

3. 方法对象收集  (常用)

SpringMVC

3.1 后台执行无参构造方法,创建对象

3.2 根据前台的key,调用对应的set/get方法完成赋值

SpringMVC乱码处理

在web.xml添加Spring过滤,处理所有请求地址,转译字符编码UTF-8

SpringMVC

模拟完成SSM框架下登录功能

SpringMVC

1.Spring家族体系

Spring AOP:为Spring容器管理的对象提供了对面向切面编程的支持;

Spring DAO:该层封装了对数据库的访问,并且处理了其抛出的错误消息,同时还基于AOP模块提供了事务管理;

Spring ORM:Spring支持多种ORM框架,简化了数据库操作。

Spring Web :Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。

Spring MVC :MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现。通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI。

2.SpringMVC框架定义

Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和 POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。

Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。

Spring的MVC框架主要由DispatcherServlet、处理器映射、处理器(控制器)、视图解析器、视图组成。

3.SpringMVC执行流程

首先用户发送请求到前端控制器,前端控制器根据请求信息(如 URL)来决定选择哪一个页面控制器进行处理并把请求委托给它,即以前的控制器的控制逻辑部分;

页面控制器接收到请求后,进行功能处理,首先需要收集和绑定请求参数到一个对象,这个对象在 Spring Web MVC 中叫命令对象,并进行验证,然后将命令对象委托给业务对象进行处理;处理完毕后返回一个 ModelAndView(模型数据和逻辑视图名);

前端控制器收回控制权,然后根据返回的逻辑视图名,选择相应的视图进行渲染,并把模型数据传入以便视图渲染;

前端控制器再次收回控制权,将响应返回给用户

SpringMVC

4.视图解析器

在开发中,视图通常就是JSP、Velocity 等。Spring 默认提供了多种视图解析

器,比如,我们可以使用最常用解析器InternalResourceViewResolver 来查找

JSP视图(与之相对应的视图类为InternalResourceView)。 通常,一- 个视图解

析器只能查找- - -个或多个特定类型的视图,在遇到Spring 不支持的视图或者我

们要自定义视图查找规则的情况下,我们就可以通过扩展Spring 来自定义自己

所需的视图解析器。目前,视图解析器都需要实现接口

org. springframework.web.servlet.ViewResolver,它包含方法

resolveViewName,该方法会通过视图名查找并返回Spring 视图对象。

原文  https://www.maiyewang.com/archives/93789
正文到此结束
Loading...