jsp中的代碼重用技術(jsp中的代碼重用技術有哪些)

本文目錄一覽:

JSP應用開發的特點

JSP應用開發的特點

JSP技術使用Java編程語言編寫類XML的tags和scriptlets,來封裝產生動態網頁的處理邏輯。網頁還能通過tags和scriptlets訪問存在於服務端的資源的應用邏輯。JSP將網頁邏輯與網頁設計和顯示分離,支持可重用的基於組件的設計,使基於Web的應用程序的開發變得迅速和容易。下面來看本文作者的介紹吧!

隨著WWW(World Wide Web)的普及,動態網頁技術也急速發展。從原來的CGI(Common Gateway In-terface)到ASP(Active Server Page),都從某種程度上滿足了網頁開發人員對動態網頁開發技術的需求。但是不管是CGI還是ASP都存在一定的局限性,如CGI對伺服器資源的耗費,ASP只能同Microsoft IIS一起使用等,這些都限制了這些技術的使用範圍,極大地阻礙了它們的推廣。

廣大的頁面開發人員都熱切地盼望一種統一的頁面開發技術,該技術應該具有的特點:

①與操作平台無關,能夠在任何Web或應用程序伺服器上運行;

②將應用程序邏輯和頁面顯示分離;

③提供代碼重用,簡化開發基於Web的互動式應用程序的過程。

JSP(Java Server Page)技術就是被設計用來滿足這樣的要求的。JSP是由Sun MicroSystem公司於1999年6月推出的新的網頁開發技術,它是基於Java Serv-let以及整個Java體系的Web開發技術,是Servlet2.1API的擴展。利用這一技術,可以建立先進、安全和跨平台的動態網站。

