JSP基本概念
JSP是英文(java server pages)的簡稱阶界,由HTML頁面中混合Java語句和JSP標(biāo)記形成的JSP文件(后綴為.jsp)减宣,其根本是一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)巾兆。使用JSP開發(fā)的web應(yīng)用是可以跨平臺(tái)應(yīng)用的,如windows萧豆,linux等胸蛛。
Java Servlet是JSP技術(shù)的基礎(chǔ),許多大型web應(yīng)用需要結(jié)合Java Servlet和JSP技術(shù)才能完成開發(fā)渠抹。JSP具有Java語言的易用性蝙昙,跨平臺(tái)性和完全的面向?qū)ο笮裕F(xiàn)廣泛使用在web應(yīng)用開發(fā)實(shí)踐中逼肯。關(guān)于Servlet與JSP以及Java三者關(guān)系的問題耸黑,我的理解是它們共同組成了經(jīng)典的MVC設(shè)計(jì)模式桃煎,JSP用于處理界面篮幢,Servlet用于處理各種業(yè)務(wù)邏輯,Java用于處理數(shù)據(jù)訪問为迈。
總的來說三椿,JSP是一種用于快速地用Java代碼生成網(wǎng)頁的技術(shù),它具有以下幾個(gè)特點(diǎn):
- 跨平臺(tái):JSP基于Java進(jìn)行開發(fā)葫辐,并在開發(fā)過程使用Java API搜锰,因此和Java語言一樣,JSP也是可以跨平臺(tái)應(yīng)用在不同的操作系統(tǒng)中耿战。
- 預(yù)編譯:作為一種既能提高服務(wù)器CPU使用率蛋叼,又能提升客戶端訪問速度的一種技術(shù),預(yù)編譯就是在用戶第一次訪問JSP頁面時(shí)服務(wù)器對其進(jìn)行編譯剂陡,并且將編譯好的代碼保存下來狈涮,在用戶下一次訪問時(shí),直接執(zhí)行編譯好的代碼鸭栖。
- 不同業(yè)務(wù)代碼相分離:在使用JSP技術(shù)開發(fā)Web應(yīng)用時(shí)歌馍,可以將界面的開發(fā)與應(yīng)用程序的開發(fā)分離開。HTML代碼負(fù)責(zé)生成界面晕鹊,JSP代碼負(fù)責(zé)處理業(yè)務(wù)邏輯并將其執(zhí)行結(jié)果返回到HTML頁面上松却。
- 組件重用:JSP可以通過編寫JavaBean類封裝業(yè)務(wù)處理代碼,在整個(gè)開發(fā)過程中都可以重復(fù)使用這個(gè)JavaBean類溅话。并且該JavaBean還可以在其他Java項(xiàng)目中使用晓锻。
JSP實(shí)現(xiàn)過程
- 客戶端發(fā)出JSP請求,涉及到HTTP協(xié)議飞几。
- web服務(wù)器將JSP轉(zhuǎn)換為相應(yīng)的Java文件砚哆,經(jīng)過編譯生成(.class)文件。在編譯過程中出現(xiàn)任何語法錯(cuò)誤循狰,向服務(wù)端和客戶端發(fā)送出錯(cuò)信息窟社。
- JSP編譯生成的class文件就是一個(gè)Servlet券勺,Servlet容器會(huì)像處理其他Servlet一樣來處理它。第二次訪問時(shí)灿里,直接使用生成的字節(jié)碼文件关炼。