MVC 架构模式简介
- MVC 是 Model、View 和 Controller 的缩写,分别代表 Web 应用程序中的 3 种职责
- 模型:用于存储数据以及处理用户请求的业务逻辑
- 视图:向控制器提交数据,显示模型中的数据
- 控制器:根据视图提出的请求判断将请求和数据交给哪个模型处理,将处理后的有 关结果交给哪个视图更新显示
- 基于 Servlet 的 MVC 模式
- 模型:一个或多个 JavaBean 对象,用于存储数据(实体模型,由 JavaBean 类创建)和处理业务逻辑(业务模型,由一般的 Java 类创建)
- 视图:一个或多个 JSP 页面,向控制器提交数据和为模型提供数据显示,JSP 页 面主要使用 HTML 标记和 JavaBean 标记来显示数据
- 控制器:一个或多个 Servlet 对象,根据视图提交的请求进行控制,即将请求转发 给处理业务逻辑的 JavaBean,并将处理结果存放到实体模型 JavaBean 中,输出给视图显示
SpringMVC 简介
SpringMVC概念
SpringMVC是一个基于MVC模式的Web框架,是Spring框架的一个模块 。它以SpringIOC容器为基础,并利用容器的特性来简化它的配置,所以 SpringMVC 和 Spring 可直接整合使用。SpringMVC 对 MVC 流程进行了封装,屏蔽掉很多底层代码,让开发者可以更加轻松快 捷的完成基于 MVC 模式的 Web 开发
SpringMVC 中重要的组件
- DispatcherServlet:前端控制器,接受所有请求
- HandlerMapping:处理器映射器,根据配置的映射规则,找到对应的处理器
- HandlerAdapter:处理器适配器,执行处理器中处理请求的方法
- ViewResolver:视图解析器,定位视图
工作流程
Spring MVC 的工作流程如下:
- 客户端请求提交到 DispatcherServlet
- 由 DispatcherServlet 控制器通过HandlerMapping,找到处理请求的Controller
- DispatcherServlet 将请求提交到 Controller
- Controller 调用业务逻辑处理后返回 ModelAndView
- DispatcherServlet通过 ViewResolver 视图解析器,找到 ModelAndView 指定的视图
SpringMVC 的基本使用
基于xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
</beans>
配置前端控制器
- 修改 web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"