java-servlet-轉(zhuǎn)發(fā)AND路徑(詳解)
1.轉(zhuǎn)發(fā):
a) 什么是轉(zhuǎn)發(fā)?
一個(gè)web組件將未完成的任務(wù)交給另一個(gè)web組件繼續(xù)做.
通常是一個(gè)servlet將數(shù)據(jù)獲取之后轉(zhuǎn)交給jsp進(jìn)行展現(xiàn).
注:web組件值得是servlet或者jsp
b) 如何轉(zhuǎn)發(fā)?
1.將數(shù)據(jù)綁定到request對(duì)象上.
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ā)的目的地,比如一個(gè)jsp
3.轉(zhuǎn)發(fā)
rd.forward(request,response)
注:轉(zhuǎn)發(fā)的本質(zhì)是一個(gè)web組件通知容器調(diào)用另外一個(gè)web組件,(即調(diào)用service方法,所以需要傳遞request,response)
c) 特點(diǎn):
1.轉(zhuǎn)發(fā)的目的地有限制(要求同一個(gè)web應(yīng)用中的某個(gè)地址)
2.轉(zhuǎn)發(fā)之后,瀏覽器地址不變.
d) 比較重定向和轉(zhuǎn)發(fā):
1.轉(zhuǎn)發(fā)所涉及的各個(gè)web組件可以共享request和response.重定向不可以.
注:request和response的生存時(shí)間并不長(zhǎng)(當(dāng)服務(wù)器收到請(qǐng)求后會(huì)立即創(chuàng)建這兩個(gè)對(duì)象,當(dāng)響應(yīng)發(fā)送完畢,會(huì)立即銷毀這兩個(gè)對(duì)象)即這兩個(gè)對(duì)象的生存時(shí)間為一次請(qǐng)求與響應(yīng)期間存在.
2.轉(zhuǎn)發(fā)之后瀏覽器地址欄地址不變(要求同一個(gè)web應(yīng)用中的某個(gè)地址),重定向沒有任何限制且地址會(huì)改變.
3.路徑問題:
a) 什么是路徑問題?
鏈接,表單提交,重定向和轉(zhuǎn)發(fā)都需要填寫一個(gè)路徑,比如
<from action=”add.do”>如何填寫這個(gè)路徑/
b) 相對(duì)路徑
1.什么是相對(duì)路徑?
不以”/”開頭的路徑.
c) 絕對(duì)路徑
1.什么是相對(duì)路徑?
以”/”開頭的路徑.
2.如何寫絕對(duì)路徑?
鏈接,表單提交,重定向沖應(yīng)用名開始寫,轉(zhuǎn)發(fā)從應(yīng)用名開始寫.
z注:不要直接將應(yīng)用名寫在路徑里面,應(yīng)該使用request.getcontextpath()獲取應(yīng)用名.
以上這篇java-servlet-轉(zhuǎn)發(fā)AND路徑(詳解)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Jmeter參數(shù)化實(shí)現(xiàn)原理及過程解析
這篇文章主要介紹了Jmeter參數(shù)化實(shí)現(xiàn)原理及過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07
Spring HandlerInterceptor實(shí)現(xiàn)原理代碼解析
這篇文章主要介紹了Spring HandlerInterceptor實(shí)現(xiàn)原理代碼解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10
Java SSM整合開發(fā)統(tǒng)一結(jié)果封裝詳解
這篇文章主要介紹了Java SSM整合開發(fā)實(shí)現(xiàn)統(tǒng)一結(jié)果封裝,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
java.lang.OutOfMemoryError: Metaspace異常解決的方法
這篇文章主要介紹了java.lang.OutOfMemoryError: Metaspace異常解決的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
Eclipse下使用ANT編譯提示OutOfMemory的解決方法
由于需要使用ANT編譯的代碼比較多,特別是在第一次變異的時(shí)候,會(huì)出現(xiàn)OutOfMemory錯(cuò)誤。并提示更改ANT_OPTS設(shè)定。2009-04-04
Java開發(fā)環(huán)境不再需要配置classpath問題
這篇文章主要介紹了Java開發(fā)環(huán)境不再需要配置classpath問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12
解讀file.exists(),file.isFile()和file.isDirectory()的區(qū)別
本文介紹了Java中的File類的三個(gè)方法:file.exists()、file.isFile()和file.isDirectory(),并詳細(xì)解釋了它們的區(qū)別和使用場(chǎng)景2025-02-02
Spring?Cloud?Eureka基礎(chǔ)應(yīng)用及原理
這篇文章主要介紹了Spring?Cloud?Eureka基礎(chǔ)應(yīng)用,Eureka?Client中內(nèi)置一個(gè)負(fù)載均衡器,用來(lái)進(jìn)行基本的負(fù)載均衡,下面我們將通過搭建一個(gè)簡(jiǎn)單的Eureka例子來(lái)了解Eureka的運(yùn)作原理,感興趣的朋友一起看看吧2022-05-05

