MVC设计模式
1. 视图(View)-对应组件:JSP或者HTML文件
2. 控制器(Controller)-对应组件:Servlet
3. 模型(Model) -对应组件:JavaBean
三层:表示层、业务逻辑层、数据访问层
MVC与三层:
表示层:V C
业务逻辑层、数据访问层 : M
JSP Model1
1. JSP:负责生成动态网页
2. Servlet:负责流程控制
3. JavaBean:负责业务逻辑处理
MVC 处理过程
MVC 优点
1. MVC 优点
* 多视图共享一个模型,大大提高代码的可重用性
* MVC三个模块相互独立,松耦合架构
* 控制器提高了应用程序的灵活性和可配置性
* 有利于软件工程化管理
* 完美的系统架构 = 松耦合+高重用性+高扩展性
2. MVC 缺点
* 原理复杂
* 增加了系统结构和实现的复杂性
* 视图对模型数据的低效率访问
## Spring MVC
* 结构最清晰的MVC Model2实现
* Controller
* ModelAndView
# Hello
## maven创建war
## 导入jar包
```
<properties>
<spring.version>5.3.6</spring.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
</dependencies>
```
## 配置文件
https://docs.spring.io/spring-framework/docs/current/reference/html/web.html
### 在web.xml中配置DispatcherServlet
```
<!-- Spring MVC配置 -->
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
```
### Spring MVC的配置文件
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"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:p="http://www.springframework.org/schema/p"
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/sp