日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring 3.2矩阵变量是什么? - 第1部分

發布時間:2023/12/3 javascript 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring 3.2矩阵变量是什么? - 第1部分 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Spring 3.2引入了對處理“矩陣變量”的支持,并且可能像大多數開發人員一樣,我從未聽說過它們。 因此,經過一番研究,我對這個博客的了解是什么,以及您可以如何使用它們。 和往常一樣,如果我錯了,請隨時糾正我。

當我第一次閱讀它們時,會想到很多問題,例如:

  • 這些是什么?
  • 為什么要使用它們?
  • 為什么在Spring的家伙們認為他們很重要?
  • 為什么現在?

這些是什么?

Spring文檔中介紹了Spring 3.2新增的矩陣變量。 這是指RFC3986和1996年的Tim Berners-Lee的文檔 。如果您使用Google Matrix URI,則不會得到太多幫助,而在您我之間,RFC總是使用枯燥的純文本以一種非常無聊的方式編寫格式,這可能會阻止人們閱讀它們。 RFC3986的相關部分是:

產生URI的應用程序通常使用段中允許的保留字符來分隔特定于方案或特定于解除引用處理程序的子組件。 例如,分號(“;”)和等號(“ =”)保留字符通常用于定界適用于該段的參數和參數值。 逗號(“,”)保留字符通常用于類似目的。 例如,一個URI生產者可能使用諸如“ name; v = 1.1”之類的段來表示對“名稱”的1.1版的引用,而另一家URI生產者可能使用諸如“ name,1.1”之類的段來表示相同。 參數類型可以通過特定于方案的語義定義,但是在大多數情況下,參數的語法特定于URI的取消引用算法的實現。

由此,您可能會發現矩陣URI是將參數指定為URI一部分的一種方式。 現在,您可能會說,我已經可以使用以下形式的請求參數來做到這一點:

http://localhost:8080/myappname/mypath?var1=hello&var2=world

就矩陣URI而言,我猜這可以轉換為:

http://localhost:8080/myappname/mypath;var1=hello;var2=world

那么,他們還能給你什么呢? 讓我們退后一會兒,提出一個場景,我將在下一個博客中編寫一些代碼。 在這種情況下,我正在編寫一個股票/股票投資組合應用程序,此應用程序會收到一個HTTP GET調用,該調用作為附加的全部股票名稱和價格。

http://localhost:8080/spring_3_2/matrixvars/stocks;BT.A=276.70;AZN=236.0;SBRY=375.50

在此示例中,我有spring_3_2/matrixvars應用程序,該應用程序指定了三個股票名稱“ BT.A”,“ AZN”和“ SBRY”及其關聯的價格。 這涵蓋了與上述相同的場景; 但是,庫存數據不僅隨價格一起提供,還包括各種可選的詳細信息:價格變化,價格變化百分比等。 使用逗號“,”和分號,我們可以將此附加信息添加到URI中:

http://localhost:8080/spring_3_2/matrixvars/stocks;BT.A=276.70,+10.40,+3.91;AZN=236.00,+103.00,+3.29;SBRY=375.50,+7.60,+2.07

上面的URI展示了矩陣URI使您能夠將數據集合附加到URI的任何部分。 說集合時,您還會想到可以附加的數據是可變的,并且可以出現在URI中的任何位置。 例如,如果完成上述URI所需的數據不完整,我可以輕松編寫:

http://localhost:8080/spring_3_2/matrixvars/stocks;BT.A=276.70,,+3.91;AZN=236.00,+103.00;SBRY=375.50

…將其提交給我的申請仍然有效。

接下來要說明的是矩陣變量具有層次依賴性。 在上面的示例中,庫存信息(例如:BT.A = 276.70,+ 3.91)與
庫存 URI路徑的一部分。 這意味著我可以向URI的不同部分添加不同的矩陣變量:

http://localhost:8080/spring_3_2/matrixvars/stocks;BT.A=276.70,,+3.91;AZN=236.00,+103.00;SBRY=375.50/account;name=roger;number=105;location=stoke-on-trent,uk

在上面的示例中,我仍然獲得了與URI的股票部分有關的股票價格信息,但是現在我還添加了一些帳戶信息,通知我的應用程序:來自英國的更老的帳戶(105號帳戶)擁有BT。 A,AZN和SBRY在他的投資組合中。 顯然,帳戶信息與我的URI的account部分有關。

為什么要使用它們?

從上一節中,我認為您應該能夠猜出答案。 正如Spring的伙計們所說的那樣,矩陣URI或矩陣變量為您提供了一種新的方式來處理可變數量的URI參數,并能夠處理使用HTTP GET傳遞給應用程序的數據量日益增加的復雜性。

為什么Spring家伙認為他們很重要?

現在,我無法代表Spring的家伙,但是像您一樣,我可以猜測他們的想法,因此對于Spring的Guy,如果我在這里錯了,請告訴我。 我想他們可能會回答這樣的問題:矩陣變量增加了Spring @RequestMapping方法可以處理的URI的靈活性,從而滿足了對越來越復雜和高度交互的Web應用程序的需求。 他們還巧妙地填補了Spring軍械庫的功能差距,使Spring與已經支持該技術的JAX-RS保持一致。

為什么現在

最后一個問題必須是“ 為什么現在”? 。 畢竟,這個想法可以追溯到1996年,那么什么使其與當今世界相關? 我想這個問題的答案在于要求網絡應用程序做什么。 高度互動的頁面非常流行,這些頁面使用AJAX和JSON進行更新而無需全屏刷新。 JSON提供了對信息請求進行復雜回復的需求的答案,矩陣變量使您能夠構建復雜的請求。 從這個意義上講,這可能只是技術時代的到來。

我現在只需要一些代碼來演示我的股票投資組合情況,但是下次再講。

翻譯自: https://www.javacodegeeks.com/2014/04/just-what-are-spring-3-2-matrix-variables-part-1.html

總結

以上是生活随笔為你收集整理的Spring 3.2矩阵变量是什么? - 第1部分的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。