Java是未來的主流開發技術,具有很多優勢。JSP則是Java在Internet/Intranet Web上的重要應用技術,得到了廣泛的`支持和承認,它可以和各種Java技術完好地結合在一起,從而實現非常複雜的應用。JSP應用開發的前景十分可觀。

作為一種基於文本的、以顯示為中心的開發技術,JSP提供了Java Servlet的所有好處。為了做到邏輯功能和顯示功能分開,JSP已經可以和JavaBeans、Enterprise JavaBeans(EJB)和Servlet一起工作。

JSP的開發人員可以通過使用JavaBeans、EJB和Servlet來完成大部分與網站邏輯相關的工作,而僅僅把顯示的工作交給JSP頁面來完成。內容和顯示邏輯分開的好處在於,更新頁面外觀的人員不必懂得Java代碼,而更新Java類的人員也不必是設計網頁的行家。這就可以用帶Java類的JSP頁面來定義Web模板,以建立一個具有相似外觀的頁面組成的網站。

Java類完成數據提供,在模板中就沒有Java代碼,這意味著這些模板可以由一個HTML編寫人員來維護。

JSP作為當前主流的網頁應用開發技術,具有如下特點。

1)將內容的生成和顯示進行分離:使用JSP技術,Web頁面開發人員可以使用HTML或者XML標識來設計和格式化最終的頁面。使用JSP標識或者小腳本來生成頁面上的動態內容(內容是根據請求來變化的)。生成內容的邏輯被封裝在標識和JavaBeans組件中,並且捆綁在小腳本中,所有的腳本在伺服器端運行。

如果核心邏輯被封裝在標識和JavaBeans中,那麼其他人,如Web管理人員和頁面設計者,能夠編輯和使用JSP頁面,而不影響內容的生成。

2)強調可重用的組件:絕大多數JSP頁面依賴於可重用的、跨平台的組件來完成應用程序所要求的更為複雜的處理。得益於Java的操作平台無關性,開發人員能夠很方便共享和交流執行普通操作的組件,或者使得這些組件為更多的使用者所使用。基於組件的方法加速了總體的開發過程,極大地提高了項目整體開發的效率。

雖然JSP功能強大,但是它要求網頁開發人員對Java要相當熟悉。而現在Java程序員還比較少,對一般的網頁開發人員來說,JSP的語法還是比較難於掌握的。

所以,就需要有一種網頁開發工具,為一般的網頁開發人員提供常用的JSP應用,讓只懂得一般頁面開發技術(HTML)的開發人員也能夠使用JSP的強大功能。

;

JSP技術有什麼特徵

1.2 JSP技術特徵

JSP技術所開發的Web應用程序是基於Java的,它擁有Java語言跨平台的特性,以及業務代碼分離、組件重用、基礎Java Servlet功能和預編譯等特徵。

1.2.1 跨平台

既然JSP是基於Java語言的,那麼它就可以使用Java API,所以它也是跨平台的,可以應用在不同的系統中,如Windows、Linux、Mac和Solaris等。這同時也拓寬了JSP可以使用的Web伺服器的範圍。另外,應用於不同操作系統的資料庫也可以為JSP服務,JSP使用JDBC技術操作資料庫,從而避免了代碼移植導致更換資料庫時的代碼修改問題。

正是因為跨平台的特性,使得採用JSP技術開發的項目可以不加修改地應用到任何不同的平台上,這也應驗了Java語言的”一次編寫,到處運行”的特點。

1.2.2 業務代碼分離

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

1.2.3 組件重用

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

1.2.4 繼承Java Servlet功能

Servlet是JSP出現之前的主要Java Web處理技術。它接受用戶請求,在Servlet類中編寫所有Java和HTML代碼,然後通過輸出流把結果頁面返回給瀏覽器。其缺點是:在類中編寫HTML代碼非常不便,也不利於閱讀。使用JSP技術之後,開發Web應用便變得相對簡單快捷多了,並且JSP最終要編譯成Servlet才能處理用戶請求,因此我們說JSP擁有Servlet的所有功能和特性。

1.2.5 預編譯

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

jsp的可重用性

看看是不是你需要的。

總的來講,JavaSever PagesTM(JSP)和

微軟的Active Sever

Pages(ASP)在技術方面有許多相似之處。兩者都是為基於WEB應用實現動態交互網頁製作提供的技術環境支持。同等程度上來講,兩者都能夠為程序開

發人員提供實現應用程序的編製與自帶組件設計網頁從邏輯上分離的技術。而且兩者都能夠替代CGI使與發展變的較為簡單與快捷。

儘管JavaSever Pages 技術和微軟的Active Sever Pages在許多方面都有相似的,但仍然存在很多不同之處,其中最本質上的區別在於:兩者是來源於不同的技術規範組織,其實現的基礎:WEB平台要求不相同。

一、JSP 技術:開放的技術

JSP和ASP技術明顯的不同點:開發人員在對兩者各自軟體體系設計的深入了解的方式不同。JSP技術基於平台和伺服器的互相獨立,輸入支持來自廣泛的,專門的,各種工具包,伺服器的組件和產品開發商所提供。相比之下,ASP技術主要依賴微軟的技術支持。

1、平台和伺服器的獨立性

JSP技術依附於一次寫入,之後,可以運行在任何具有符合JavaTM語法結構的環境。取而代之過去依附於單一平台或開發商,JSP技術能夠運行在任何WEB伺服器上並且支持來自多家開發商提供的各種各樣工具包。

於ASP是基於Activex控制項技術提供客戶端和伺服器端的開發組件,因此ASP技術基本上是局限於微軟的平台之上。ASP主要工作環境是微軟的IIS

應用程序結構,又因Activex對象具有平台特性,所以ASP技術不能很容易地實現在跨平台的WEB伺服器的工作。儘管ASP技術通過第三方提供的產品

能夠得到組件和服務實現跨平台的應用程序,但是Activex對象必須事先放置於所選擇的平台中。

2、開放的開發過程,開放的原代碼

SUN

應用JAVA社團性過程開發JSP技術。自從1995年,SUN已經用這種開放過程方法同國際JAVA組織合作開發和修改了JAVA技術與規範。針對

JSP的產品,SUN授權了工具提供商(如Macromedia),結盟公司(如Apache,Netscape),最終用戶,協作商及。最近,SUN將

最新版本的JSP和JavaTM Servlet(JSP 1.1,JAVA SERVLET

2.2)的原代碼發放給Apache,以求JSP與Apache緊密的相互發展。Apache,SUN和許多其他的公司及個人公開成立一個健壯的諮詢機構

以便任何公司和個人都能免費取得信息。

JSP應用程序界面(API)毫無疑問已經取得成功,並將隨JAVA組織不斷開放擴大繼續完善。相反,ASP技術僅依靠微軟本身的推動,其發展是建立在獨佔的,封閉的開發過程基礎之上。

ASP技術 JSP技術

WEB伺服器 微軟的IIS或個人WEB伺服器 任何WEB伺服器包括Apache,Netscape,和IIS 操作系統平台 微軟的視窗系統 絕大多數的流行平台,包括solaris操作系統,微軟的視窗系統,MAC OS,,及其他UNIX系列平台產品。

跨平台訪問 需要第三方ASP的引入產品 支持WEB信息機構環境中不同系列的計算機群即保證用戶在當前軟硬體及人力資源上的投資完全兼容,JSP技術提供靈活,開放選擇:可以使用各種各樣的工具提供商提供的工具,高度體現工業化標準輸入與配置

3、

從開發人員的角度來看:ASP和JSP技術都能使開發者實現通過點擊網頁中的組件製作互動式的,動態的內容和應用程序的WEB站點。ASP僅支持組件對象

模型COM,而JSP技術提供的組件都是基於JavabeansTM技術或JSP標籤庫。由此可以看出兩者雖有相同之處,但其區別是很明顯的。

1)JSP標籤可擴充性

管ASP和JSP都使用標籤與腳本技術來製作動態WEB網頁,JSP技術能夠使開發者擴展JSP標籤得以應用,JSP開發者能定製標籤庫,所以網頁製作者

充分利用與XML兼容的標籤技術強大的功能,大大減少對腳本語言的依賴。由於定製標籤技術,使網頁製作者降低了製作網頁和向多個網頁擴充關鍵功能的複雜程

度。

2)JSP跨平台的可重用性

JSP

的開發人員在開發過程中一直關注可重用性。JSP組件(企業JavabeansTM,Javabeans,或定製的JSP標籤)都是跨平台可重用的。企業

Javabeans組件可以訪問傳統的資料庫,並能以分散式系統模式工作於UNIX和WINDOWS平台。JSP技術的標籤可擴充功能為開發人員提供簡便

的,與XML兼容的介面即共享網頁的打包功能使其完全的工業標準化。

這種基於組件的

模式很有效提高應用程序的開發效率,因為這種模式能夠使開發人員利用快捷的子組件快速創建模板應用程序,然後再整合一些附加功能以後便可使用。象這樣有效

的方法在JSP中無處不在,並可將其打包成一個Javabean或一個工業標準化的Javabean組件。

jsp是什麼幹什麼的

JSP是由Sun Microsystems公司主導創建的一種動態網頁技術標準。

通常返回給客戶端的就是一個HTML文本,因此客戶端只要有瀏覽器就能瀏覽。JSP技術使用Java編程語言編寫類XML的tags和scriptlets,來封裝產生動態網頁的處理邏輯。

當有人請求JSP時,伺服器內部會經歷一次動態資源(JSP)到靜態資源(HTML)的轉化,伺服器會自動幫我們把JSP中的HTML片段和數據拼接成靜態資源響應給瀏覽器。也就是說JSP運行在伺服器端,但最終發給客戶端的都已經是轉換好的HTML靜態頁面(在響應體里)。伺服器並沒有把JSP文件發給瀏覽器。

擴展資料:

能以模板化的方式簡單、高效地添加動態網頁內容。可利用JavaBean和標籤庫技術復用常用的功能代碼。

標籤庫不僅帶有通用的內置標籤(JSTL),而且支持可擴展功能的自定義標籤。有良好的工具支持。繼承了Java語言的相對易用性。

參考資料來源:百度百科-JSP

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/309658.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2025-01-04 19:31
下一篇 2025-01-04 19:31

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python字元串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字元串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字元串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變數和數…

    編程 2025-04-29
  • Python 常用資料庫有哪些?

    在Python編程中,資料庫是不可或缺的一部分。隨著互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的資料庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • 倉庫管理系統代碼設計Python

    這篇文章將詳細探討如何設計一個基於Python的倉庫管理系統。 一、基本需求 在著手設計之前,我們首先需要確定倉庫管理系統的基本需求。 我們可以將需求分為以下幾個方面: 1、庫存管…

    編程 2025-04-29
  • Python通配符有哪些

    Python通配符是一種表示字元串中模糊匹配的有效工具,用於匹配與具有特定模式匹配的字元串。Python中主要的通配符有:*,?,[]和{}。 一、星號通配符 * 在Python中…

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Python實現簡易心形代碼

    在這個文章中,我們將會介紹如何用Python語言編寫一個非常簡單的代碼來生成一個心形圖案。我們將會從安裝Python開始介紹,逐步深入了解如何實現這一任務。 一、安裝Python …

    編程 2025-04-29
  • 怎麼寫不影響Python運行的長段代碼

    在Python編程的過程中,我們不可避免地需要編寫一些長段代碼,包括函數、類、複雜的控制語句等等。在編寫這些代碼時,我們需要考慮代碼可讀性、易用性以及對Python運行性能的影響。…

    編程 2025-04-29

發表回復

登錄後才能評論