轉(zhuǎn)發(fā)
(1)什么是轉(zhuǎn)發(fā)?
一個(gè)web組件(servlet/jsp)將未處理完的任務(wù)
轉(zhuǎn)交給另外一個(gè)web組件繼續(xù)處理。
常用的使用場(chǎng)合:
servlet將處理得到的數(shù)據(jù)轉(zhuǎn)發(fā)給jsp,由jsp
生成合適的頁(yè)面。
(2)編程:
step1 將數(shù)據(jù)綁訂到request對(duì)象上。
request.setAttribute(String name,
Object obj);
step2 獲得一個(gè)轉(zhuǎn)發(fā)器
//uri:要轉(zhuǎn)發(fā)的目的地,比如是一個(gè)jsp的地址
RequestDispatcher rd =
request.getRequestDispatcher(String uri);
step3 轉(zhuǎn)發(fā)
rd.forward(request,response);
在轉(zhuǎn)發(fā)的目的地,可以使用
//如果name對(duì)應(yīng)的對(duì)象不存在,返回null。
Object request.getAttribute(String name);
request.removeAttribute(String name);
(3)轉(zhuǎn)發(fā)編程需要注意的問(wèn)題
轉(zhuǎn)發(fā)之前,如果response中緩存有任何的數(shù)據(jù),會(huì)清空。如果轉(zhuǎn)發(fā)之前,調(diào)用了out.flush(),
out.close(),則會(huì)出錯(cuò)。
(4) 轉(zhuǎn)發(fā)的特點(diǎn):
a,轉(zhuǎn)發(fā)時(shí),瀏覽器地址欄的地址不會(huì)變。
b,轉(zhuǎn)發(fā)的目的地只能是同一個(gè)應(yīng)用內(nèi)部的各個(gè)
組件。
2015年全國(guó)職稱(chēng)計(jì)算機(jī)考試教材(2007模 .. 定價(jià):¥225 優(yōu)惠價(jià):¥213 更多書(shū)籍 | |
全國(guó)職稱(chēng)計(jì)算機(jī)考試速成過(guò)關(guān)系列套裝:W .. 定價(jià):¥133 優(yōu)惠價(jià):¥133.0 更多書(shū)籍 |