MVC應(yīng)用開發(fā)

1. 目錄

1.1. HTTP 狀態(tài)保持

  1. URL重寫
  2. 隱藏域
  3. cookies
  4. sessions

1.2. Servlet

  1. Spring Boot注冊過濾器Filter

1.3. Spring MVC

  1. 轉(zhuǎn)發(fā)
  2. 重定向
  3. 請求參數(shù)@RequestParam
  4. 路徑變量@PathVariable
  5. 模型屬性@ModelAttribute

2. HTTP 狀態(tài)保持

2.1. URL重寫

2.2. 隱藏域

2.3. Cookie

2.3.1. 特性

  1. 由服務(wù)端生成妙色,可以通過HTTP頭發(fā)送給瀏覽器,由瀏覽器存儲在本地;
  2. 瀏覽器在訪問同一Web服務(wù)器時哼御,會將之前收到的Cookie攜帶在HTTP請求頭中一并發(fā)送不见。

Cookie的缺陷

  1. cookie會被附加在每個HTTP請求中斑鼻,所以無形中增加了流量。
  2. cookie在HTTP請求中是明文傳遞的泊愧,所以安全性成問題。(除非用HTTPS)
  3. cookie的大小限制在4KB左右盛正。對于復(fù)雜的存儲需求來說是不夠用的删咱。
  4. 用戶出于安全考慮,可以通過改變?yōu)g覽器設(shè)置拒絕接受cookies豪筝。

2.3.2. 創(chuàng)建Cookie

import javax.servlet.http.Cookie;

Cookie cookie = new Cookie(name, value);

2.3.3. Cookie的屬性

  • domain:
  • path:
  • maxAge:cookie的過期時間痰滋。
  • httpOnly:

2.3.4. 服務(wù)器發(fā)送Cookie到瀏覽器

  • 接口:HttpServletResponse#addCookie(Cookie):void

服務(wù)器端發(fā)送cookie給客戶端,使用HTTP頭的Set-Cookie字段续崖。包括了對應(yīng)的cookie的名稱敲街,值,以及各個屬性严望。例如:

Set-Cookie: lu=YLjVg7qi3bZjzgRg3vHJZneh; Expires=Tue, 15 Jan 2021 22:37:38 GMT; Path=/; Domain=.it168.com; HttpOnly

Set-Cookie: made_write_conn=1295214458; Path=/; Domain=.it168.com

Set-Cookie: reg_fb_gate=deleted; Expires=Thu, 01 Jan 1970 00:00:01 GMT; Path=/; Domain=.it168.com; HttpOnly

2.3.5. 瀏覽器提交cookie到服務(wù)端

瀏覽器發(fā)送cookie給服務(wù)器的時候多艇,是不發(fā)送cookie的各個屬性的,而只是發(fā)送對應(yīng)的名稱和值像吻。使用HTTP頭的Cookie字段:

GET /spec.html HTTP/1.1  
Host: www.example.org  
Cookie: name=value; name2=value2  
Accept: */*

服務(wù)端提取Cookie使用如下接口:HttpServletRequest#getCookies():Cookie[]墩蔓。

2.3.6. 查找指定名稱的Cookie

public static Cookie findCookie(String cookieName) {
    if (cookieName == null) {
        return null;
    }
    for (Cookie c : httpServletRequest.getCookies()) {
        if (cookieName.equals(c.getName())) {
                return c;
        }
    }
    return null;
}

2.3.7. 刪除Cookie

創(chuàng)建一個同名Cookie,設(shè)置maxAge為0萧豆,添加到HttpServletResponse中奸披,相當(dāng)于刪除同名cookie:

Cookie cookie = new Cookie("name", "");
cookie.setMaxAge(0);
httpServletResponse.addCookie(cookie);

2.4. Session

2.4.1. 特性

  1. 由服務(wù)端創(chuàng)建和維護,不會發(fā)送給客戶端涮雷,只會將其唯一ID發(fā)送給客戶端
  2. 服務(wù)端發(fā)送Session id給客戶端通常有兩種方式:(1)創(chuàng)建一個名為JSESSIONID的cookie阵面,其值為會話ID,(2)在URL后附加一個名為jsessionid的參數(shù)

3. Servlet

3.1. Spring Boot下注冊過濾器

4. Spring MVC

4.1. 轉(zhuǎn)發(fā)

4.2. 重定向

4.3. 請求參數(shù)@RequestParam

4.4. 路徑變量@PathVariable

4.5. 模型屬性@ModelAttribute

4.6. 上傳文件

4.7. 下載文件

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末洪鸭,一起剝皮案震驚了整個濱河市样刷,隨后出現(xiàn)的幾起案子览爵,更是在濱河造成了極大的恐慌蜓竹,老刑警劉巖嘶是,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異克饶,居然都是意外死亡,警方通過查閱死者的電腦和手機洲尊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進店門惊来,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事室谚。” “怎么了?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長线婚。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任婆誓,我火速辦了婚禮吃环,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘洋幻。我一直安慰自己郁轻,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布文留。 她就那樣靜靜地躺著好唯,像睡著了一般。 火紅的嫁衣襯著肌膚如雪燥翅。 梳的紋絲不亂的頭發(fā)上骑篙,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天,我揣著相機與錄音森书,去河邊找鬼靶端。 笑死,一個胖子當(dāng)著我的面吹牛拄氯,可吹牛的內(nèi)容都是我干的躲查。 我是一名探鬼主播,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼译柏,長吁一口氣:“原來是場噩夢啊……” “哼镣煮!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起鄙麦,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤典唇,失蹤者是張志新(化名)和其女友劉穎镊折,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體介衔,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡恨胚,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了炎咖。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片赃泡。...
    茶點故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖乘盼,靈堂內(nèi)的尸體忽然破棺而出升熊,到底是詐尸還是另有隱情,我是刑警寧澤绸栅,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布级野,位于F島的核電站,受9級特大地震影響粹胯,放射性物質(zhì)發(fā)生泄漏蓖柔。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一风纠、第九天 我趴在偏房一處隱蔽的房頂上張望况鸣。 院中可真熱鬧,春花似錦议忽、人聲如沸懒闷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至帮辟,卻和暖如春速址,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背由驹。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工芍锚, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蔓榄。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓并炮,卻偏偏與公主長得像,于是被迫代替她去往敵國和親甥郑。 傳聞我的和親對象是個殘疾皇子逃魄,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,044評論 2 355

推薦閱讀更多精彩內(nèi)容