国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Spring Web MVC入門(1)

這篇具有很好參考價(jià)值的文章主要介紹了Spring Web MVC入門(1)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

什么是Spring Web MVC?

定義:Spring Web MVC是基于Servlet構(gòu)建的原始Web框架,從一開始就包含在Spring框架中.它的正式名稱"Spring Web MVC"來自其源模塊的名稱(Spring-webmvc),但是它通常被稱為"Spring MVC".

什么是Servlet?

Servlet是一種實(shí)現(xiàn)動(dòng)態(tài)頁面的技術(shù).準(zhǔn)確地來講Servlet是一套Java Web開發(fā)的規(guī)范,或者是一套Java Web開發(fā)的技術(shù)標(biāo)準(zhǔn).只有規(guī)范并不能做任何事情,必須要有人來實(shí)現(xiàn)它.所謂實(shí)現(xiàn)Servlet規(guī)范,就是真正編寫代碼去實(shí)現(xiàn)Servlet規(guī)范提到的各種功能,包括類,方法,屬性等.

從定義中可以得到一個(gè)關(guān)鍵信息: Spring Web MVC是一個(gè)Web框架.?之后我們簡(jiǎn)稱為:Spring MVC

然而想真正搞清楚什么是Spring MVC, 我們首先要搞懂MVC是什么.

MVC定義

MVC是Model View Controller的縮寫,它是軟件工程中的一種軟件架構(gòu)設(shè)計(jì)模式,它把軟件系統(tǒng)分為模型,視圖和控制器三個(gè)基本部分.

Spring Web MVC入門(1),spring,前端,mvc

View(視圖):指在應(yīng)用程序中專門與瀏覽器進(jìn)行交互,展示數(shù)據(jù)的資源.

Model(模型):是應(yīng)用程序中的主體部分,用來處理程序中數(shù)據(jù)邏輯的部分.

Controller(控制器):?可以理解為一個(gè)分發(fā)器,用來決定對(duì)于視圖發(fā)來的請(qǐng)求,需要用哪一個(gè)模型來處理, 以及處理完后需要跳回到哪個(gè)視圖.即用來連接視圖和模型.

比如去飯店吃飯

客戶進(jìn)店之后,服務(wù)員來接待客戶點(diǎn)餐,客戶點(diǎn)完餐之后,把客戶菜單交給前廳.前廳根據(jù)客戶菜單給后廚下達(dá)命令.后廚負(fù)責(zé)做飯,做完之后,再根據(jù)菜單告訴服務(wù)員,這是X號(hào)餐桌客人的飯.?

在這個(gè)過程中

服務(wù)員就是View(視圖),負(fù)責(zé)接待客戶,幫助客戶點(diǎn)餐,以及給顧客端飯.

前廳就是Controller(控制器),根據(jù)用戶的點(diǎn)餐情況,來選擇給哪個(gè)后廚下達(dá)命令.

后廚就是Model(模型),根據(jù)前廳的要求來完成客戶的用餐需求.?

?什么是Spring MVC

MVC是一種架構(gòu)設(shè)計(jì)模式,也是一種思想,而Spring MVC是對(duì)MVC思想的具體實(shí)現(xiàn).除此之外,Spring MVC還是一個(gè)Web框架.

總結(jié)來說, Spring MVC是一個(gè)實(shí)現(xiàn)了Web模式的MVC框架.

所以Spring MVC主要的關(guān)注有兩個(gè)點(diǎn): 1.MVC; 2.Web框架.

Spring boot和Spring MVC之間的關(guān)系:

Spring Boot是實(shí)現(xiàn)Spring MVC的一種方式.

Spring Boot可以添加很多依賴,借助這些依賴實(shí)現(xiàn)不同的功能.Spring Boot通過添加Spring Web MVC框架,來實(shí)現(xiàn)Web功能.

比如:廚房可以用來做飯,但真實(shí)實(shí)現(xiàn)做飯功能的是火及各種做飯的相關(guān)食材和工具.

廚房就好比Spring Boot,廚房可以裝柜子,實(shí)現(xiàn)收納功能,裝燃?xì)庠畹?實(shí)現(xiàn)做飯功能.

做飯這個(gè)事,就是MVC,在幾千年前,有火有食材就可以做飯.?

