php和jsp三大動態網頁技術,用php和html寫動態網頁

本文目錄一覽:

在程序中PHP,JSP,ASP分別是什麼,有什麼用

php,jsp和asp分別是3種不同的腳本語言

腳本語言,腳本語言或擴建的語言,又叫動態語言。是一種編程語言控制軟件應用程序。腳本通常以文本(如ASCII)保存,只在被調用時進行解釋或編譯

ASP是Active Server Page的縮寫,意為“動態服務器頁面”。ASP是微軟公司開發的代替CGI腳本程序的一種應用,它可以與數據庫和其它程序進行交互,是一種簡單、方便的編程工具。ASP的網頁文件的格式是。asp,現在常用於各種動態網站中。另外阿斯匹林、天門冬氨酸、阿里軟件銷售合作夥伴、美國武裝系統暨程序公司等的縮寫也都為ASP。

PHP,是英文超級文本預處理語言Hypertext Preprocessor的縮寫。PHP 是一種 HTML 內嵌式的語言,是一種在服務器端執行的嵌入HTML文檔的腳本語言,語言的風格有類似於C語言,被廣泛的運用。

JSP(Java Server Pages)是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態網頁技術標準。JSP技術有點類似ASP技術,它是在傳統的網頁HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標記(tag),從而形成JSP文件(*.jsp)。 用JSP開發的Web應用是跨平台的,既能在Linux下運行,也能在其他操作系統上運行。

但是,到目前為止,微軟已經停止對asp的更新了

一般,做中小型網站都用的php, 製作大型網站一般用jsp

希望對樓主有用

動態網頁的常用的4種動態網頁技術

1、PHP 即Hypertext Preprocessor(超文本預處理器),它是當今Internet上最為火熱的腳本語言,其語法借鑒了C、Java、PERL等語言,但只需要很少的編程知識你就能使用PHP建立一個真正交互的Web站點。

它與HTML語言具有非常好的兼容性,使用者可以直接在腳本代碼中加入HTML標籤,或者在HTML標籤中加入腳本代碼從而更好地實現頁面控制。PHP提供了標準的數據庫接口,數據庫連接方便,兼容性強;擴展性強;可以進行面向對象編程。

2、ASP 即Active Server Pages(活躍服務器頁),它是微軟開發的一種類似超文本標識語言(HTML)、腳本(Script)與CGI(公用網關接口)的結合體,它沒有提供自己專門的編程語言,而是允許用戶使用許多已有的腳本語言編寫ASP的應用程序。ASP的程序編製比HTML更方便且更有靈活性。它是在Web服務器端運行,運行後再將運行結果以HTML格式傳送至客戶端的瀏覽器。因此ASP與一般的腳本語言相比,要安全得多。

ASP的最大好處是可以包含HTML標籤,也可以直接存取數據庫及使用無限擴充的ActiveX控件,因此在程序編製上要比HTML方便而且更富有靈活性。通過使用ASP的組件和對象技術,用戶可以直接使用ActiveX控件,調用對象方法和屬性,以簡單的方式實現強大的交互功能。

但ASP技術也非完美無缺,由於它基本上是局限於微軟的操作系統平台之上,主要工作環境是微軟的IIS應用程序結構,又因ActiveX對象具有平台特性,所以ASP技術不能很容易地實現在跨平台Web服務器上工作。

aspx是微軟的在服務器端運行的動態網頁文件,通過IIS解析執行後可以得到動態頁面,是微軟推出的一種新的網絡編程方法,而不是asp的簡單升級,因為它的編程方法和asp有很大的不同,他是在服務器端靠服務器編譯執行的程序代碼, ASP 使用腳本語言,每次請求的時候,服務器調用腳本解析引擎來解析執行其中的程序代碼,而asp.net 則可以使用多種語言編寫,而且是全編譯執行的,比ASP 快,而且,不僅僅是快的問題,有很多優點。

3、JSP 即Java Server Pages(爪哇服務器頁面),它是由Sun Microsystem公司於1999年6月推出的新技術,是基於Java Servlet以及整個Java(爪哇)體系的Web開發技術。

JSP和ASP在技術方面有許多相似之處,不過兩者來源於不同的技術規範組織,以至 ASP一般只應用於Windows NT/2000平台,而JSP則可以在85%以上的服務器上運行,而且基於JSP技術的應用程序比基於ASP的應用程序易於維護和管理,所以被許多人認為是未來最有發展前途的動態網站技術。

