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è)地址),重定向沒(méi)有任何限制且地址會(huì)改變.
3.路徑問(wèn)題:
a) 什么是路徑問(wèn)題?
鏈接,表單提交,重定向和轉(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)文章
Spring Boot通過(guò)Redis實(shí)現(xiàn)防止重復(fù)提交
表單提交是一個(gè)非常常見(jiàn)的功能,如果不加控制,容易因?yàn)橛脩舻恼`操作或網(wǎng)絡(luò)延遲導(dǎo)致同一請(qǐng)求被發(fā)送多次,本文主要介紹了Spring Boot通過(guò)Redis實(shí)現(xiàn)防止重復(fù)提交,具有一定的參考價(jià)值,感興趣的可以了解一下2024-06-06rabbitmq使用springboot實(shí)現(xiàn)direct模式(最新推薦)
這篇文章主要介紹了rabbitmq使用springboot實(shí)現(xiàn)direct模式,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07SpringBoot+ENC實(shí)現(xiàn)密鑰加密的使用示例
本文主要介紹了SpringBoot+ENC實(shí)現(xiàn)密鑰加密的使用示例,主要是為了將配置信息從應(yīng)用程序代碼中分離出來(lái),以提高安全性和可維護(hù)性,感興趣的可以了解一下2024-07-07SpringBoot?@GroupSequenceProvider注解實(shí)現(xiàn)bean多屬性聯(lián)合校驗(yàn)的示例代碼
這篇文章主要介紹了SpringBoot?@GroupSequenceProvider注解實(shí)現(xiàn)bean多屬性聯(lián)合校驗(yàn),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08IDEA解決springboot熱部署失效問(wèn)題(推薦)
熱部署,就是在應(yīng)用正在運(yùn)行的時(shí)候升級(jí)軟件,卻不需要重新啟動(dòng)應(yīng)用。這篇文章主要介紹了IDEA解決springboot熱部署失效問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09淺談一下maven優(yōu)缺點(diǎn)及使用和特點(diǎn)
這篇文章主要介紹了淺談一下maven優(yōu)缺點(diǎn)及使用和特點(diǎn),一個(gè)項(xiàng)目管理工具軟件,那么maven項(xiàng)目有什么優(yōu)缺點(diǎn)呢,讓我們一起來(lái)看看吧2023-03-03spring 定時(shí)任務(wù)@Scheduled詳解
這篇文章主要介紹了spring 定時(shí)任務(wù)@Scheduled的相關(guān)資料,文中通過(guò)示例代碼介紹的很詳細(xì),相信對(duì)大家的理解和學(xué)習(xí)具有一定的參考借鑒價(jià)值,有需要的朋友們下面來(lái)一起看看吧。2017-01-01