不過Spring在實(shí)現(xiàn)MVC時(shí),也結(jié)合自身項(xiàng)目的特點(diǎn),做了一點(diǎn)改變,相對(duì)而言,使用這個(gè)圖更合適:
Spring Web MVC入門(1),spring,前端,mvc?

不過核心沒有變

比如上面的例子中,去飯店吃飯.一些飯店是前廳負(fù)責(zé)接待客戶,幫助客戶點(diǎn)餐,也就是Controller來負(fù)責(zé)接收用戶的請(qǐng)求.?

學(xué)習(xí)Spring MVC

既然是Web框架,那么當(dāng)在瀏覽器中輸入url之后,我們的Spring MVC就可以感知到用戶的請(qǐng)求,并給予響應(yīng).(我們學(xué)習(xí)Spring MVC,重點(diǎn)也就是學(xué)習(xí)如何通過瀏覽器和用戶程序進(jìn)行交互).

主要分以下幾個(gè)方面:

1.建立連接:將用戶(瀏覽器)和Java程序連接起來,也就是訪問一個(gè)地址能夠調(diào)用到我們的Spring程序.

2.請(qǐng)求:用戶請(qǐng)求的時(shí)候會(huì)帶一些參數(shù),在程序中要想辦法獲取到參數(shù),所以請(qǐng)求這塊主要是獲取到參數(shù)的功能.

3.響應(yīng):執(zhí)行業(yè)務(wù)邏輯之后,要把程序執(zhí)行的結(jié)果返回給用戶,也就是響應(yīng).?

比如用戶去銀行存款

1.建立連接:去柜臺(tái)

2.請(qǐng)求:帶著銀行卡,身份證去存款.

3.響應(yīng):銀行返回一張存折.?

對(duì)于Spring MVC來說,掌握了以上三個(gè)功能就相當(dāng)于掌握了Spring MVC.

建立連接

在Spring MVC中使用@RequestMapping 來實(shí)現(xiàn)URL路由映射,也就是瀏覽器連接程序的作用.?

創(chuàng)建一個(gè)UserController類,實(shí)現(xiàn)用戶通過瀏覽器和程序的交互,具體實(shí)現(xiàn)的代碼如下:

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class UserController {
    //路由器規(guī)則注冊(cè)
    @RequestMapping("/sayHi")
    public String sayHi() {
        return "hello, Spring MVC";
    }
}

方法名和路徑名稱無需一致.

接下來訪問:http://127.0.0.1:8080/sayHi,就可以看到程序返回的程序了.

Spring Web MVC入門(1),spring,前端,mvc?

@RequestMapping注解介紹

@RequestMapping是SpringMapping 是Spring Web MVC應(yīng)用程序中最常被用到的注解之一,它是用來注冊(cè)接口的路由映射的.

表示服務(wù)收到請(qǐng)求時(shí),路徑為/sayHi的請(qǐng)求就會(huì)調(diào)用sayHi這個(gè)方法的代碼.

路由映射:當(dāng)用戶訪問一個(gè)URL時(shí),將用戶的請(qǐng)求對(duì)應(yīng)到應(yīng)用程序中某個(gè)類的某個(gè)方法的過程就叫做路由映射.?

既然@RequestMapping已經(jīng)可以達(dá)到我們的目的了,我們?yōu)槭裁催€要加@RestController呢?

我們把@RestController去掉,再來訪問一次:

Spring Web MVC入門(1),spring,前端,mvc

可以看到,程序報(bào)了404,找不到頁面.

這就是@RestController起到的作用

一個(gè)項(xiàng)目中,會(huì)有很多類,每個(gè)類可能有很多的方法,Spring程序怎么知道要執(zhí)行哪個(gè)方法呢?

Spring會(huì)對(duì)所有的類進(jìn)行掃描,如果類加了注解@RestController, Spring才會(huì)去看這個(gè)類里面的方法有沒有加@RequestMapping這個(gè)注解,當(dāng)然它的作用不止這一點(diǎn),咱們先用.

@RequestMapping使用

@RequestMapping即可修飾類,也可以修飾方法,當(dāng)修飾類和方法時(shí),訪問的地址是類路徑 + 方法路徑.

@RequestMapping標(biāo)識(shí)一個(gè)類:設(shè)置映射請(qǐng)求的請(qǐng)求路徑的初始信息.

@RequestMapping標(biāo)識(shí)一個(gè)方法:設(shè)置映射請(qǐng)求路徑的具體信息.?