4、CGI(Common Gateway Interface,公用網關接口)是較早用來建立動態網頁的技術。當客戶端向Web服務器上指定的CGI程序發出請求時,Web服務器會啟動一個新的進程執行某些CGI程序,程序執行後將結果以網頁的形式再發送回客戶端。CGI的優點是它可以用很多語言編寫,如 C 、C++ 、VB和Perl語言。在語言的選擇上有很大的靈活性。最常用的CGI開發語言為Perl。

對Servlet技術與CGI、ASP、PHP、JSP等動態網頁技術進行具體的比較。

CGI與JSP最明顯的區別就是:

CGI是一個進程處理一個請求的。如果有10個人在線,那麼就得開10個進程。

php、asp、jsp都是一個進程處理多個請求的,無論多少人在線,都只有一個進程。

與傳統的CGI方式相比:

a. 後台實現邏輯是基於Java Component的,具有跨平台的特點

b. 將應用邏輯與頁面表現分離,使得應用邏輯能夠最大程度得到復用,從而提高開發效率

c. 運行比CGI方式高,尤其對於數據庫訪問時,提供了連接池緩衝機制,使運行所需資源最小

d. 安全,由於後台是完全基於Java技術的,安全性由Java的安全機制予以保障

e. 由於與ASP很近似,不需要太多的編程知識就可以動手編寫JSP

f. 內置支持XML,使用XML從而使頁面具有更強的表現力和減少編程工作量

下面講的比較詳細:分別將JSP、ASP、PHP兩兩比較。

與Asp和php的比較:

目前,最常用的三種動態網頁語言有ASP(Active Server Pages),JSP(Java Server Pges),PHP (Hypertext Preprocessor)。

ASP全名Active Server Pages,是一個WEB服務器端的開發環境,利用它可以產生和運行動態的、交互的、高性能的WEB服務應用程序。ASP採用腳本語言VB Script(Java script)作為自己的開發語言。

PHP是一種跨平台的服務器端的嵌入式腳本語言. 它大量地借用C,Java和Perl語言的語法, 並耦合PHP自己的特性,使WEB開發者能夠快速地寫出動態生成頁面.它支持目前絕多數數據庫。還有一點,PHP是完全免費的,不用花錢,你可以從PHP官方站點()自由下載。而且你可以不受限制地獲得源碼,甚至可以從中加進你自己需要的特色。

JSP 是Sun公司推出的新一代站點開發語言,他完全解決了目前ASP,PHP的一個通病--腳本級執行(據說PHP4 也已經在Zend 的支持下,實現編譯運行).Sun 公司藉助自己在Java 上的不凡造詣,將Java 從Java 應用程序 和 Java Applet 之外,又有新的碩果,就是Jsp--Java Server Page。Jsp 可以在Serverlet和JavaBean的支持下,完成功能強大的站點程序。

三者都提供在 HTML 代碼中混合某種程序代碼、由語言引擎解釋執行程序代碼的能力。但JSP代碼被編譯成 Servlet 並由 Java 虛擬機解釋執行,這種編譯操作僅在對 JSP頁面的第一次請求時發生。在 ASP 、PHP、JSP 環境下, HTML 代碼主要負責描述信息的顯示樣式,而程序代碼則用來描述處理邏輯。普通的 HTML 頁面只依賴於 Web 服務器,而 ASP 、PHP、JSP 頁面需要附加的語言引擎分析和執行程序代碼。程序代碼的執行結果被重新嵌入到 HTML 代碼中,然後一起發送給瀏覽器。 ASP 、PHP、 JSP三者都是面向 Web 服務器的技術,客戶端瀏覽器不需要任何附加的軟件支持。

JSP vs ASP

JSP跨平台,而且支持Apache, Netscape, IIS,IBM Http Server在內的所有主流Web Server (市場份額在85%以上),而ASP目前只支持NT+IIS(市場份額在20%左右);提供了更好的安全機制,這對於e-business這樣的應用來說是至關重要的; JSP可以跨操作系統、Web Server和應用服務器,而ASP只限於NT+IIS;

JSP是一個開放的標準,得到了Oracle, Netscape, IBM WebLogic, Inprise等的支持;JSP的組件編寫更為容易,而且JSP的性能由於ASP;

JSP vs PHP

