Javaweb階段JSP實(shí)戰(zhàn)教程
JSP規(guī)范介紹
1.來自于JAVAEE規(guī)范中一種
2.JSP規(guī)范制定了如何開發(fā)JSP文件代替響應(yīng)對(duì)象將處理結(jié)果寫入到響應(yīng)體的開發(fā)流程
3.JSP規(guī)范制定了Http服務(wù)器應(yīng)該如何調(diào)用管理JSP文件
響應(yīng)對(duì)象存在弊端
1.適合將數(shù)據(jù)量較少的處理結(jié)果寫入到響應(yīng)體
2.如果處理結(jié)果數(shù)量過多,使用響應(yīng)對(duì)象增加開發(fā)難度
JSP文件優(yōu)勢(shì)
1.JSP文件在互聯(lián)網(wǎng)通信過程,是響應(yīng)對(duì)象替代品.
2.降低將處理結(jié)果寫入到響應(yīng)體的開發(fā)工作量降低處理結(jié)果維護(hù)難度
3.在JSP文件開發(fā)時(shí),可以直接將處理結(jié)果寫入到JSP文件不需要手寫out.print命令,在Http服務(wù)器調(diào)用JSP文件時(shí),根據(jù)JSP規(guī)范要求自動(dòng)的將JSP文件書寫的所有內(nèi)容通過輸出流寫入到響應(yīng)體
HTML文件與JSP文件區(qū)別
作為資源文件類型不同:
1.HTML文件屬于靜態(tài)資源文件,其相關(guān)命令需要在瀏覽器編譯并執(zhí)行的.
2.JSP文件屬于動(dòng)態(tài)資源文件,其相關(guān)命令需要在服務(wù)端編譯并執(zhí)行的
調(diào)用形式不同:
1.如果瀏覽器訪問HTML文件,此時(shí)Http服務(wù)器直接通過一個(gè)輸出流
2.將HTML文件中所有的內(nèi)容寫入到響應(yīng)體
3.如果瀏覽器訪問JSP文件。此時(shí)Http服務(wù)器根據(jù)JSP規(guī)范來操作JSP文件編輯-->編譯-->調(diào)用
JSP文件運(yùn)算原理
1.Tomcat根據(jù)JSP規(guī)范,將被訪問的JSP文件[編輯]為一個(gè)java文件。這個(gè)Java文件是Servlet接口實(shí)現(xiàn)類
2.Tomcat根據(jù)JSP規(guī)范,調(diào)用JVM(javac one_jsp.java)將這個(gè)java文件[編譯]為class類型
3.Tomcat根據(jù)JSP規(guī)范負(fù)責(zé)生成這個(gè)class文件的實(shí)例對(duì)象。這個(gè)實(shí)例對(duì)象是一個(gè)Servelt接口實(shí)例對(duì)象
4.Tomcat根據(jù)JSP規(guī)范通過實(shí)例對(duì)象調(diào)用class文件中_jspService方法
5._jspService方法在運(yùn)行時(shí)負(fù)責(zé)將JSP文件中書寫內(nèi)容寫入到響應(yīng)體中
HttpJspBase
Tomcat將JSP文件編輯后生成的Java文件,繼承與HttpJspBase。通過Apache官方文檔查看
其身份是HttpServlet的子類。所以Tomcat將JSP編輯為的文件為一個(gè)Servlet接口實(shí)現(xiàn)類
_jspService方法
作用:
當(dāng)一個(gè)JSP文件被訪問時(shí),Tomcat調(diào)用的并不是當(dāng)前JSP文件。而是JSP文件對(duì)應(yīng)的Servlet接口實(shí)現(xiàn)類中_jspService方法。_jspService方法負(fù)責(zé)將開發(fā)人員在JSP文件書寫的所有內(nèi)容寫入到響應(yīng)體中
內(nèi)部結(jié)構(gòu):
1.判斷當(dāng)前請(qǐng)求方式。Jsp文件可以接收的請(qǐng)求方式有POST,GET,HEAD
2.聲明局部變量。這些局部變量都可以在JSP文件開發(fā)時(shí)直接使用
3.輸出部分。這部分執(zhí)行時(shí)將JSP文件內(nèi)容通過輸出流寫入到響應(yīng)體
在JSP文件中如何書寫Java命令
執(zhí)行標(biāo)記:
1.命令格式
2.命令作用
通知Http服務(wù)器將JSP文件中Java命令與其他普通執(zhí)行結(jié)果進(jìn)行區(qū)分
輸出標(biāo)記:
1.命令格式
<%=j(luò)ava的變量名%>
<%=j(luò)ava的表達(dá)式%>
2.命令作用
通知Tomcat將輸出標(biāo)記中【變量的值】或則輸出標(biāo)記中【表達(dá)式運(yùn)算結(jié)果】寫入到響應(yīng)體
如何將Servlet中doGet/doPost方法執(zhí)行結(jié)果交給JSP文件輸出
1.JSP文件被訪問時(shí),并不是JSP文件在執(zhí)行。而是對(duì)應(yīng)的Servlet在執(zhí)行
2.自定義Serlvet接口實(shí)現(xiàn)類與JSP文件之間調(diào)用關(guān)系,等同于兩個(gè)Servlet之間調(diào)用關(guān)系
3.自定義Servelt接口實(shí)現(xiàn)類與JSP文件之間可以通過重定向方案或則請(qǐng)求轉(zhuǎn)發(fā)方案進(jìn)行調(diào)用考慮到運(yùn)行效率問題,一般采用【請(qǐng)求轉(zhuǎn)發(fā)】
4.自定義Servlet接口實(shí)現(xiàn)類可以通過請(qǐng)求作用域?qū)ο髮⒐蚕頂?shù)據(jù)交給JSP來輸出到響應(yīng)體
以上JSP相關(guān)視頻|資料私信或者評(píng)論獲取~~~

