我們在做
jsp或者
servlet
跳轉時,經常用到一次跳轉和兩次跳轉,到底這兩者有什麼區別呢?下面是伺服器端的兩個
jsp頁面:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
test1.jsp
<%
request.setattribute(
"username"
,"leno"
);"test2.jsp");
requestdispatcher rd = request.getrequestdispatcher(
"test2.jsp"
);rd.forward(request, response);
%>
test2.jsp
<%
out.println(request.getattribute(
"username"
));%>
當客戶端使用者在瀏覽器位址列上輸入
時,修改注釋部分,可以看到兩種跳轉的結果是不同的。
我們舉乙個形象的例子來說明(以下場景純屬虛構^_^):
悟空西遊途中,偶遇白骨精,本著好男不跟美女鬥的精神,畏縮不敢戰,只能向赤腳大仙求助。誰知赤腳大仙也是一軟腳蟹(出了名的怕女人),於是出現了兩種可能:1.赤腳大仙死要面子,告知悟空一切包在他身上。然後自己偷偷去找觀音姐姐,解決了白骨精。弄的悟空最後都不知道是觀音姐姐幫他解決的。2.赤腳大仙告知悟空,自己愛莫能助,讓悟空轉求觀音姐姐。悟空找到觀音姐姐後,解決了白骨精。相當於悟空向兩位大仙請求了幫助。
那麼在這個例子中,悟空就是客戶端使用者,白骨精就是使用者要解決的問題,赤腳大仙和觀音菩薩就是伺服器端的兩個元件(
jsp或
servlet
)。第一種可能就是一次請求的跳轉,第二種可能就是二次請求的跳轉。現在,相信您可以理解兩者的區別了!
一次提交觸發兩次請求
我們公司的專案都是前後端分離的,上線幾個月以來,發現乙個很奇怪的問題,每次前端發起請求,通過瀏覽器的開發者工具都能看到在network下同乙個url有兩條請求,第一條請求的method為options,第二條請求的method才是真正的get或者post,並且,第一條請求無資料返回,第二條請求才會返...
一次URL請求後台響應兩次
做專案時遇到乙個問題。現象是這樣的,我在頁面點按f5重新整理頁面,但是後台 卻響應了兩次,百思不得其解。然後我就試探性的去更改html的標籤裡面的東西,可是問題依舊。我一直在思索這個問題,到底是瀏覽器請求了一次後 的執行了兩次,還是產生了兩次請求?為了得到這個答案,我搜尋到httpwatch這個工具...
呼叫一次AJAX,傳送兩次請求
瀏覽器對複雜跨域請求的處理,在傳送真正的請求前,會先傳送乙個方法為options的預請求 preflight request 用於試探服務端是否能接受真正的請求,如果options獲得的回應是拒絕性質的,比如404 403 500等http狀態,就會停止post put等請求的發出。有三種方式會導致...