1. 程式人生 > >Servlet API中forward()(轉發) 與redirect()(重定向)的區別?

Servlet API中forward()(轉發) 與redirect()(重定向)的區別?

forward(轉發)僅是容器中控制權的轉向,在客戶端瀏覽器位址列中不會顯示出轉向後的地址;

forward(轉發)是伺服器請求資源,伺服器直接訪問目標地址的URL,把那個URL的響應內容讀取過來,然後把這些內容再發給瀏覽器,瀏覽器根本不知道伺服器傳送的內容是從哪兒來的,所以它的位址列中還是原來的地址。

redirect(重定向)則是完全的跳轉,瀏覽器將會得到跳轉的地址,並重新發送請求連結。

redirect(重定向)就是服務端根據邏輯,傳送一個狀態碼,告訴瀏覽器重新去請求那個地址,一般來說瀏覽器會用剛才請求的所有引數重新請求,所以session、request引數都可以獲取。

相關推薦

Servlet APIforward()轉發 redirect()定向區別

forward(轉發),僅是容器中控制權的轉向,在客戶端瀏覽器位址列中不會顯示出轉向後的地址; forward(轉發)是伺服器請求資源,伺服器直接訪問目標地址的URL,把那個URL的響應內容讀取過來,然後把這些內容再發給瀏覽器,瀏覽器根本不知道伺服器傳送的內容是從哪兒來的,

IAR IDE學習之---啟動檔案cstartup輸入\輸出定向方法

1、DLIB,我猜應該是Dynamic Library。DLIB runtime environment就是執行時環境。 2、什麼是執行時環境。IAR給出的官方回答是: The runtime environment is the environment in which

JavaWebServlet亂碼解決轉發定向區別

這也 charset 都是 war 不一定 調用 技術 請求方式 註冊 前言   前面其實已經把Servlet中所有的內容都介紹完了,這篇講補充一點亂碼和重定向與轉發之間的區別! 一、request請求參數出現亂碼問題 1.1、get請求   1)亂碼示例   g

JVMclass文件探索解析

範圍 protected test except itl 指向 strac 相關 父類索引 一直想成為一名優秀的架構師的我,轉眼已經工作快兩年了,對於java內核了解甚少,閑來時間,看看JVM,吧自己的一些研究寫下來供大家參考,有不對的地方請指正。 廢話不多說,一起來看看J

JavalongLongintInteger之間的轉換

轉化 string long tar str 基礎數據類型 ava detail 參考 一、將long型轉化為int型,這裏的long型是基礎類型: long a = 10; int b = (int)a; 二、將Long型轉換為int型,這裏

Spring AOP高級——源碼實現2Spring AOP通知器Advisor切面Aspect

color oaf 小麻煩 ntc tro sta ins pack package 本文例子完整源碼地址:https://github.com/yu-linfeng/BlogRepositories/tree/master/repositories/Spring%20AO

.NET客戶端實現Redis的管道PipeLine事物Transactions

redis服務器 net 他會 端口 ocs string new equal alt 原文:.NET客戶端實現Redis中的管道(PipeLine)與事物(Transactions)序言 Redis中的管道(PipeLine)特性:簡述一下就是,Redis如何從客戶端一

C++overload、覆蓋override隱藏oversee

acl 普通 evc dft war srx rpo 成員 avt body, table{font-family: 微軟雅黑; font-size: 10pt} table{border-col

Silverlight & Blend動畫設計系列十:Silverlight的坐標系統Coordinate System向量Vector運動

過度 highlight 圖片 nbsp mgr ack jpg .com bsp 原文:Silverlight & Blend動畫設計系列十:Silverlight中的坐標系統(Coordinate System)與向量(Vector)運動  如果我們習慣於數學坐

python list extendappend區別

def changextend(str): "print string with extend" mylist.extend([40,50,60]); print(mylist) return def changeappend(str): mylist.append([7,8,9

c語言記憶體的動態分配釋放多維動態陣列構建

一. 靜態陣列與動態陣列    靜態陣列比較常見,陣列長度預先定義好,在整個程式中,一旦給定大小後就無法再改變長度,靜態陣列自己自動負責釋放佔用的記憶體。    動態陣列長度可以隨程式的需要而重新指定大小。動態陣列由記憶體分配函式(malloc)從堆(heap

ISO 26262的ASIL等級確定分解轉載

1. 引言         汽車上電子/電氣系統(E/E)數量不斷的增加,一些高階豪華轎車上有多達70多個ECU(Electronic Control Unit電子控制單元),其中安全氣囊系統、制動系統、底盤控制系統、發動機控制系統以及線控系統等都是安全相關係統。當系統出

javalongLongintInteger之間的轉換

示例程式碼: public static void main(String[] args) { // 1、將long型轉化為int型,其中int、long是基礎型別 long a = 10; int b = (int) a; System.out.print

二叉樹的前序,序,後序,層次遍歷遞迴非遞迴方式

以前在學校學過二叉樹的遍歷,工作後基本上沒用到,現在整理下這幾種排序演算法: 1.java的測試方法: package leetcode.TestList; /** * @author zhangyu * @version V1.0 * @ClassName: TreeNode *

Map集合valuekeySet entrySet 區別

在Map集合中 values():方法是獲取集合中的所有的值----沒有鍵,沒有對應關係, KeySet(): 將Map中所有的鍵存入到set集合中。因為set具備迭代器。所有可以迭代方式取出所有的鍵,再根據get方法。獲取每一個鍵對應的值。 keySet():迭代後只能通過get()取k

Linux的Redis的下載安裝附圖

一,Redis下載         1,下載地址:http://redis.io/download         2,進入Redis官網首頁下載最新版進行. 二,安裝redis (在root許可權下操

forward(轉發)和redirect定向區別

假設你去辦理某個執照, 重定向:你先去了A局,A局的人說:“這個事情不歸我們管,去B局”,然後,你就從A退了出來,自己乘車去了B局。 轉發:你先去了A局,A局看了以後,知道這個事情其實應該B局來管,但是他沒有把你退回來,而是讓你坐一會兒,自己到後面辦公室聯絡了B的人,讓他們辦好後,送了過來。 三、請求重

C/C++stackheap區別

棧(stack) 由編譯器自動分配釋放管理。區域性變數及每次函式呼叫時返回地址、以及呼叫者的環境資訊(例如某些機器暫存器)都存放在棧中。新被呼叫的函式在棧上為其自動和臨時變數分配儲存空間。 堆(he

java的dispatch分派binding繫結

在java語言的實現機制中,需要對函式名與具體函式進行繫結(binding),而在呼叫之前需要對已經繫結好的函式進行分派(dispatch)。我們接下來具體討論繫結和分派的機制。繫結是將函式名與具體函式程式碼進行關聯的過程。由於java語言的多型特性,繫結分為兩種:1.提前/

Java面試hashCodeequalsObject obj方法關係的準確回答

hashCode()與equals(Object obj)都是Java Object物件中的方法,也就是說Java的一切物件都提供這麼兩個方法。這兩個方法在Java中有著不一般的聯絡;在Java類操作中,也起著至關重要的計算依據。 大家都知道,Java中有兩大