@RequestMapping("/user")
@RequestController
public class UserController {
    @RequestMapping("/sayHi")
    public String sayHi() {
        return "Hello, Spring MVC";
    }
}

訪問地址:http://127.0.0.1:8080/user/sayHI

注意:@RequestMapping的URL路徑最前面加不加 / (斜杠)都可以,Spring程序啟動(dòng)時(shí),會(huì)進(jìn)行判斷,如果前面沒有加 / , Spring就會(huì)加上一個(gè) / .

訪問之后仍然是可以正常響應(yīng)的. (通常情況下,我們都會(huì)加上 /?)?

@RequestMapping的路徑也可以是多層路徑,最終訪問時(shí),依然是類路徑 + 方法路徑.

?
@RequestMapping("/user/m1")
@RequestController
public class UserController {
    @RequestMapping("/say/hi")
    public String sayHi() {
        return "Hello, Spring MVC";
    }
}

?

訪問路徑:http://127.0.0.1:8080/user/m1/say/hi

?@RequestMapping是GET還是POST請(qǐng)求?

我們來測(cè)試一下就可以得到結(jié)論了.

GET請(qǐng)求:

瀏覽器發(fā)送的類型都是get,通過以上案例,可以看出來@RequestMapping支持get請(qǐng)求.

POST請(qǐng)求:

我們通過form表單來構(gòu)造請(qǐng)求.

創(chuàng)建test.html, html代碼:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <form action="/request/hello" method="post">
        <input type="submit" value="發(fā)送請(qǐng)求">
    </form>
</body>
</html>

訪問方式為http://127.0.0.1:8080/test.html

Spring Web MVC入門(1),spring,前端,mvc

Spring Web MVC入門(1),spring,前端,mvc

從運(yùn)行結(jié)果可以看出:@RequestMapping既支持Get請(qǐng)求,又支持Post請(qǐng)求.同理,也支持其它的請(qǐng)求方式.?

?文章來源地址http://www.zghlxwxcb.cn/news/detail-840752.html

