訂閱
糾錯
加入自媒體

Javaweb階段JSP實戰(zhàn)教程

JSP規(guī)范介紹

1.來自于JAVAEE規(guī)范中一種

2.JSP規(guī)范制定了如何開發(fā)JSP文件代替響應(yīng)對象將處理結(jié)果寫入到響應(yīng)體的開發(fā)流程

3.JSP規(guī)范制定了Http服務(wù)器應(yīng)該如何調(diào)用管理JSP文件

響應(yīng)對象存在弊端

1.適合將數(shù)據(jù)量較少的處理結(jié)果寫入到響應(yīng)體

2.如果處理結(jié)果數(shù)量過多,使用響應(yīng)對象增加開發(fā)難度

JSP文件優(yōu)勢

1.JSP文件在互聯(lián)網(wǎng)通信過程,是響應(yīng)對象替代品.

2.降低將處理結(jié)果寫入到響應(yīng)體的開發(fā)工作量降低處理結(jié)果維護難度

3.在JSP文件開發(fā)時,可以直接將處理結(jié)果寫入到JSP文件不需要手寫out.print命令,在Http服務(wù)器調(diào)用JSP文件時,根據(jù)JSP規(guī)范要求自動的將JSP文件書寫的所有內(nèi)容通過輸出流寫入到響應(yīng)體

HTML文件與JSP文件區(qū)別

作為資源文件類型不同:

1.HTML文件屬于靜態(tài)資源文件,其相關(guān)命令需要在瀏覽器編譯并執(zhí)行的.

2.JSP文件屬于動態(tài)資源文件,其相關(guān)命令需要在服務(wù)端編譯并執(zhí)行的

調(diào)用形式不同:

1.如果瀏覽器訪問HTML文件,此時Http服務(wù)器直接通過一個輸出流

2.將HTML文件中所有的內(nèi)容寫入到響應(yīng)體

3.如果瀏覽器訪問JSP文件。此時Http服務(wù)器根據(jù)JSP規(guī)范來操作JSP文件編輯-->編譯-->調(diào)用

JSP文件運算原理

1.Tomcat根據(jù)JSP規(guī)范,將被訪問的JSP文件[編輯]為一個java文件。這個Java文件是Servlet接口實現(xiàn)類

2.Tomcat根據(jù)JSP規(guī)范,調(diào)用JVM(javac one_jsp.java)將這個java文件[編譯]為class類型

3.Tomcat根據(jù)JSP規(guī)范負責(zé)生成這個class文件的實例對象。這個實例對象是一個Servelt接口實例對象

4.Tomcat根據(jù)JSP規(guī)范通過實例對象調(diào)用class文件中_jspService方法

5._jspService方法在運行時負責(zé)將JSP文件中書寫內(nèi)容寫入到響應(yīng)體中

HttpJspBase

Tomcat將JSP文件編輯后生成的Java文件,繼承與HttpJspBase。通過Apache官方文檔查看

其身份是HttpServlet的子類。所以Tomcat將JSP編輯為的文件為一個Servlet接口實現(xiàn)類

_jspService方法

作用:

當(dāng)一個JSP文件被訪問時,Tomcat調(diào)用的并不是當(dāng)前JSP文件。而是JSP文件對應(yīng)的Servlet接口實現(xiàn)類中_jspService方法。_jspService方法負責(zé)將開發(fā)人員在JSP文件書寫的所有內(nèi)容寫入到響應(yīng)體中

內(nèi)部結(jié)構(gòu):

1.判斷當(dāng)前請求方式。Jsp文件可以接收的請求方式有POST,GET,HEAD

2.聲明局部變量。這些局部變量都可以在JSP文件開發(fā)時直接使用

3.輸出部分。這部分執(zhí)行時將JSP文件內(nèi)容通過輸出流寫入到響應(yīng)體

在JSP文件中如何書寫Java命令

執(zhí)行標記:

1.命令格式

2.命令作用

通知Http服務(wù)器將JSP文件中Java命令與其他普通執(zhí)行結(jié)果進行區(qū)分

輸出標記:

1.命令格式

<%=j(luò)ava的變量名%>

<%=j(luò)ava的表達式%>

2.命令作用

通知Tomcat將輸出標記中【變量的值】或則輸出標記中【表達式運算結(jié)果】寫入到響應(yīng)體

如何將Servlet中doGet/doPost方法執(zhí)行結(jié)果交給JSP文件輸出

1.JSP文件被訪問時,并不是JSP文件在執(zhí)行。而是對應(yīng)的Servlet在執(zhí)行

2.自定義Serlvet接口實現(xiàn)類與JSP文件之間調(diào)用關(guān)系,等同于兩個Servlet之間調(diào)用關(guān)系

3.自定義Servelt接口實現(xiàn)類與JSP文件之間可以通過重定向方案或則請求轉(zhuǎn)發(fā)方案進行調(diào)用考慮到運行效率問題,一般采用【請求轉(zhuǎn)發(fā)】

4.自定義Servlet接口實現(xiàn)類可以通過請求作用域?qū)ο髮⒐蚕頂?shù)據(jù)交給JSP來輸出到響應(yīng)體


image.png

以上JSP相關(guān)視頻|資料私信或者評論獲取~~~


聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權(quán)或其他問題,請聯(lián)系舉報。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

    人工智能 獵頭職位 更多
    掃碼關(guān)注公眾號
    OFweek人工智能網(wǎng)
    獲取更多精彩內(nèi)容
    文章糾錯
    x
    *文字標題:
    *糾錯內(nèi)容:
    聯(lián)系郵箱:
    *驗 證 碼:

    粵公網(wǎng)安備 44030502002758號