jsp 和 servlet 有什么區(qū)別?
servlet是服務(wù)器端的Java程序,它擔(dān)當(dāng)客戶端和服務(wù)端的中間層。
jsp全名為Java server pages,中文名叫Java服務(wù)器頁(yè)面,其本質(zhì)是一個(gè)簡(jiǎn)化的servlet設(shè)計(jì)。JSP是一種動(dòng)態(tài)頁(yè)面設(shè)計(jì),它的主要目的是將表示邏輯從servlet中分離出來(lái)。
JVM只能識(shí)別Java代碼,不能識(shí)別JSP,JSP編譯后變成了servlet,web容器將JSP的代碼編譯成JVM能夠識(shí)別的Java類(servlet)。
JSP有內(nèi)置對(duì)象、servlet沒(méi)有內(nèi)置對(duì)象。
jsp 有哪些內(nèi)置對(duì)象?作用分別是什么?
JSP有九大內(nèi)置對(duì)象:
pageContext:頁(yè)面上下文對(duì)象,相當(dāng)于頁(yè)面中所有功能的集合,通過(guò)它可以獲取JSP頁(yè)面的out、request、response、session、application對(duì)象。
request:請(qǐng)求對(duì)象
response:輸出對(duì)象
session:會(huì)話對(duì)象
application:應(yīng)用程序?qū)ο?,application實(shí)現(xiàn)了用戶間數(shù)據(jù)的共享,可存放全局變量,它開(kāi)始于服務(wù)器啟動(dòng),知道服務(wù)器關(guān)閉。
page:就是JSP本身。
exception:獲取異常信息
out:out用于在web瀏覽器內(nèi)輸出信息,并且管理應(yīng)用服務(wù)器上的輸出緩沖區(qū),作用域page。
config:取得服務(wù)器的配置信息。
forward 和 redirect 的區(qū)別?
forward是直接請(qǐng)求轉(zhuǎn)發(fā);redirect是間接請(qǐng)求轉(zhuǎn)發(fā),又叫重定向。
forward,客戶端和瀏覽器執(zhí)行一次請(qǐng)求;redirect,客戶端和瀏覽器執(zhí)行兩次請(qǐng)求。
forward,經(jīng)典的MVC模式就是forward;redirect,用于避免用戶的非正常訪問(wèn)。(例如用戶非正常訪問(wèn),servlet就可以將HTTP請(qǐng)求重定向到登錄頁(yè)面)。
forward,地址不變;redirect,地址改變。
forward常用方法:RequestDispatcher類的forward()方法;redirect常用方法:HttpServletRequest類的sendRedirect()方法。
jsp 有哪幾個(gè)作用域?
application、session、request、page
更多關(guān)于“Java培訓(xùn)”的問(wèn)題,歡迎咨詢千鋒教育在線名師。千鋒已有十余年的培訓(xùn)經(jīng)驗(yàn),課程大綱更科學(xué)更專業(yè),有針對(duì)零基礎(chǔ)的就業(yè)班,有針對(duì)想提升技術(shù)的好程序員班,高品質(zhì)課程助力你實(shí)現(xiàn)java程序員夢(mèng)想。