JSP與SERVLET區別
- JSP在本質上就是Servlet,但是兩者的創建方式不一樣。
- JSP由HTML代碼和JSP標簽構成,可以方便地編寫動態網頁。因此在實際應用中采用Servlet來控制業務流程,而采用JSP來生成動態網頁。在struts框架中,JSP位於MVC設計模式的視圖層,而Servlet位於控制層。
- Servlet完全是JAVA程序代碼構成,擅長於流程控制和事務處理,通過Servlet來生成動態網頁很不直觀。
- JSP是Servlet技術的擴展,本質上就是Servlet的簡易方式。JSP編譯后是“類servlet”。
- Servlet和JSP最主要的不同點在於,Servlet的應用邏輯是在Java文件中,並且完全從表示層中的HTML里分離開來。而JSP是Java和HTML組合成一個擴展名為.jsp的文件。JSP側重於視圖,Servlet主要用於控制邏輯。
瀏覽器頁面與tomcat的交互過程?
當一個JSP頁面第一次被訪問的時候,JSP引擎將執行以下步驟:
- 將JSP頁面翻譯成一個Servlet,這個Servlet是一個java文件,同時也是一個完整的java程序;
- JSP引擎調用java編譯器對這個Servlet進行編譯,得到可執行文件class;
- JSP引擎調用java虛擬機來解釋執行class文件,生成向客戶端發送的應答,然后發送給客戶端。
以上三個步驟僅僅在JSP頁面第一次被訪問時才會執行,以后的訪問速度會因為class文件已經生成而大大提高。當JSP引擎接到一個客戶端的訪問請求時,首先判斷請求的JSP頁面是否比對應的Servlet新,如果新,對應的JSP需要重新編譯。