Java遇見HTML——JSP篇之JSP基礎語法


一、JSP簡介

JSP全名為Java Server Pages,Java服務器端頁面,其根本是一個簡化的Servlet設計,它實現了在Java中使用HTML標簽。Jsp是一種動態網頁技術標准,是在服務器端執行的

它使用JSP標簽在HTML網頁中插入Java代碼。標簽通常以<%開頭以%>結束。

JSP是一種Java servlet,主要用於實現Java web應用程序的用戶界面部分。網頁開發者們通過結合HTML代碼、XHTML代碼、XML元素以及嵌入JSP操作和命令來編寫JSP。

JSP通過網頁表單獲取用戶輸入數據、訪問數據庫及其他數據源,然后動態地創建網頁。

JSP標簽有多種功能,比如訪問數據庫、記錄用戶選擇信息、訪問JavaBeans組件等,還可以在不同的網頁中傳遞控制信息和共享信息。

# 為什么使用JSP?

首先先了解CGI(Common Gateway Interface,通用網關接口),是一種重要的互聯網技術,可以讓一個客戶端,從網頁瀏覽器向執行在網絡服務器上的程序請求數據。CGI描述了服務器和請求處理程序之間傳輸數據的一種標准。

CGI是外部應用程序(CGI程序)與Web服務器之間的接口標准,是在CGI程序和Web服務器之間傳遞信息的過程。CGI規范允許Web服務器執行外部程序,並將它們的輸出發送給Web瀏覽器,CGI將Web的一組簡單的靜態超媒體文檔變成一個完整的新的交互式媒體。

JSP程序與CGI程序有着相似的功能,但和CGI程序相比,JSP程序有如下優勢:

  • 性能更加優越,因為JSP可以直接在HTML網頁中動態嵌入元素而不需要單獨引用CGI文件。
  • 服務器調用的是已經編譯好的JSP文件,而不像CGI/Perl那樣必須先載入解釋器和目標腳本。
  • JSP基於Java Servlets API,因此,JSP擁有各種強大的企業級Java API,包括JDBC,JNDI,EJB,JAXP等等。
  • JSP頁面可以與處理業務邏輯的servlets一起使用,這種模式被Java servlet 模板引擎所支持。

最后,JSP是Java EE不可或缺的一部分,是一個完整的企業級應用平台。這意味着JSP可以用最簡單的方式來實現最復雜的應用。

# JSP的優勢

以下列出了使用JSP帶來的其他好處:

  • 與ASP相比:JSP有兩大優勢。首先,動態部分用Java編寫,而不是VB或其他MS專用語言,所以更加強大與易用。第二點就是JSP易於移植到非MS平台上。
  • 與純 Servlets相比:JSP可以很方便的編寫或者修改HTML網頁而不用去面對大量的println語句。
  • 與SSI相比:SSI無法使用表單數據、無法進行數據庫鏈接。
  • 與JavaScript相比:雖然JavaScript可以在客戶端動態生成HTML,但是很難與服務器交互,因此不能提供復雜的服務,比如訪問數據庫和圖像處理等等。
  • 與靜態HTML相比:靜態HTML不包含動態信息。

# JSP總覽圖

二、常用動態網站開發技術

常見動態網站開發技術對比:

JavaEE比較適用於以下開發:

三、JSP頁面元素構成

 3.1、JSP指令

JSP的三大指令元素:

  • page指令語法:

如:

注意:pageEncoding是jsp文件本身的編碼,contType的charset是指服務器發給客戶端的內容編碼。contType更常用。 

 3.2、JSP注釋

在JSP頁面的注釋。

可以在JSP頁面使用三種注釋:

如:

 3.3、JSP腳本

在JSP頁面中執行的Java代碼。

寫在這一對標簽的所有語句都可以認為是JSP腳本。

 3.4、JSP聲明

在JSP頁面中定義變量或者方法。

如:

 3.5、JSP表達式

在JSP頁面中執行的表達式。

如:通過表達式調用上面聲明的函數或變量。

運行結果:

四、JSP頁面的生命周期

JSP頁面的生命周期是用戶發出對jsp頁面的訪問,如果是第一次訪問,jsp引擎就會將jsp文件生成為一個servlet,生成字節碼文件執行jspInit(),注意這個方法只在生成字節碼文件時會被使用,即在一個生命周期中只執行一次,然后對於不是第一次訪問jsp頁面時,直接返回字節碼文件。

具體說明:

注意:

1、生成字節碼文件,執行jspInit()只在第一次請求時執行,重復請求僅只執行一次。生成的文件在work里,【每次修改會重新編譯,生成新的字節碼文件】
2、jspService()用於處理用戶請求,對於每一個請求,JSP引擎會創建一個新的線程來處理該請求【JSP多線程:降低資源需求,提高系統並發量及響應時間,但注意同步問題】。
3、由於該Servlet常駐於內存里,所以響應速度非常快。

Ps:當用戶第一次請求一個jsp頁面時,首先被執行的方法是構造方法。

五、階段項目

表達式方式實現:

腳本方式實現:

注:out對象是JspWriter類的實例,用於向客戶端輸出內容


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM