十月7日

JSP技術

JSP起源

 

在很多動態網頁中,絕大部分內容都是固定不變的,只有局部內容需要動態產生和改變。
如果使用Servlet程序來輸出只有局部內容需要動態改變的網頁,其中所有的靜態內容也需要程序員用Java程序代碼產生,整個Servlet程序的代碼將非常臃腫,編寫和維護都將非常困難。 
對大量靜態內容的美工設計和相關HTML語句的編寫,並不是程序員所要做的工作,程序員對此也不一定在行。網頁美工設計和製作人員不懂Java編程,更是無法來完成這樣的工作。
爲了彌補Servlet的缺陷,SUN公司在Servlet的基礎上推出了JSP(Java Server Pages)技術作爲解決方案。
JSP是簡化Servlet編寫的一種技術,它將Java代碼和HTML語句混合在同一個文件中編寫,只對網頁中的要動態產生的內容採用Java代碼來編寫,而對固定不變的靜態內容採用普通靜態HTML頁面的方式編寫。

建立對JSP的直觀認識

JSP頁面是由HTML語句和嵌套在其中的Java代碼組成的一個普通文本文件,JSP 頁面的文件擴展名必須爲.jsp。
在JSP頁面中編寫的Java代碼需要嵌套在<%和%>中,嵌套在<%和%>之間的Java代碼被稱之爲腳本片段(Scriptlets),沒有嵌套在<%和%>之間的內容被稱之爲JSP的模版元素。
JSP中的Java代碼可以使用out.println語句將其他Java程序代碼產生的結果字符串輸出給客戶端,也可以使用System.out.println語句將它們打印到命令行窗口。
JSP文件就像普通的HTML文件一樣,它們可以放置在WEB應用程序中的除了WEB-INF及其子目錄外的其他任何目錄中,JSP頁面的訪問路徑與普通HTML頁面的訪問路徑形式也完全一樣。

JSP全稱是Java Server Pages,它和servle技術一樣,都是SUN公司定義的一種用於開發動態web資源的技術。

JSP這門技術的最大的特點在於,寫jsp就像在寫html,但它相比html而言,html只能爲用戶提供靜態內容,而Jsp技術允許在頁面中嵌套java代碼,爲用戶提供動態數據。

Jsp快速入門:在jsp頁面中輸出當前時間。

不管是JSP還是Servlet,雖然都可以用於開發動態web資源。但由於這2門技術各自的特點,在長期的軟件實踐中,人們逐漸把servlet作爲web應用中的控制器組件來使用,而把JSP技術作爲數據顯示模板來使用。

其原因爲,程序的數據通常要美化後再輸出:
讓jsp既用java代碼產生動態數據,又做美化會導致頁面難以維護。
讓servlet既產生數據,又在裏面嵌套html代碼美化數據,同樣也會導致程序可讀性差,難以維護。
因此最好的辦法就是根據這兩門技術的特點,讓它們各自負責各的,servlet只負責響應請求產生數據,並把數據通過轉發技術帶給jsp,數據的顯示jsp來做。

WEB容器(Servlet引擎)接收到以.jsp爲擴展名的URL的訪問請求時,它將把該訪問請求交給JSP引擎去處理。Tomcat中的JSP引擎就是一個Servlet程序,它負責解釋和執行JSP頁面。
每個JSP 頁面在第一次被訪問時,JSP引擎將它翻譯成一個Servlet源程序,接着再把這個Servlet源程序編譯成Servlet的class類文件,然後再由WEB容器(Servlet引擎)像調用普通Servlet程序一樣的方式來裝載和解釋執行這個由JSP頁面翻譯成的Servlet程序。
Tomcat 5.x把爲JSP頁面創建的Servlet源文件和class類文件放置在“<TOMCAT_HOME>\work\Catalina\<主機名>\<應用程序名>\”目錄中,Tomcat將JSP頁面翻譯成的Servlet的包名爲org.apache.jsp.<JSP頁面在WEB應用程序內的目錄名> 。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章