web開發之轉送和重定向區別
在進行web開發時,跳轉是最常見的,今天在這裡來學習下2種跳轉,有興趣的朋友可以看看,希望對你有幫助。
第一種是request.getRequestDispatcher().forward(request,response):
1、屬於轉發,也是伺服器跳轉,相當於方法調用,在執行當前文件的過程中轉向執行目標文件,兩個文件(當前文件和目標文件)屬於同一次請求,前後頁共用一個request,可以透過此來傳遞一些資料或者session訊息,request.setAttribute()和request.getAttribute()。
2、在前後兩次執行後,網址列不變,仍是目前檔案的位址。
3、不能轉向到本web應用程式以外的頁面和網站,所以轉向的速度要快。
4、URL中所包含的「/」表示應用程式(項目)的路徑。
第二種是response.sendRedirect():
1、屬於重定向,也是客戶端跳轉,相當於客戶端向服務端發送請求之後,伺服器回傳一個回應,客戶端接收到回應之後又向服務端發送一次請求,總共2次請求,前後頁不共用一個request,不能讀取轉向前透過request.setAttribute()設定的屬性值。
2、在前後兩次執行後,網址列改變,是目標檔案的位址。
3、可以轉向到本web應用程式以外的頁面和網站,所以轉向的速度相對要慢。
4、URL種所包含的"/"表示根目錄的路徑。
特殊的應用:對資料進行修改、刪除、新增操作的時候,應該用response.sendRedirect()。如果是採用了request.getRequestDispatcher().forward(request,response),那麼操作前後的網址列都不會改變,仍然是修改後的控制器,如果此時再對目前頁面刷新的話,就會重新傳送一次請求對資料進行修改,也就是有的人在刷新一次頁面就增加一條資料的原因。
如何採用第二種方式傳遞資料:
#1、可以選擇session,但在第二個檔案中刪除;
2、可以在請求的url中帶上參數,如"add.htm?id=122"
怎麼選擇是重定向還是轉發呢?通常情況下轉送更快,而且能保持request內的對象,所以他是第一選擇。但由於在轉送之後,瀏覽器中URL仍指向開始頁面,此時如果重載目前頁面,開始頁面將會被重新呼叫。如果你不想看到這樣的情況,則選擇轉發。
相關教學:前端影片教學
以上是web開發之轉送和重定向區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

掌握HTTP301狀態碼的意思:網頁重定向的常見應用場景隨著網路的快速發展,人們對網頁互動的要求也越來越高。在網頁設計領域,網頁重定向是一種常見且重要的技術,透過HTTP301狀態碼來實現。本文將探討HTTP301狀態碼的意義以及在網頁重新導向中的常見應用場景。 HTTP301狀態碼是指永久重新導向(PermanentRedirect)。當伺服器接收到客戶端發

PHP與Vue:完美搭檔的前端開發利器在當今網路快速發展的時代,前端開發變得愈發重要。隨著使用者對網站和應用的體驗要求越來越高,前端開發人員需要使用更有效率和靈活的工具來創建響應式和互動式的介面。 PHP和Vue.js作為前端開發領域的兩個重要技術,搭配起來可以稱得上是完美的利器。本文將探討PHP和Vue的結合,以及詳細的程式碼範例,幫助讀者更好地理解和應用這兩

在前端開發面試中,常見問題涵蓋廣泛,包括HTML/CSS基礎、JavaScript基礎、框架和函式庫、專案經驗、演算法和資料結構、效能最佳化、跨域請求、前端工程化、設計模式以及新技術和趨勢。面試官的問題旨在評估候選人的技術技能、專案經驗以及對行業趨勢的理解。因此,應試者應充分準備這些方面,以展現自己的能力和專業知識。

Django是一個由Python編寫的web應用框架,它強調快速開發和乾淨方法。儘管Django是web框架,但要回答Django是前端還是後端這個問題,需要深入理解前後端的概念。前端是指使用者直接和互動的介面,後端是指伺服器端的程序,他們透過HTTP協定進行資料的互動。在前端和後端分離的情況下,前後端程式可以獨立開發,分別實現業務邏輯和互動效果,資料的交

Cockpit是一個面向Linux伺服器的基於Web的圖形介面。它主要是為了使新用戶/專家用戶更容易管理Linux伺服器。在本文中,我們將討論Cockpit存取模式以及如何從CockpitWebUI切換Cockpit的管理存取。內容主題:駕駛艙進入模式查找當前駕駛艙訪問模式從CockpitWebUI啟用Cockpit的管理訪問從CockpitWebUI禁用Cockpit的管理訪問結論駕駛艙進入模式駕駛艙有兩種訪問模式:受限訪問:這是駕駛艙的默認訪問模式。在這種存取模式下,您無法從駕駛艙Web用戶

身為C#開發者,我們的開發工作通常包括前端和後端的開發,而隨著技術的發展和專案的複雜性提高,前端與後端協同開發也變得越來越重要和複雜。本文將分享一些前端與後端協同開發的技巧,以幫助C#開發者更有效率地完成開發工作。確定好介面規範前後端的協同開發離不開API介面的交互。要確保前後端協同開發順利進行,最重要的是定義好介面規格。接口規範涉及到接口的命

PHP在Web開發中是屬於後端。 PHP是一種伺服器端腳本語言,主要用於處理伺服器端的邏輯,產生動態網頁內容。與前端技術相比,PHP更多地用於與資料庫互動、處理使用者請求以及生成頁面內容等後端操作。接下來透過具體的程式碼範例來說明PHP在後端開發中的應用。首先,我們來看一個簡單的PHP程式碼範例,用於連接資料庫並查詢資料:

HTTP狀態碼是web伺服器傳回瀏覽器的狀態訊息,它以三位數字的形式表示。其中,狀態碼302代表的是重定向,也稱為暫時跳躍。本文將深入解析HTTP狀態碼302,探討其原理與應用。一、概述重定向是HTTP協定中的重要概念。當瀏覽器向伺服器發送請求時,伺服器可能會傳回一個重定向狀態碼,通知瀏覽器需要對當前的請求進行重定向操作,即將請求的資源位址轉移到另
