13 JSP原理剖析

1 什麼是JSP

新建一個JSPTest類實現HttpJspPage,重寫對應的方法
可以發現 HttpJspPage 繼承JspPage , JspPage 繼承了Servlet
結論:JSP封裝了Servlet,本質還是一個Servlet在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

2 JSP是如何被Tomcat執行的

準備工作:創建一個Maven工程的web項目,那麼默認首頁就是index.jsp
啓動Tomcat,瀏覽器顯示Hello World
我們知道Tomcat只解析Java代碼,那麼我們猜想這些代碼一定是被轉換成了Java代碼,不信往下看

<html>
<body>
<h2>Hello World!</h2>

<%
    String name = "duowei";
%>

name <%=name%>

</body>
</html>

我們去Idea系統目錄看一下,在Tomcat執行JSP的時候究竟做了些什麼?

在這裏插入圖片描述
在這裏插入圖片描述
我們看到了index_jsp.java 和 index_jsp.class 兩個文件
在這裏插入圖片描述
打開Java我們發現我們熟悉的 Init 、 destory 、service
在這裏插入圖片描述
繼續往下走,我們發現這些HTML標籤被套上了Servlet的輸出打印方法(渲染),那麼如果沒有JSP,我們要想輸出HTML,也要這麼麻煩的寫 out.write()
在這裏插入圖片描述

3 總結

閱讀上面內容,我們大致瞭解了,JSP就是Servlet的封裝,Tomcat會幫助你生成Java類文件和Class文件

  • 用戶請求JSP頁面
  • Tomcat將JSP頁面轉化成Java文件
  • Tomcat再將Java文件編譯成class文件
  • 最後Tomcat解析class文件
  • 解析的結果打包成response
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章