JSP是一個業界標準,得到Sun,IBM,Oracle,BEA,Apache等的支持,PHP只是一個開發組織並不強的free ware ;PHP的性能不好,是解釋型的,JSP採用JIT編譯後,和c不相上下,而且支持多線程; JSP支持的平台眾多,從Win98,NT,Unix,Linux,FreeBSD到AS/400,OS/390,而PHP支持的平台有限; JSP可以利用JDBC和眾多主流關係數據庫連接,而PHP目前只支持MySql和Oracle等有限的幾種; JSP中的組件,JavaBean和EJB開發非常容易,而且還可以在JSP中使用Java所有的類和功能。而PHP只能用C寫一些功能有限的組件,而且編寫較為複雜;利用JSP可以支持EJB,以支持Transaction和CORBA標準,而且還可以支持LDAP,Message等服務,使得訪問ERP,CICS,MQ等企業應用非常容易。而PHP在這方面先天不足,所以對於電子商務這樣的Mission-critical的應用來說,PHP並不適合。

性能比較

有人做過試驗,對這三種語言分別做循環性能測試及存取Oracle數據庫測試。在循環性能測試中,JSP只用了令人吃驚的四秒鐘就結束了20000*20000的循環。而ASP、PHP測試的是2000*2000循環(少一個數量級),卻分別用了63秒和84秒。

數據庫測試中,三者分別對 Oracle 8 進行 1000 次 Insert,Update,Select,和Delete: Jsp 需要 13 秒,Php 需要 69 秒,ASP則 需要 73 秒。

前景分析

目前在國內PHP與ASP應用最為廣泛。而JSP由於是一種較新的技術,國內採用的較少。但在國外,JSP已經是比較流行的一種技術,尤其是電子商務類的網站,多採用JSP。

採用PHP的網站如新浪網(sina)、中國人(Chinaren)等,但由於PHP本身存在的一些缺點,使得它不適合應用於大型電子商務站點,而更適合一些小型的商業站點。

首先,PHP缺乏規模支持。其次,缺乏多層結構支持。對於大負荷站點,解決方法只有一個:分布計算。數據庫、應用邏輯層、表示邏輯層彼此分開,而且同層也可以根據流量分開,組成二維陣列。而PHP則缺乏這種支持。還有上面提到過的一點,PHP提供的數據庫接口支持不統一,這就使得它不適合運用在電子商務中。

ASP和JSP則沒有以上缺陷,ASP可以通過Microsoft Windowsd的COM/DCOM獲得ActiveX規模支持,通過DCOM和Transcation Server獲得結構支持;JSP可以通過SUN Java的Java Class和EJB獲得規模支持,通過EJB/CORBA以及眾多廠商的Application Server獲得結構支持。

三者中,JSP應該是未來發展的趨勢。世界上一些大的電子商務解決方案提供商都採用JSP/Servlet。比較出名的如IBM的E-business,它的核心是採用JSP/Servlet的WebSphere;西方另外一個非常著名的電子商務軟件提供商,Intershop。它原來的產品Intershop1 2, 3, 4佔據了主要的電子商務軟件份額。它們都是通過CGI來提供支持的。但去年10月後它推出了Enfinity,一個採用JSP/Servlet的電子商務Application Server,而且聲言不再開發傳統軟件。

JSP應用範圍:

JSP同PHP類似,幾乎可以運行於所有平台。如Win NT,Linux,Unix. NT下IIS通過一個插件,例如JRUN或者ServletExec,就能支持JSP。著名的Web服務器Apache已經能夠支持JSP。由於Apache廣泛應用在NT、Unix和Linux上,因此JSP有更廣泛的運行平台。雖然現在NT操作系統佔了很大的市場份額,但是在服務器方面Unix的優勢仍然很大,而新崛起的Linux更是來勢不小。從一個平台移植到另外一個平台,JSP和JavaBean甚至不用重新編譯,因為Java字節碼都是標準的與平台無關的。

其他相關技術

JDBC

JDBC(Java Database Connectivity)是Java應用程序訪問關係數據庫的接口。可以跨平台的語言,在其上面的應用(pure Java)可以在任何操作系統、應用服務器上運行,如:隨着用戶和訪問量的增加,可能會考慮改用商業Unix服務器和商業的應用服務器,基於Java的解決方案的應用可以不加任何改動平滑移植到新系統中,可以最大限度的保護現有投資;

藉助於EJB(Enterprise JavaBeans)的支持,可以實現基於組件和負載平衡的分布式計算環境;

