JSP 簡析

1、JSP的概念html

這節課咱們的目標是要搞清楚什麼是JSP,他和HTML的靜態頁面有什麼區別呢?java

  • jsp是運行在服務器端的,它的實質是一個java文件,
  • 而html的靜態信息,全部內容都是發送到客戶端再運行的。

JSP全稱是Java 服務器頁面 (Java Server Page ) 以擴展名 .jsp 保存,是由SunMicrosystems公司倡導、許多公司參與一塊兒創建的一種動態技術標準。在傳統的網頁HTML文件(*.htm,*.html)中加入Java程序片斷(Scriptlet)和JSP標籤,就構成了JSP網頁java程序片斷能夠操縱數據庫、從新定向網頁以及發送E-mail等,實現創建動態網站所須要的功能。有效地控制動態內容生成,在Java Server Page裏面使用 Java 編程語言和類庫,而HTML 用於表示頁面,而 Java 代碼用於訪問動態內容。這樣大大下降了對客戶瀏覽器的要求,即便客戶瀏覽器端不支持Java,也能夠訪問JSP網頁。程序員

2、JSP的優勢web

一、平臺無關性。數據庫

它擁有Java語言跨平臺的特性,以及業務代碼分離、組件重用、基礎Java Servlet功能和預編譯等特徵。它也是跨平臺的,能夠應用在不一樣的系統中,如Windows、Linux、Mac和Solaris等。這同時也拓寬了JSP可使用的Web服務器的範圍。編程

二、將內容與表示分離。瀏覽器

採用JSP技術開發的項目,一般使用HTML語言來設計和格式化靜態頁面的內容,而使用JSP標籤和Java代碼片斷來實現動態部分。程序開發人員能夠將業務處理代碼所有放到JavaBean中,或者把業務處理代碼交給Servlet、Struts等其餘業務控制層來處理,從而實現業務代碼從視圖層分離。這樣JSP頁面只負責顯示數據便可,當須要修改業務代碼時,不會影響JSP頁面的代碼。tomcat

三、強調可重用組件。服務器

JSP中可使用JavaBean編寫業務組件,也就是使用一個JavaBean類封裝業務處理代碼或者做爲一個數據存儲模型,在JSP頁面甚至整個項目中均可以重複使用這個JavaBean。JavaBean也能夠應用到其餘Java應用程序中,包括桌面應用程序。jsp

簡化頁面開發-Web 設計人員和 Web 程序員使用 Web 開發工具開發 JSP 頁面

四、高速。

JSP會預編譯,就是在用戶第一次經過瀏覽器訪問JSP頁面時,服務器將對JSP頁面代碼進行編譯,而且僅執行一次編譯。編譯好的代碼將被保存,在用戶下一次訪問時,直接執行編譯好的代碼。這樣不只節約了服務器的CPU資源,還大大提高了客戶端的訪問速度。

3、JSP的執行過程

JSP全名爲Java Server Pages,它實現了Html語法中的java擴張(以 <%, %>形式),咱們能夠在jsp頁面中嵌入java代碼,以下面這段代碼得到服務器的當前時間,並打印

<body onload="getnow()">
    <%
        Date now = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日  HH:mm:ss");
        String nowstr = sdf.format(now);
        // System.out.println(nowstr);
        out.println("java:"+nowstr);
    %>
<br/>
</body>

在服務器端執行的。一般返回給客戶端的就是一個HTML文本,所以客戶端只要有瀏覽器就能瀏覽。Web服務器在遇到訪問JSP網頁的請求時,首先執行其中的程序段,而後將執行結果連同JSP文件中的HTML代碼一塊兒返回給客戶端。雖然JSP頁面不多進行數據處理,只是用來實現網頁的靜態化頁面,只是用來提取數據,不會進行業務處理。

爲何咱們能夠在jsp中嵌入java代碼呢?由於jsp在執行須要先轉譯成爲java代碼,而後在編譯成爲class文件,也就是jsp的實質就是一個java文件。以下圖所示:

 

 

 

查看tomcat目錄下的\work\Catalina\localhost目錄,你會發現全部的web項目都會在這裏有對應的目錄,打開其中一個項目一直打開進去,會發現每個jsp頁面在都會有其對應的java文件和編譯後的class文件。,這個文件有tomcat生成。

 

 

 

因此咱們在開發過程會發現jsp頁面在第一次訪問的時候速度會比較慢,由於須要轉譯和編譯兩個步驟,可是之後就會很是快,由於直接就訪問以及編譯好的class文件了。

相關文章
相關標籤/搜索