您好,登錄后才能下訂單哦!
1.轉發:
a) 什么是轉發?
一個web組件將未完成的任務交給另一個web組件繼續做.
通常是一個servlet將數據獲取之后轉交給jsp進行展現.
注:web組件值得是servlet或者jsp
b) 如何轉發?
1.將數據綁定到request對象上.
request.setatteribute(string name,obj)
注:name綁定名 obj:綁定值
obj request.getattr…(string name);//依據綁定名獲取綁定值.
2.獲取轉發器
requestdispatatcher rd = request.getrequestdispatcher(string url);
注:轉發的目的地,比如一個jsp
3.轉發
rd.forward(request,response)
注:轉發的本質是一個web組件通知容器調用另外一個web組件,(即調用service方法,所以需要傳遞request,response)
c) 特點:
1.轉發的目的地有限制(要求同一個web應用中的某個地址)
2.轉發之后,瀏覽器地址不變.
d) 比較重定向和轉發:
1.轉發所涉及的各個web組件可以共享request和response.重定向不可以.
注:request和response的生存時間并不長(當服務器收到請求后會立即創建這兩個對象,當響應發送完畢,會立即銷毀這兩個對象)即這兩個對象的生存時間為一次請求與響應期間存在.
2.轉發之后瀏覽器地址欄地址不變(要求同一個web應用中的某個地址),重定向沒有任何限制且地址會改變.
3.路徑問題:
a) 什么是路徑問題?
鏈接,表單提交,重定向和轉發都需要填寫一個路徑,比如
<from action=”add.do”>如何填寫這個路徑/
b) 相對路徑
1.什么是相對路徑?
不以”/”開頭的路徑.
c) 絕對路徑
1.什么是相對路徑?
以”/”開頭的路徑.
2.如何寫絕對路徑?
鏈接,表單提交,重定向沖應用名開始寫,轉發從應用名開始寫.
z注:不要直接將應用名寫在路徑里面,應該使用request.getcontextpath()獲取應用名.
以上這篇java-servlet-轉發AND路徑(詳解)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。