大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java學(xué)習(xí) Java Servlet重定向與轉(zhuǎn)發(fā)

Java Servlet重定向與轉(zhuǎn)發(fā)

更新時(shí)間:2022-10-12 10:47:44 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1108次

Servlet重定向與轉(zhuǎn)發(fā)是什么?動(dòng)力節(jié)點(diǎn)小編為大家進(jìn)行詳細(xì)介紹。

1.概述

有時(shí),我們的 Java Servlet 中的初始 HTTP 請(qǐng)求處理程序需要將請(qǐng)求委托給另一個(gè)資源。在這些情況下,我們可以進(jìn)一步轉(zhuǎn)發(fā)請(qǐng)求或?qū)⑵渲囟ㄏ虻讲煌馁Y源。

我們將使用這兩種機(jī)制并討論每種機(jī)制的差異和最佳實(shí)踐。

2.Maven依賴

首先,讓我們添加 Servlet Maven 依賴項(xiàng):

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>4.0.0</version>
</dependency>

3.前鋒

現(xiàn)在讓我們直接進(jìn)入并看看如何做一個(gè)簡(jiǎn)單的前鋒:

protected void doGet(HttpServletRequest req, HttpServletResponse resp) {
    RequestDispatcher dispatcher = getServletContext()
      .getRequestDispatcher("/forwarded");
    dispatcher.forward(req, resp);
}

我們從父 Servlet 獲取RequestDispatcher引用并將其指向另一個(gè)服務(wù)器資源。

簡(jiǎn)單地說,這將轉(zhuǎn)發(fā)請(qǐng)求。

當(dāng)客戶端向http://localhost:8081/hello?name=Dennis提交請(qǐng)求時(shí),此邏輯將運(yùn)行并將請(qǐng)求轉(zhuǎn)發(fā)到“ /forwarded ”。

4. 重定向

現(xiàn)在我們了解了轉(zhuǎn)發(fā)的概念,讓我們看一下重定向的快速片段:

protected void doGet(HttpServletRequest req, HttpServletResponse resp){
    resp.sendRedirect(req.getContextPath() + "/redirected");
}

我們使用原始響應(yīng)對(duì)象將此請(qǐng)求重定向到另一個(gè) URL:“ /redirected”。

當(dāng)客戶端向http://localhost:8081/welcome?name=Dennis提交請(qǐng)求時(shí),請(qǐng)求將被重定向到http://localhost:8081/redirected。

5.差異

在這兩種情況下,我們都傳遞了帶有值的參數(shù)“ name ”。簡(jiǎn)單地說,轉(zhuǎn)發(fā)的請(qǐng)求仍然帶有這個(gè)值,但重定向的請(qǐng)求沒有。

這是因?yàn)椋ㄟ^重定向,請(qǐng)求對(duì)象與原始對(duì)象不同。如果我們還想使用這個(gè)參數(shù),我們需要將它保存在HttpSession對(duì)象中。

以下是 servlet 轉(zhuǎn)發(fā)和重定向之間的主要區(qū)別列表:

前鋒:

請(qǐng)求將在服務(wù)器端進(jìn)一步處理

客戶端不受轉(zhuǎn)發(fā)的影響,瀏覽器中的 URL 保持不變

請(qǐng)求和響應(yīng)對(duì)象在轉(zhuǎn)發(fā)后將保持相同的對(duì)象。請(qǐng)求范圍的對(duì)象仍然可用

重定向:

請(qǐng)求被重定向到不同的資源

客戶端將在重定向后看到 URL 更改

創(chuàng)建了一個(gè)新請(qǐng)求

重定向通常在Post/Redirect/Get Web 開發(fā)模式中使用

6.結(jié)論

轉(zhuǎn)發(fā)和重定向都是關(guān)于將用戶發(fā)送到不同的資源,盡管它們具有完全不同的語(yǔ)義。

在這些之間進(jìn)行選擇很簡(jiǎn)單。如果需要先前的范圍,或者不需要通知用戶,但應(yīng)用程序還想執(zhí)行內(nèi)部操作,則使用 forwarding。

要放棄范圍,或者如果新內(nèi)容與原始請(qǐng)求不相關(guān)(例如重定向到登錄頁(yè)面或完成表單提交),請(qǐng)使用 redirecting。

以上就是關(guān)于“Java Servlet重定向與轉(zhuǎn)發(fā)”的介紹,大家如果對(duì)此比較感興趣,想了解更多相關(guān)知識(shí),不妨來關(guān)注一下本站的Servlet教程,里面還有更豐富的知識(shí)等著大家去學(xué)習(xí),希望對(duì)大家能夠有所幫助哦。

提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-04-24 搶座中
  • 全國(guó)校區(qū) 2025-05-15 搶座中
  • 全國(guó)校區(qū) 2025-06-05 搶座中
  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 狠狠躁夜夜躁人人爽天天不 | 精品一区二区免费视频 | 成人欧美一区二区三区视频不卡 | 久久99精品国产一区二区三区 | sihu永久在线播放地址 | 久操福利视频 | 香港a毛片免费全部播放 | 亚洲国产爱久久全部精品 | 中文字幕国产欧美 | 欧美日韩不卡码一区二区三区 | 欧美成人在线免费观看 | 久久精品这里是免费国产 | 大尺度视频网站久久久久久久久 | 天天拍夜夜添久久精品中文 | 九九99久久精品午夜剧场免费 | 国产一区二区三区国产精品 | 在线第一福利视频观看 | 一区二区视频免费看 | 在线看欧美三级中文经典 | 中文乱码精品一区二区三区 | 97影院理论片手机在线观看 | 国产在线不卡视频 | 久久88色综合色鬼 | 亚洲香蕉毛片久久网站老妇人 | 四虎永久免费网站免费观看 | 伊人95| 国产大片在线播放 | 欧美精品网 | 中文字幕在线视频免费 | 国产在线中文字幕 | 欧美毛片一级 | 97国产在线播放 | 337p欧美超大胆日本人术艺术 | 久久综合久久综合九色 | 玖玖福利| 色国产精品一区在线观看 | 二性视频 | 99精品视频在线观看免费 | 色97色| 亚洲图片综合区另类图片 | 欧美日韩免费在线视频 |