JAVAServer Pages(JSP) 是一種服務(wù)器端編程技術(shù),能夠?yàn)闃?gòu)建基于 Web 的應(yīng)用程序創(chuàng)建動態(tài)的獨(dú)立于平臺的方法。JSP 可以訪問 Java API 的整個家族,包括訪問企業(yè)級數(shù)據(jù)庫的 JDBC API。
本文章幫助初學(xué)者們了解 JavaServer Pages(JSP) 的基本功能,從而開發(fā)自己的 Web 應(yīng)用程序。學(xué)習(xí)后你會發(fā)現(xiàn)自己處于一個使用 JSP 專業(yè)知識的中等水平,之后你可以達(dá)到更高的水平。
搭配視頻觀看效果更佳~~
Jsp入門到精通
https://www.ixigua.com/6772333813507817987
什么是JSP?
JSP全稱Java Server Pages,是一種動態(tài)網(wǎng)頁開發(fā)技術(shù)。它使用JSP標(biāo)簽在html網(wǎng)頁中插入Java代碼。標(biāo)簽通常以<%開頭以%>結(jié)束。
JSP是一種Java servlet,主要用于實(shí)現(xiàn)Java web應(yīng)用程序的用戶界面部分。網(wǎng)頁開發(fā)者們通過結(jié)合HTML代碼、XHTML代碼、XML元素以及嵌入JSP操作和命令來編寫JSP。
JSP通過網(wǎng)頁表單獲取用戶輸入數(shù)據(jù)、訪問數(shù)據(jù)庫及其他數(shù)據(jù)源,然后動態(tài)地創(chuàng)建網(wǎng)頁。
JSP標(biāo)簽有多種功能,比如訪問數(shù)據(jù)庫、記錄用戶選擇信息、訪問JavaBeans組件等,還可以在不同的網(wǎng)頁中傳遞控制信息和共享信息。
JSP特點(diǎn)
● 能以模板化的方式簡單、高效地添加動態(tài)網(wǎng)頁內(nèi)容。
● 可利用JavaBean和標(biāo)簽庫技術(shù)復(fù)用常用的功能代碼(設(shè)計(jì)好的組件容易實(shí)現(xiàn)重復(fù)利用,減少重復(fù)勞動)。標(biāo)簽庫不僅帶有通用的內(nèi)置標(biāo)簽(JSTL),而且支持可擴(kuò)展功能的自定義標(biāo)簽。
●有良好的工具支持。
● 繼承了Java語言的相對易用性。
● 繼承了Java的跨平臺優(yōu)勢,實(shí)現(xiàn)“一次編寫,處處運(yùn)行”。因?yàn)橹С諮ava及其相關(guān)技術(shù)的開發(fā)平臺多,網(wǎng)站開發(fā)人員可以選擇在最適合自己的系統(tǒng)平臺上進(jìn)行JSP開發(fā);不同環(huán)境下開發(fā)的JSP項(xiàng)目,在所有客戶端上都能順利訪問。
● 頁面中的動(控制變動內(nèi)容的部分)/靜(內(nèi)容不需變動的部分)區(qū)域以分散但又有序的形式組合在一起,能使人更直觀地看出頁面代碼的整體結(jié)構(gòu),也使得設(shè)計(jì)頁面效果和程序邏輯這2部分工作容易分離(外觀視圖與邏輯分離)。從而方便分配人員并發(fā)揮各自長處,實(shí)現(xiàn)高效地分工合作。
● 可與其它企業(yè)級Java技術(shù)相互配合。JSP可以只專門負(fù)責(zé)頁面中的數(shù)據(jù)呈現(xiàn),實(shí)現(xiàn)分層開發(fā)。
JSP規(guī)范
一、介紹:
1.JSP是sun公司提供一個規(guī)范
2.JSP規(guī)范用于封裝響應(yīng)對象簡化將Servlet處理結(jié)果寫入到響應(yīng)體開發(fā)難度
二、響應(yīng)對象使用時(shí)問題
1.手動設(shè)置響應(yīng)頭content-type
2.手動索要一個輸出流對象
3.手動將結(jié)果寫入到響應(yīng)體
三、JSP優(yōu)勢
開發(fā)人員你只需考慮哪些內(nèi)容需要寫入到響應(yīng)體不需要考慮寫入到響應(yīng)包中過程
jsp文件"運(yùn)行時(shí)"自動將文件內(nèi)部所有與Java命令無關(guān)()的內(nèi)容自動寫入到響應(yīng)體
四、jsp文件中java命令書寫規(guī)范
1.執(zhí)行標(biāo)簽
1) 格式: :
<%
java命令行;
%>
2) 作用:用于提示JSP文件在運(yùn)行時(shí)不要將執(zhí)行標(biāo)簽中Java命令寫入到響應(yīng)體通知JSP文件在運(yùn)行時(shí)需要將執(zhí)行標(biāo)簽中內(nèi)容執(zhí)行完畢后再做輸出
3) java命令行:
- 聲明變量
- 聲明運(yùn)算表達(dá)式[數(shù)學(xué),關(guān)系運(yùn)算,邏輯運(yùn)算]
- 聲明控制語句和循環(huán)語句
2.輸出標(biāo)簽
1) 格式::
<%=變量名%>
<%=運(yùn)算表達(dá)式%>
2) 作用:
在jsp文件運(yùn)行時(shí),通知JSP將指定變量內(nèi)容或則表達(dá)式結(jié)果寫入到響應(yīng)體
五、jsp文件中內(nèi)置對象---九
1.ServletContext Application
2. HttpSession session
3.HttpServletRequest request
六、Servlet與jsp文件之間關(guān)系
1.Servlet: 接收請求并處理請求,但是Servlet不負(fù)責(zé)將處理結(jié)果返回
-----相當(dāng)于"大廚"
2.JSP:不負(fù)責(zé)處理請求,負(fù)責(zé)將Servlet生成的處理結(jié)果寫入到響應(yīng)體
-----相當(dāng)于"傳菜員"
3.Servlet與jsp之間調(diào)用關(guān)系
請求轉(zhuǎn)發(fā)
瀏覽器------>Servlet(處理請求)----------->jsp--->處理結(jié)果寫入到響應(yīng)體
4.Servlet與jsp之間如何共享數(shù)據(jù)借助于request
七、JSP運(yùn)行原理【面試必考題】
1.JSP文件不是靜態(tài)資源文件也不是動態(tài)資源文件
2.JSP文件不能被編譯不能被調(diào)用執(zhí)行
3.運(yùn)行原理:
1)Tomcat接收到調(diào)用jsp文件(one.jsp)請求時(shí),tomcat將被訪問jsp【編輯】為java文件(one_jsp.java)
2)tomcat調(diào)用JVM將java文件【編譯】為class文件(one_jsp.class)
3) 這個class文件是一個Servlet接口實(shí)現(xiàn)類
4)tomcat通過反射機(jī)制生成這個class文件的實(shí)例對象
5)tomcat通過實(shí)例對象調(diào)用_jspService方法,這個方法在運(yùn)行時(shí)負(fù)責(zé)通過輸出流將jsp文件內(nèi)容寫入到響應(yīng)體