到了這里,關(guān)于Spring Web MVC入門(1)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Spring MVC官方文檔學(xué)習(xí)筆記(一)之Web入門

    Spring MVC官方文檔學(xué)習(xí)筆記(一)之Web入門

    注: 該章節(jié)主要為原創(chuàng)內(nèi)容,為后續(xù)的Spring MVC內(nèi)容做一個(gè)先行鋪墊 1.Servlet的構(gòu)建使用 (1) 選擇Maven - webapp來構(gòu)建一個(gè)web應(yīng)用 (2) 構(gòu)建好后,打開pom.xml文件,一要注意打包方式為war包,二導(dǎo)入servlet依賴,如下 (3) 替換webapp/WEB-INF/web.xml文件為如下內(nèi)容,采用Servlet 3.1版本 (4) 在

    2024年02月03日
    瀏覽(35)
  • Spring Boot Web MVC

    Spring Boot Web MVC

    Spring Web MVC 是?個(gè) Web 框架,一開始就包含在Spring 框架里。 1. MVC 定義 軟件?程中的?種軟件架構(gòu)設(shè)計(jì)模式,它把軟件系統(tǒng)分為模型、視圖和控制器三個(gè)基本部分 2. 什么是Spring MVC MVC 是?種架構(gòu)設(shè)計(jì)模式, 也?種思想, ? Spring MVC 是對(duì) MVC 思想的具體實(shí)現(xiàn) Spring MVC 是?個(gè)實(shí)現(xiàn)了

    2024年02月06日
    瀏覽(25)
  • Spring MVC入門案例!??!

    Spring MVC入門案例?。?!

    idea如何建立web項(xiàng)目???-CSDN博客 index.jsp: success.jsp

    2024年01月16日
    瀏覽(16)
  • 【JavaEE進(jìn)階】 初識(shí)Spring Web MVC

    【JavaEE進(jìn)階】 初識(shí)Spring Web MVC

    Spring Web MVC 是 基于 Servlet API 構(gòu)建的原始 Web 框架 ,從?開始就包含在Spring框架中。它的正式名稱“Spring Web MVC”來?其源模塊的名稱(Spring-webmvc),但它通常被稱為)Spring MVC). Servlet是?種實(shí)現(xiàn)動(dòng)態(tài)??的技術(shù).準(zhǔn)確來講Servlet是?套Java Web 開發(fā)的規(guī)范,或者說是?套Java Web 開發(fā)的

    2024年02月03日
    瀏覽(26)
  • 【JavaEE】Spring Web-MVC

    【JavaEE】Spring Web-MVC

    目錄 Spring Web MVC 是什么 什么是Serlet 什么是MVC 什么是Spring MVC 使用Spring MVC 建立連接 @RequestMapping 請(qǐng)求 傳遞單個(gè)參數(shù) 傳遞多個(gè)參數(shù) 傳遞對(duì)象 后端參數(shù)重命名 ?傳遞數(shù)組 傳遞集合 傳遞JSON數(shù)據(jù) 獲取url參數(shù)-@pathvariable 上傳文件@RequestPart 獲取Cookie Session 獲取Header 響應(yīng) 返回靜態(tài)頁

    2024年04月12日
    瀏覽(22)
  • 一次搞清Spring 、Spring Boot、Spring Web MVC、Spring WebFlux

    一次搞清Spring 、Spring Boot、Spring Web MVC、Spring WebFlux

    介紹Spring生態(tài)系統(tǒng),辨析Spring、Spring Boot、Spring Web MVC和Spring WebFlux。 微信搜索關(guān)注《Java學(xué)研大本營(yíng)》 在軟件開發(fā)中,應(yīng)用框架為代碼庫提供基礎(chǔ)設(shè)施支持,使編程更容易。Spring是Java領(lǐng)域最受歡迎的開源應(yīng)用框架。Spring由多個(gè)模塊和附加組件組成,術(shù)語“Spring”通常用來指代

    2024年02月19日
    瀏覽(25)
  • 【Java EE】初識(shí)Spring Web MVC

    【Java EE】初識(shí)Spring Web MVC

    Spring Web MVC 是 基于 Servlet API 構(gòu)建的原始 Web 框架 ,從?開始就包含在Spring框架中。它的正式名稱“Spring Web MVC”來?其源模塊的名稱(Spring-webmvc),但它通常被稱為)Spring MVC). Servlet是?種實(shí)現(xiàn)動(dòng)態(tài)??的技術(shù).準(zhǔn)確來講Servlet是?套Java Web 開發(fā)的規(guī)范,或者說是?套Java Web 開發(fā)的

    2024年04月10日
    瀏覽(30)
  • JavaWeb編程面試題——Spring Web MVC

    面試題==知識(shí)點(diǎn),這里所記錄的面試題并不針對(duì)于面試者,而是將這些面試題作為技能知識(shí)點(diǎn)來看待。不以刷題進(jìn)大廠為目的,而是以學(xué)習(xí)為目的。這里的知識(shí)點(diǎn)會(huì)持續(xù)更新,目錄也會(huì)隨時(shí)進(jìn)行調(diào)整。 關(guān)注公眾號(hào):編程火箭車 。在【粉絲福利】中點(diǎn)擊【面題大全】,其中的

    2024年02月06日
    瀏覽(18)
  • Spring MVC的入門 見解2

    Spring MVC的入門 見解2

    2.1.1.創(chuàng)建工程 2.1.2.添加web支持 右鍵項(xiàng)目選擇 Add framework support... 添加web支持 效果 注意: 不要先添加打包方式 將web目錄要拖拽到main目錄下,并改名為webapp 2.1.3.pom.xml 2.2.1.index.jsp 2.2.2.controller 2.2.3.springmvc.xml 2.2.4.success.jsp 2.2.5.web.xml 2.2.6.測(cè)試 訪問:http://localhost:8080/hello 2.3.1.

    2024年01月16日
    瀏覽(20)
  • Spring MVC簡(jiǎn)介附入門案例

    Spring MVC簡(jiǎn)介附入門案例

    目錄 ? 一、SpringMVC簡(jiǎn)介 1.1?MVC模型 1.2?SpringMVC 二、SpringMVC入門案例 2.1?創(chuàng)建項(xiàng)目 2.2?引入依賴和tomcat插件 2.3?修改web.xml文件? 2.4?新建springmvc.xml文件 2.5 編寫控制器? 2.6?配置運(yùn)行方式 2.7?運(yùn)行測(cè)試? 三、SpringMVC執(zhí)行流程 3.1?SpringMVC的組件 3.2?組件的工作流程 往期專欄文章

    2024年02月09日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包