各廠商提供了很多高效的開發工具,如:IBM WebSphere Studio,一些Java IDE等。考慮到性能上的影響,建議Oracle Server和Web Server採用分布式結構。

JavaBeans

JavaBeans是一種可重用的Java組件,它可以被Applet/Servlet/JSP等Java應用程序調用,也可以可視化地被Java開發工具使用。它包含屬性(Properties)、方法(Methods)、事件(Events)等特性。

Servlet

Servlet是一種在服務器端運行的Java Application,它可以作為一種插件(Plug-ins)嵌入到Web Server中去,提供諸如HTTP、FTP等以及用戶定製的協議服務。如果你已經用過Java servlet,那麼你就會知道servlet可以讓你建立動態生成的網頁,而網頁中包含有從服務器方的Java對象中所獲得的數據。但是你也得知道servlet 生成網頁的方法就是在Java類中嵌入HTML標籤和表述代碼。這就意味着改變表述代碼需要修改和重新編譯servlet源文件。因為設計HTML頁面的設計人員可能與編寫servlet代碼的開發人員不是同一個人,更新基於servlet的web應用程序就成了一件非常棘手的事情。

Enter JavaServer Page是Servlet API的一個擴展。事實上,JSP網頁在編譯成servlet之前也可以使用,所以它們也具有servlet的所有優勢,包括訪問Java API。由於JSP是嵌入到servlet中關於應用程序的一般表述代碼,所以他們能夠被看成一種“徹底”的servlet。

JSP網頁主要提供了一種建立servlet的高水平方法,它還帶來了其他的優點。即使你已經為web應用程序編寫了servlet,使用JSP仍然有很多優勢:

JSP網頁可以非常容易的與靜態模板結合,包括HTML 或XML 片段,以及生成動態內容的代碼。

JSP網頁可以在被請求的時候動態的編譯成servlet,所以網頁的設計人員可以非常容易的對錶述代碼進行更新。如果需要的話,JSP網頁還可以進行預編譯。

為了調用JavaBean組件,JSP標籤可以完全管理這些組件,避免網頁設計人員複雜化應用程序。

開發人員可以提供定製化的JSP標籤庫。

網頁設計人員能夠改變和編輯網頁的固定模板部分而不影響應用程序。同樣,開發人員也無須一個個編輯頁面而只須對組件進行合理的改變。

通常,JSP允許開發人員向許多網頁設計人員分發功能性應用程序。這些設計人員也不必知道Java編程語言或任何servlet代碼,所以他們能夠集中精力去編寫HTML代碼,而編程人員就可以集中精力去建立對象和應用程序。

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-22 15:45
下一篇 2024-12-22 15:45

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python熱重載技術

    Python熱重載技術是現代編程的關鍵功能之一。它可以幫助我們在程序運行的過程中,更新代碼而無需重新啟動程序。本文將會全方位地介紹Python熱重載的實現方法和應用場景。 一、實現…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • Python包絡平滑技術解析

    本文將從以下幾個方面對Python包絡平滑技術進行詳細的闡述,包括: 什麼是包絡平滑技術? Python中使用包絡平滑技術的方法有哪些? 包絡平滑技術在具體應用中的實際效果 一、包…

    編程 2025-04-29
  • 微信小程序重構H5技術方案設計 Github

    本文旨在探討如何在微信小程序中重構H5技術方案,以及如何結合Github進行代碼存儲和版本管理。我們將從以下幾個方面進行討論: 一、小程序與H5技術對比 微信小程序與H5技術都可以…

    編程 2025-04-28
  • parent.$.dialog是什麼技術的語法

    parent.$.dialog是一種基於jQuery插件的彈出式對話框技術,它提供了一個方便快捷的方式來創建各種類型和樣式的彈出式對話框。它是對於在網站開發中常見的彈窗、提示框等交…

    編程 2025-04-28
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • HTML sprite技術

    本文將從多個方面闡述HTML sprite技術,包含基本概念、使用示例、實現原理等。 一、基本概念 1、什麼是HTML sprite? HTML sprite,也稱CSS spri…

    編程 2025-04-28
  • Python工作需要掌握什麼技術

    Python是一種高級編程語言,它因其簡單易學、高效可靠、可擴展性強而成為最流行的編程語言之一。在Python開發中,需要掌握許多技術才能讓開發工作更加高效、準確。本文將從多個方面…

    編程 2025-04-28
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若服務器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27

發表回復

登錄後才能評論