Java基礎之Java Web中 什麼是重定向和轉發?如何選擇使用重定向還是轉發?
1.重定向和轉發的區別是什麼?
重定向是兩次請求,轉發是一次請求,因此轉發的速度要快於重定向。
重定向之後位址列上的地址會發生變化,變化成第二次請求的地址,轉發之後位址列上的地址不會變化,還是第一次請求的地址。
重點:重定向和請求轉發之後的程式碼都會執行,直到方法結束或者遇到了 return 語句
2. 如何選擇使用重定向還是轉發?
頁面跳轉建議使用重定向,有內部 Servlet 跳轉建議使用轉發。
2.1 為什麼頁面跳轉選擇使用重定向呢?
- 轉發請求地址會變化
- 轉發只能在站內跳轉,重定向可以跳轉到任意想要的地方
2.2 為什麼內部Servlet跳轉跳轉選擇使用轉發呢?
如果程式碼邏輯是 ServletA -> ServletB -> *.jsp ,使用轉發,那麼這三次操作都在一次請求中,而如果使用重定向,那麼客戶端將發起三次請求,這真的毫無必要。
如果程式碼邏輯中含有內部的 Servlet 跳轉,使用轉發會使一個好的選擇。
相關推薦
Java基礎之Java Web中 什麼是重定向和轉發?如何選擇使用重定向還是轉發?
1.重定向和轉發的區別是什麼? 重定向是兩次請求,轉發是一次請求,因此轉發的速度要快於重定向。 重定向之後位址列上的地址會發生變化,變化成第二次請求的地址,轉發之後位址列上的地址不會變化,還是第一次請求的地址。 重點:重定向和請求轉發之後的程式碼都會執行,直到方法結束或者遇到
黑馬程式設計師----Java基礎之IO包中其它類
------- <a href="http://www.itheima.com" target="blank">android培訓</a>、<a href="http://www.itheima.com" target="blank">java培訓</a&g
JAVA基礎之設計模式中的組合優於繼承
a. 程式碼在多個子類中重複; b. 執行時的行為不容易改變; c. 改變會牽一髮動全身,造成部分子型別不想要的改變; 問題提出 當修改超類(父類)時,無論是新增還是刪除,對於子類的影響都是非常大的,例如說定義了鴨子類, 然後有野鴨子、綠毛鴨、橡皮鴨。 我們
Java基礎之——Java概述與基礎知識
開頭 自動類型轉換 中文 存儲 方向 優先 思路 類型 j2me 1、何為編程? 編程就是讓計算機為解決某個問題而使用某種程序設計語言編寫程序代碼,並最終得到結果的過程。 為了使計算機能夠理解人的意圖,人類就必須要將需解決的問題的思路、方法、和手段通過計算機能夠理解的形式告
Java基礎之Java 修飾符
前言:Java內功心法之Java 修飾符,看完這篇你向Java大神的路上又邁出了一步(有什麼問題或者需要資料可以聯絡我的扣扣:734999078) Java語言提供了很多修飾符,主要分為以下兩類: 訪問修飾符 非訪問修飾符 修飾符用來定義類、方法或者變數,通常放在語句的最前
Java基礎之java的四大特性
上篇文章說了jdk的安裝和java環境的配置,這篇文章主要說下java的特性。 首相說下,程式語言分為面向過程和麵向物件,而java就是一種面向物件的程式語言。 什麼是面向過程程式設計呢?就是一流程為單位,注重最後的結果。比如小明要從鄭州去北京,他第一步就是要先買火車票,然後去火車站乘車,坐火車到北京。這
java基礎之java的序列化
什麼是java的序列化? 物件序列化機制(object serialization)是Java語言內建的一種物件持久化方式,通過物件序列化,可以把物件的狀態儲存為位元組陣列,並且可以在有需要的時候將這個位元組陣列通過反序列化的方式再轉換成物件 用自己的話講來
java基礎之java的基本資料型別
java分為基本資料型別和引用資料型別。基本資料型別主演分為四類八種,引用資料型別分為介面,類,陣列,String。 基本資料型別的四類八種是: 整數型別:byte,short,int,long 資料型別 記憶體空間 儲存範圍 byte
java 基礎之成員變數,成員方法和區域性變數,例項方法
以下都是總結的簡單說法,定義上可能沒那麼嚴謹。 成員變數:類裡定義的變數。 區域性變數:方法裡定義的變數。 其中成員變數又分為:例項變數和類變數(靜態變數) 類變數:static修飾的變數 注:如果區域性變數和成員變數的名稱相同,那麼成員變數被隱藏,即方法內失效,方法中如需
Java基礎之面向物件的方法引數和物件上轉型
本篇部落格著重說明方法的引數傳遞機制和 物件上轉型,作為前幾篇部落格的續貂之作,當然面向物件我還沒有回顧完呢。言歸正傳。 一、方法的引數傳遞機制 1.1說明:java裡的方法不能單獨存在,呼叫方法必須使用類或者物件作為主調者。 如果宣告的方法有形式引數宣告,則在呼叫時必
Java基礎之字串陣列Array進行去重
寫出一段演算法,用於對字串陣列進行去重,要求儘量簡潔 舉例: * 輸入: * {"cc","dd","aa","cc","gg","dd","ee"} * 輸出: * {"cc","dd","aa","gg","ee"} ArrayList去重 通過list.contains()
【Java基礎之五】Java中IO詳解
1.Java IO簡介 可能學過計算機組裝與維修的同學都知道I/O裝置,翻譯過來也就是Input/Output(輸入輸出裝置),在硬體中鍵盤、滑鼠 屬於 輸入裝置,顯示器、印表機等屬於輸出裝置,這裡輸入輸出參考物是計算機本身。 java.io包從巨集觀上來
Java基礎之String中equals,宣告方式,等大總結
無論你是一個程式設計新手還是老手,提到String你肯定感覺特別熟悉,因為String類我們在學習java基礎的時候就已經學過,但是String型別有我們想象的那麼簡單嗎?其實不然,Stri
JAVA基礎之——HashSet中是如何判斷元素是否重複的
原文:http://blog.csdn.net/ning109314/article/details/17354839 HashSet不能新增重複的元素,當呼叫add(Object)方法時候,首先會呼叫Object的hashCode方法判hashCode是否已經存在,如不
java基礎之多線程
健壯性 等待 block running 調用 相同 空間 獲取 行程 參考博客 http://www.mamicode.com/info-detail-517008.html 1.進程和線程的區別 進程:每個進程都有獨立的代碼和數據空間(進程上下文),進程間的切換會有
java基礎之數組
和平 system.in return 必須 sys jdk ole 否則 語法 1、數組的定義 數組是相同數據類型的有序集合,數組是一種特殊類型的變量,是在內存中開辟的一片連續的存儲空間 數組的元素:數組中的保存的具體的值 數組的長度:數組中能保存的最大得元素的個數。 數
java基礎之bit、byte、char、String
ava 字節 java基礎 等於 ring pan style span gbk bit 位,二進制數據0或1 byte 字節,一個字節等於8位二進制數 char 字符, String 字符串,一串字符 常見轉換 1 字母 = 1by
java基礎之get和post的差別
oge tracking data- 宋體 行處理 art 其它 family 我們 上篇博文講到HTTP協議,本篇介紹HTTP請求方法中get和post的差別: 首先,最明顯的一點表象上的差別:GET 方式。將請求參數附加在url之後,POST將請求參數附加在請求頭
Java基礎之final和static關鍵字
推薦 構造方法 其他 如果 靈活 位置 map 機制 lis 一、final 根據程序上下文環境,它可以修飾非抽象類、非抽象類成員方法和變量。 final類不能被繼承,沒有子類,final類中的方法默認是final的。 final
Java基礎之Map的遍歷
print try main map.entry void clas 推薦 highlight col 遍歷Map集合,有四種方法: public static void main(String[] args) { Map<String, String&g