程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> Servlets和JSP Pages最佳實踐

Servlets和JSP Pages最佳實踐

編輯:關於JSP

Java Servlet技術與jsp(SUN企業級應用的首選)技術使Java服務器端技術,目前他們控制了整個服務器端Java技術市場,並且逐漸成為構建商業Web應用的標准。Java開發者喜歡這些技術是由於很多的原因,包括:這些技術很容易學習,一次編寫,處處運行(Write Once, Run Anywhere)。更重要的是,如果更高效地采用了下面的實踐,Servlet與jsp(SUN企業級應用的首選)能夠幫助分開Web的表示與內容。“最佳實踐”是被證明為開發高質量、可重用與易維護的基於Servlet和jsp(SUN企業級應用的首選)的Web應用的較好方法。與此相對應的是,將Java代碼混合在HTML中,這樣很容易產生低效率、不易重用、難於維護的復雜應用程序。最佳實踐將改變這些弊端。

本文將描述為Servlets與jsp(SUN企業級應用的首選)准備的最佳實踐的重要性;這裡假設讀者已經了解兩者的基本工作原理。這篇文章將涵蓋以下內容:

  • 簡要介紹Java Servlet與JavaServer Pages (jsp(SUN企業級應用的首選))。
  • 為開發Servlets 與jsp(SUN企業級應用的首選)提供一些提示,技巧與規則。
  • 為Servlet與jsp(SUN企業級應用的首選)提供最佳實踐。

Servlet和jsp(SUN企業級應用的首選) Pages概述

類似於通用網關接口(CGI)腳本,servlets支持請求響應編程模式。當客戶端給服務器發送請求時,服務器將請求發送給servlet。然後,servlet構建一個響應,服務器將該響應發送回客戶端。然而,跟CGI腳本不同的是,servlets和HTTP服務器運行在同一個進程內。

當發出客戶端請求的時候,調用service 方法並傳遞一個請求和響應對象。Servlet首先判斷該請求是GET 操作還是POST 操作。然後它調用下面的一個方法:doGet 或 doPost。如果請求是GET就調用doGet方法,如果請求是POST就調用doPost方法。doGet和doPost都接受請求(HttpServletRequest)和響應(HttpServletResponse)。

最簡單地說,servlets是能夠使用print語句產生動態HTML內容的Java類。然而,有一點必須要提一下,那就是servlets是在一個容器內運行的,並且APIs 提供了對會話和對象的生命周期的管理。因此,當你使用servlets時,你就能獲得Java平台的所有優勢,它包括沙箱 (安全)、通過JDBC的數據庫存取API和具有跨平台可移植性的servlets。

Java Server Pages (jsp(SUN企業級應用的首選))

jsp(SUN企業級應用的首選)技術是Servlet技術的一個較高層次的抽象。它是Sun公司開發、開放的技術,是與Microsoft公司的ASP動態網頁技術相似的一種技術,並且它是Java2 企業版(J2EE)的一個關鍵組件。目前,很多商業的應用服務器(例如BEA WebLogic, IBM WebSphere, Live JRun, Orion等等)都支持jsp(SUN企業級應用的首選)
 

jsp(SUN企業級應用的首選)頁面如何工作?

jsp(SUN企業級應用的首選)頁面實際上是一個帶有傳統HTML和Java代碼的Web頁面。jsp(SUN企業級應用的首選)頁面的文件擴展名是.jsp(SUN企業級應用的首選)而並不是.html或.htm,該擴展名告訴服務器該頁面需要特殊的處理,該特殊處理必須由服務器擴展或插件實現。

當一個jsp(SUN企業級應用的首選)頁面被讀取時,他首先將被編譯(jsp(SUN企業級應用的首選)引擎來做這件事情)為一個Servlet。 這時候這個Servlet就像其他Servlet一樣被交給Servlet引擎來處理。然後Servlet引擎讀取那個Servlet對應的類(用ClassLoader)並且執行它,產生一個動態HTML頁面(圖1)。這個Servlet創建一些必需的元件,然後將這些元件作為一個字符串寫入輸出流(OutputStream),並顯示在浏覽器中。
調用jsp(SUN企業級應用的首選)頁面時,首先會將它編譯成一個 (通過jsp(SUN企業級應用的首選)引擎) Java servlet。這時,servlet引擎處理該servlet,就像處理任何其他servlet一樣。然後,servlet引擎加載servlet類 (使用類加載器) 並執行它創建動態HTML發送給浏覽器,如圖1所示。Servlet創建所有必需的對象,並將所有對象作為字符串寫入到輸出流中,並在浏覽器中顯示。


1: 調用一個jsp(SUN企業級應用的首選)頁面的請求/響應流程圖

下次請求該頁面的時候,jsp(SUN企業級應用的首選)引擎執行早就裝載的servlet除非jsp(SUN企業級應用的首選)頁面早就更改,在這種情況下,會將它自動重新編譯進一個servlet中並執行。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved