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