【学习笔记】Spring MVC入门
1.Spring MVC框架简介
1.1.三层架构(服务端)
分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL),分层的目的是为了高内聚,低耦合、便于更改维护。
- 表现层:
- 就是web层,负责接收客户端的请求,向客户端响应结果。
- 包括展示层和控制层,控制层(Controller)负责接收请求,展示层(View)负责结果的展示。
- 表现层依赖业务层,接收到客户端的请求后调用业务层进行业务处理,并将结果响应给客户端。
- 表现层的设计一般采用MVC模型,所以Spring MVC是作用在表现层的架构。
- 业务层:
- 就是service层,负责业务逻辑处理,web层依赖业务层,但反之则不然。
- 业务层在业务处理时可能会依赖持久层,如果要对数据持久化,就需要保持事务的一致性。
- Spring框架作用在这层(不限于)。
- 持久层:
- 就是dao层,负责数据持久化,包括数据层和数据访问层。
- MyBatis作用在这层。
1.2.MVC架构
分为:模型(Model)、视图(View)、控制器(Controller)。Spring MVC框架是一个web框架
- 模型:数据模型,用于封装数据(JavaBean)
- 视图:通常指的时JSP或HTML,一般用于展示数据,通常时依据模型创建的。
- 控制器:与用户进行交互的部分,用于处理程序逻辑(Servlet)
2.项目初始化
2.1.搭建环境
开发环境采用IDEA(之前开发SpringBoot项目时已经搭建好了)
(1)新建maven项目的时候注意一个地方,就是在新建的最后一步要加上一个键值对,可以改善项目初始化过慢的问题。
key:archetypeCatalog
value:internal
(2)这样初始化后在main下面是没有java(存放源码)和resources(存放资源文件)文件夹的。需要手动添加后右键‘Mark Directory As’,然后分别选Source Root和Resources Root。(好吧SpringBoot就不需要做这些)
(3)修改配置文件pom.xml,需要注入依赖(下面这些是修改后的样子,除了第一个依赖junit其余都是添加上去的)
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<!-- 版本锁定-->
<spring.version>5.0.2.RELEASE</spring.version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
(4)配置前端控制器(其实就是配置servlet,在web.xml文件中)
<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<!-- 默认所有的请求都会通过servlet-->
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
(5)添加spring的配置文件
在resources右键new -> XML Configuration File -> Spring Config,命名随意。
(6)配置Tomcat服务器
就下面这个地方,其实蛮简单。