4.JSP常見問題錦集
2008-06-03 瀏覽:10920次
1. 什么是 JSP 技術(shù)?
JavaServer Pages(JSP) 技術(shù)提供了一種簡單快速的方法來創(chuàng)建顯示動態(tài)生成內(nèi)容的 Web 頁面。由業(yè)界處于領(lǐng)先地位的 Sun 公司制定了相關(guān)的 JSP 技術(shù)規(guī)范,該規(guī)范定義了如何在服務(wù)器和 JSP 頁面間進(jìn)行交互,還描述了頁面的格式和語法。
2. JSP 技術(shù)的工作原理?
JSP 頁面使用 XML 標(biāo)簽和 scriptlets(一種使用 Java 語言編寫的腳本代碼),封裝了生成頁面內(nèi)容的邏輯。它將各種格式的標(biāo)簽(HTML 或者 XML)直接傳遞回響應(yīng)頁面。通過這種方式,JSP 頁面實現(xiàn)了頁面邏輯與其設(shè)計和顯示的分離。
JSP 技術(shù)是 Java 系列技術(shù)的一部分。JSP 頁面被編譯成 servlets,并可能調(diào)用 JavaBeans 組件(beans) 或 Enterprise JavaBeans 組件(企業(yè) beans),以便在服務(wù)器端處理。因此,JSP 技術(shù)在構(gòu)建可升級的基于 web 的應(yīng)用程序時扮演了重要角色。
JSP 頁面并不局限于任何特定的平臺或 web 服務(wù)器上。JSP 規(guī)范在業(yè)界有著廣泛的適應(yīng)性。
3. 什么是 servlet?
相對于瀏覽器上運行的 applets 而言,servlet 是在服務(wù)器上運行的,用 Java 語言編寫的程序。詳細(xì)信息可訪問 http://java.sun.com/products/servlet.
4. 我已經(jīng)采用了servlets,為何還需要 JSP 技術(shù)呢?
既然 JSP 頁面也要被編譯成 servlets,那么理論上,您可以直接寫 servlets 來支持您的基于 web 的應(yīng)用程序。然而,JSP 技術(shù)通過將頁面內(nèi)容和顯示邏輯分開,簡化了創(chuàng)建網(wǎng)頁的過程。在許多應(yīng)用程序中,需將模板內(nèi)容和動態(tài)生成的數(shù)據(jù)一塊發(fā)送到客戶端?;诖丝紤],使用 JSP 頁面技術(shù)將比全部用 servlets 來寫要方便得多。
從哪里可以獲得最新版本的JSP 規(guī)范?
5. JSP 規(guī)范與 Java 2 Platform, Enterprise Edition 的關(guān)系如何?
JSP 2.0 規(guī)范是 Java 2 Platform, Enterprise Edition 1.4 的重要組成部分。 在構(gòu)建基于 web 前端顯示的分布式企業(yè)應(yīng)用程序方面,JSP 和 EJB 技術(shù)的結(jié)合顯示出強大的力量。
6. 有哪些 web 服務(wù)器支持 JSP 技術(shù)?
7. Sun 公司是否提供對 JSP 規(guī)范的參考實現(xiàn)?
J2EE SDK 是 JavaTM 2 Platform, Enterprise Edition 的參考實現(xiàn)。Sun 在 J2EE SDK 中改裝并集成了 Tomcat JSP 和 Java Servlet 實現(xiàn)。在應(yīng)用程序部署和發(fā)布之前,可將J2EE SDK作為開發(fā)環(huán)境。
Tomcat 是免費和開放源代碼的 Java Servlet 和 JSP 技術(shù)的實現(xiàn),它由 Apache Software Foundation 的Jakarta 項目組開發(fā)??蓮?http://jakarta.apache.org 下載。Tomcat 的商業(yè)應(yīng)用需要有 Apache Software Foundation(ASF)的許可,并且可在 Apache 的網(wǎng)站上獲取二進(jìn)制和源代碼的版本。JSP 技術(shù)的實現(xiàn)是 J2EE SDK 的一部分。
8. JSP 技術(shù)與其他產(chǎn)品技術(shù)相比有什么不同?
JSP 技術(shù)是行業(yè)協(xié)作的結(jié)果,它的設(shè)計是開放的,符合行業(yè)標(biāo)準(zhǔn)的,并支持絕大多數(shù)的服務(wù)器、瀏覽器和相關(guān)工具。由于使用可重用的組件和標(biāo)簽取代了對頁面本身腳本語言的嚴(yán)重依賴,JSP 技術(shù)大大加快了開發(fā)的速度。所有 JSP 的實現(xiàn)均支持以 Java 編程語言為基礎(chǔ)的腳本語言,它有與生俱來的可適應(yīng)性,支持復(fù)雜的操作。
從那里可獲得關(guān)于 JSP 技術(shù)的更多信息?
獲得關(guān)于 JSP 技術(shù)信息的最佳地方是 http://java.sun.com/products/jsp/。這里有大量的資源,還有 JSP 相關(guān)技術(shù)主題的郵件列表和討論組等信息。
9. JSP 頁面是什么?
JSP 頁面是 web 開發(fā)人員使用 JSP 內(nèi)置標(biāo)簽和自定義標(biāo)簽,結(jié)合其他靜態(tài)標(biāo)簽(HTML 或 XML 標(biāo)簽)生成的頁面。JSP 頁面的擴(kuò)展名為 .jsp 或.jspx,web 服務(wù)器通過此擴(kuò)展名通知 JSP 引擎處理該頁面中的元素。通過部署描述文件 web.xml,也可使用其他擴(kuò)展名和 JSP 引擎聯(lián)系。
JSP 規(guī)范里描述了 JSP 頁面的確切格式。
10. JSP 頁面如何工作?
通過 JSP 引擎解釋 JSP 頁面中的標(biāo)簽,生成所需內(nèi)容。例如,調(diào)用一個 bean 來訪問一個使用JDBC API 的數(shù)據(jù)庫或者是包含一個文件。然后 JSP 引擎把返回的結(jié)果以 HTML(或XML)頁面的形式發(fā)送到瀏覽器。實質(zhì)上是把生成內(nèi)容的業(yè)務(wù)邏輯封裝在服務(wù)器端處理的標(biāo)簽和 beans 中。
11. JSP 技術(shù)需要使用其他 Java 平臺 API 嗎?
JSP 頁面通常被編譯成 Java 平臺 servlet 類。因此,JSP 頁面的運行需要有能支持 Java 平臺 servlet 規(guī)范的 Java 虛擬機。
12. JSP 頁面如何進(jìn)行調(diào)用和編譯?
JSP 頁面實際上只是在第一次被調(diào)用的時候被編譯一次。頁面被編譯成 Java Servlet 類 ,并駐留在服務(wù)器內(nèi)存中,這樣以后調(diào)用該頁面時將很快。
13. JSP 技術(shù)的語法是怎樣的?
有關(guān) JSP 的 語法和參考 可以到我們的網(wǎng)站上瀏覽和下載。
能否使用 JSP 技術(shù)來生成 XML 頁面?
當(dāng)然,JSP 規(guī)范支持 XML 文檔的創(chuàng)建。對于簡單的 XML 文檔生成,XML 標(biāo)簽將以靜態(tài)的部分包含在 JSP 頁面中。動態(tài)的 XML 生成則需要使用 bean 組件或者自定義標(biāo)簽來實現(xiàn)。參閱白皮書 Developing XML Solutions with JavaServer Pages Technology (PDF)可以獲得更多的細(xì)節(jié)。
14. 能否使用 XML 工具來生成和處理 JSP 頁面?
JSP 2.0 規(guī)范描述了 JSP 頁面和 XML 文檔之間的映射。通過該映射可以使用 XML 工具來生成和處理 JSP 頁面。
15. 在 JSP 頁面中怎樣使用 Javabeans 組件(bean)?
JSP 規(guī)范包括了標(biāo)準(zhǔn)的標(biāo)簽,用于使用和處理 bean。使用 useBean 標(biāo)簽生成一個特定 JavaBeans 的實例。如果這個類的實例已經(jīng)存在,則直接使用。否則,創(chuàng)建一個新的實例。setProperty 和 getProperty 標(biāo)簽允許您操作給定對象的屬性。這些標(biāo)簽在 JSP 規(guī)范和指南中有詳細(xì)描述。