SpringMVC初學習
- 2022 年 4 月 13 日
- 筆記
# SpringMVC快速入門
@[TOC](文章目錄)
---
# 前言
`提示:這裡可以添加本文要記錄的大概內容:`
例如:隨著人工智慧的不斷發展,機器學習這門技術也越來越重要,很多人都開啟了學習機器學習,本文就介紹了機器學習的基礎內容。
---
`提示:以下是本篇文章正文內容,下面案例可供參考`
# 一、SpringMVC是什麼
springmvc是一種web層mvc框架,它是spring的一個模組,擁有spring的特性。springmvc分離了控制器、模型對象、分派器以及處理程式對象的角色。
# 二、開發步驟
## 1.導入SpringMVC相關坐標
>程式碼如下(示例):
```java
<!--spring-mvc-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.0.5.RELEASE</version>
<!--需要與前面的spring-web,spring-context,spring-test保持一致的版本-->
</dependency>
```
## 2.配置SpringMVC核心控制器DispatcherServlet
```java
<!--2-->
<!--配置SpringMvc的前端控制器-->
<servlet>
<servlet-name>DispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>DispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
```
## 3.創建Controller類和視圖頁面
```java
@RequestMapping( "/quick")
public String save(){
System.out.println("Controller save running...");
//返回視圖
// 默認為轉發
return "success";
```
## 4.使用註解配置Controller類中業務方法的映射地址
```java
import org.springframework.stereotype.Controller;
@Controller
```
## 5.配置SpringMVC核心恩建spring-mvc.xml
```xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="//www.springframework.org/schema/beans"
xmlns:xsi="//www.w3.org/2001/XMLSchema-instance"
xmlns:context="//www.springframework.org/schema/context"
xsi:schemaLocation="//www.springframework.org/schema/beans //www.springframework.org/schema/beans/spring-beans.xsd
//www.springframework.org/schema/context //www.springframework.org/schema/context/spring-context.xsd ">
<!--5-->
<!--Controller組件掃描-->
<context:component-scan base-package="com.lemon">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
<!--配置內部資源解析器-->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!--/jsp/success.jsp-->
<property name="prefix" value="/jsp/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
</beans>
```
## SpringMVC的執行流程
1. 用戶發送請求至前端控制器DispatcherServlet
2. 前端控制器DispatcherServlet收到請求調用HandlerMapping處理器映射器
3. 處理器映射器找到具體的處理器(可以根據xml配置、註解進行查找),生成處理器對象及處理器攔截器(前提是有),一起返回到前端控制器DispatcherServlet
4. DispatcherServlet調用HandlerAdapter處理器適配器
5. HandlerAdapter經過適配調用具體的處理器(Controller,即後端控制器)
6. 後端控制器Controller執行完成後,返回到ModerlAndView(模型和數據)
7. HandlerAdapter將後端控制器Controller執行結果給MdelAndView返回到前端控制器DispatcherServlet
8. 前端控制器將ModelAndView傳給視圖解析器ViewReslover
9. 視圖解析器ViewReslover,解析完成後返回到具體的View
10. 前端控制器 DispatcherServlet根據具體的View進行視圖渲染,即將具體的模型數據填充到View中,DispatcherServlet響應用戶的請求
---
# 三、 知識要點
**SpringMVC的相關組件**
- 前端控制器:DispatcherServlet
- 處理器映射器:HandlerMapping
- 處理器適配器:HanderAdapter
- 處理器:Handler
- 視圖解析器:View Resolver
- 視圖:View
**SpringMVC的註解和配置**
- 請求映射注釋:@RequestMapping
- 視圖解析器配置:
*REDIRECT_URL_PREFIX="redirect"
FORWARD_URL_PREFIX="forward:"
prefix="";
suffix="";*
