當前位置:首頁 > IT技術 > 編程語言 > 正文

1. SpringMVC 簡介
2022-05-31 17:23:41

SpringMVC 是一種基于 Java 的實現 MVC 設計模型的請求驅動類型的輕量級 Web 框架,屬于 SpringFrameWork 的后續產品,已經融合在 Spring Web Flow 中。 SpringMVC 已經成為目前最主流的MVC框架之一,并且隨著Spring3.0 的發布,全面超越 Struts2,成為最優秀的 MVC 框架。它通過一套注解,讓一個簡單的 Java 類成為處理請求的控制器,而無須實現任何接口。同時 它還支持 RESTful 編程風格的請求。

?

需求:客戶端發起請求,服務器端接收請求,執行邏輯并進行視圖跳轉。

開發步驟:

① 導入SpringMVC相關坐標

② 配置SpringMVC核心控制器DispathcerServlet

③ 創建Controller類和視圖頁面

④ 使用注解配置Controller類中業務方法的映射地址

⑤ 配置SpringMVC核心文件 spring-mvc.xml

⑥ 客戶端發起請求測試

?

我們開始實操一下:

① 導入Spring和SpringMVC的坐標

<!--Spring坐標-->
????????<dependency>
????????????????<groupId>org.springframework</groupId>
????????????????<artifactId>spring-context</artifactId>
????????????????<version>5.0.5.RELEASE</version>
????????</dependency>
????????<!--SpringMVC坐標-->
????????<dependency>
????????????????<groupId>org.springframework</groupId>
????????????????<artifactId>spring-webmvc</artifactId>
????????????????<version>5.0.5.RELEASE</version>
????????</dependency>

?

別忘記導入Servlet和Jsp的坐標

<!--Servlet坐標-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.3</version>
</dependency>
<!--Jsp坐標-->
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
</dependency>

?

② 在web.xml配置SpringMVC的核心控制器

我們要用SpringMVC的前端控制器 那么我們是不是需要設置它Servlet 所以現在設置一下 前端控制器【分發器】的Servlet:

注意了 下面代碼寫死的東西就是寫死的 說什么都沒用

<!DOCTYPE?web-app?PUBLIC
?"-//Sun?Microsystems,?Inc.//DTD?Web?Application?2.3//EN"
?"http://java.sun.com/dtd/web-app_2_3.dtd"?>

<web-app>
??<display-name>Archetype?Created?Web?Application</display-name>

<!--?這里配置一個Servlet?-->
??<servlet>
<!--??名字你隨便?就是和以前配置的一樣即可??-->
????<servlet-name>DispatcherServlet</servlet-name>
<!--??這個寫死的?是SpringMVC的前端控制器(分發器)??-->
????<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--??配置初始化參數??-->
????<init-param>
<!--???初始化參數名?【寫死的】???-->
??????<param-name>contextConfigLocation</param-name>
<!--??初始化參數值??SpringMvc的配置文件(容器)?-->
??????<param-value>classpath:spring-mvc.xml</param-value>
????</init-param>

<!--?優先級?、?這個隨便加不加?一般都是加上?1?最先.?-->
????<load-on-startup>1</load-on-startup>
??</servlet>

<!--?就是說?全部網址請求過來?都要經過這個前端控制器(分發器)?-->
??<servlet-mapping>
????<servlet-name>DispatcherServlet</servlet-name>
????<url-pattern>/</url-pattern>
??</servlet-mapping>
</web-app>

?

③ 創建Controller和業務方法?

創建個 控制器包 包下隨便寫個控制器類,其實這個控制器 就相當于是一個 Servlet ,但是這個控制器(分發器) 要一些注解:

TestController?.java:
package?com.bihu.Controller;

import?org.springframework.stereotype.Controller;
import?org.springframework.web.bind.annotation.RequestMapping;

@Controller
public?class?TestController?{

????@RequestMapping("/go")
????public?String?GoUrl(){
????????System.out.println("執行了Controller的GoUrl方法?證明你訪問了?xxx/go");
????????//返回字符串?會自動跳轉到?s1.jsp?頁面!
????????return?"s1.jsp";
????}

}

?

然后你得寫個s1.jsp 可以給他跳轉:

s1.jsp:

??

<%@?page?contentType="text/html;charset=UTF-8"?language="java"?%>
<html>
<head>
????<title>ok!</title>
</head>
<body>
????<h2>恭喜你!?體驗了SpringMVC?最基本簡單的?一個?流程!?</h2>
</body>
</html>

?

然后你得配置一下SpringMVC容器,設置一下他掃描注解的范圍:【記得配置Context頭部哪里】

<?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: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/spring-context.xsd">
????<!--??配置注解掃描器?注意這個是SpringMVC的配置文件??配置文件要分開?規范點!??-->
????<context:component-scan?base-package="com.bihu"/>
</beans>

?

所以呢 重點還是 SpringMVC 容器的配置 和 web.xml 的配置,該寫死的就得寫死哦?

?

因為報錯過幾次 所以知道了 他的原理就是 一個 監聽器 然后 默認的方式是Get請求

?

1. SpringMVC 簡介_mvc

?


作者:??咸瑜??


本文摘自 :https://blog.51cto.com/u

欧美五月丁香六月综合合_成年在线视频免费观看完整版_交换国产精品视频一区_免费一本色道久久一区