發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
最新活動(dòng)更多
-
6月20日立即下載>> 【白皮書】精準(zhǔn)測(cè)量 安全高效——福祿克光伏行業(yè)解決方案
-
7月3日立即報(bào)名>> 【在線會(huì)議】英飛凌新一代智能照明方案賦能綠色建筑與工業(yè)互聯(lián)
-
7月22-29日立即報(bào)名>> 【線下論壇】第三屆安富利汽車生態(tài)圈峰會(huì)
-
7.30-8.1火熱報(bào)名中>> 全數(shù)會(huì)2025(第六屆)機(jī)器人及智能工廠展
-
7月31日免費(fèi)預(yù)約>> OFweek 2025具身機(jī)器人動(dòng)力電池技術(shù)應(yīng)用大會(huì)
-
免費(fèi)參會(huì)立即報(bào)名>> 7月30日- 8月1日 2025全數(shù)會(huì)工業(yè)芯片與傳感儀表展
推薦專題
- 1 AI 眼鏡讓百萬 APP「集體失業(yè)」?
- 2 大廠紛紛入局,百度、阿里、字節(jié)搶奪Agent話語(yǔ)權(quán)
- 3 深度報(bào)告|中國(guó)AI產(chǎn)業(yè)正在崛起成全球力量,市場(chǎng)潛力和關(guān)鍵挑戰(zhàn)有哪些?
- 4 上海跑出80億超級(jí)獨(dú)角獸:獲上市公司戰(zhàn)投,干人形機(jī)器人
- 5 國(guó)家數(shù)據(jù)局局長(zhǎng)劉烈宏調(diào)研格創(chuàng)東智
- 6 下一代入口之戰(zhàn):大廠為何紛紛押注智能體?
- 7 百億AI芯片訂單,瘋狂傾銷中東?
- 8 Robotaxi新消息密集釋放,量產(chǎn)元年誰在領(lǐng)跑?
- 9 格斗大賽出圈!人形機(jī)器人致命短板曝光:頭腦過于簡(jiǎn)單
- 10 “搶灘”家用機(jī)器人領(lǐng)域,聯(lián)通、海爾、美的等紛紛入局