1.轉(zhuǎn)發(fā):
創(chuàng)新互聯(lián)建站自2013年起,先為富拉爾基等服務建站,富拉爾基等地企業(yè),進行企業(yè)商務咨詢服務。為富拉爾基企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。
a) 什么是轉(zhuǎn)發(fā)?
一個web組件將未完成的任務交給另一個web組件繼續(xù)做.
通常是一個servlet將數(shù)據(jù)獲取之后轉(zhuǎn)交給jsp進行展現(xiàn).
注:web組件值得是servlet或者jsp
b) 如何轉(zhuǎn)發(fā)?
1.將數(shù)據(jù)綁定到request對象上.
request.setatteribute(string name,obj)
注:name綁定名 obj:綁定值
obj request.getattr…(string name);//依據(jù)綁定名獲取綁定值.
2.獲取轉(zhuǎn)發(fā)器
requestdispatatcher rd = request.getrequestdispatcher(string url);
注:轉(zhuǎn)發(fā)的目的地,比如一個jsp
3.轉(zhuǎn)發(fā)
rd.forward(request,response)
注:轉(zhuǎn)發(fā)的本質(zhì)是一個web組件通知容器調(diào)用另外一個web組件,(即調(diào)用service方法,所以需要傳遞request,response)
c) 特點:
1.轉(zhuǎn)發(fā)的目的地有限制(要求同一個web應用中的某個地址)
2.轉(zhuǎn)發(fā)之后,瀏覽器地址不變.
d) 比較重定向和轉(zhuǎn)發(fā):
1.轉(zhuǎn)發(fā)所涉及的各個web組件可以共享request和response.重定向不可以.
注:request和response的生存時間并不長(當服務器收到請求后會立即創(chuàng)建這兩個對象,當響應發(fā)送完畢,會立即銷毀這兩個對象)即這兩個對象的生存時間為一次請求與響應期間存在.
2.轉(zhuǎn)發(fā)之后瀏覽器地址欄地址不變(要求同一個web應用中的某個地址),重定向沒有任何限制且地址會改變.
3.路徑問題:
a) 什么是路徑問題?
鏈接,表單提交,重定向和轉(zhuǎn)發(fā)都需要填寫一個路徑,比如
b) 相對路徑
1.什么是相對路徑?
不以”/”開頭的路徑.
c) 絕對路徑
1.什么是相對路徑?
以”/”開頭的路徑.
2.如何寫絕對路徑?
鏈接,表單提交,重定向沖應用名開始寫,轉(zhuǎn)發(fā)從應用名開始寫.
z注:不要直接將應用名寫在路徑里面,應該使用request.getcontextpath()獲取應用名.
以上這篇java-servlet-轉(zhuǎn)發(fā)AND路徑(詳解)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持創(chuàng)新互聯(lián)。