JS、JSP、ASP、CGI

   1)JS是在客戶端執行的,須要瀏覽器支持Javascript。JSP是在服務器端執行的,須要服務器上部署支持Servlet的服務器程序。JS代碼是可以直接從服務器上download獲得,對外是可見的,jsp(和翻譯後的servlet)代碼是對外不可見的。javascript

  2)JS與JavaScript相比:雖然JavaScript能夠在客戶端動態生成HTML,可是很難與服務器交互,所以不能提供複雜的服務,好比訪問數據庫和圖像處理等等。JSP在HTML中用<%%>裏面實現。JS在html中用<Script></Script>實現。php

1、html

JavaScript 是 Web 的編程語言。全部現代的 HTML 頁面都使用 JavaScript。JavaScript是一種屬於網絡的腳本語言,已經被普遍用於Web應用開發,經常使用來爲網頁添加各式各樣的動態功能,爲用戶提供更流暢美觀的瀏覽效果。一般JavaScript腳本是經過嵌入在HTML中來實現自身的功能的。java

HTML 中的腳本必須位於 <script> 與 </script> 標籤之間。腳本可被放置在 HTML 頁面的 <body> 和 <head> 部分中。mysql

JS實例:程序員

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>菜鳥教程(runoob.com)</title> 
</head>
<body>
	
<h1>個人第一個 Web 頁面</h1>
<p id="demo">個人第一個段落。</p>
<script>
document.getElementById("demo").innerHTML="段落已修改。";
</script>
	
</body>
</html>

2、web

JSP全名爲Java Server Pages,中文名叫java服務器頁面,其根本是一個簡化的Servlet設計。sql

JSP 與 PHP、ASP、ASP.NET 等語言相似,運行在服務端的語言。數據庫

JSP(全稱Java Server Pages)是由 Sun Microsystems 公司倡導和許多公司參與共同建立的一種使軟件開發者能夠響應客戶端請求,而動態生成 HTML、XML 或其餘格式文檔的Web網頁的技術標準。JSP 技術是以 Java 語言做爲腳本語言的,JSP 網頁爲整個服務器端的 Java 庫單元提供了一個接口來服務於HTTP的應用程序。apache

JSP文件後綴名爲 *.jsp 。JSP開發的WEB應用能夠跨平臺使用,既能夠運行在 Linux 上也能運行在 Windows 上。

Jsp實例:

<%@ page contentType="text/html;charset=UTF-8" %>  
<html>  
   
 <%  
    session.setAttribute("Login", "");  
 %>  
  
 <body>  
  <h2>你已經退出登陸</h2>  
 </body>  
  
</html>

  

3、 

ASP(Active Server Pages 動態服務器頁面)是一種生成動態交互性網頁的強有力工具。

工做原理:

  ASP中的腳本程序是在服務器端運行的(而不是在客戶端運行),傳送到瀏覽器上的web頁是在web服務器上生成的。所以,客戶端瀏覽器並無處理這些腳本,web服務器已經完成了這些腳本的處理,並將標準的HTML頁面傳輸到瀏覽器。ASP解釋器讀取並執行全部在<%和%>標籤之間的腳本代碼,並生成內容。因爲只有腳本的執行結果返回到瀏覽器,所以,用戶看不到正在瀏覽的網頁的腳本命令,而只能看到腳本的執行結果。

ASP實例:

<!DOCTYPE html>
<html>
<body>
<%
response.write("<h2>You can use HTML tags to format the text!</h2>")
%>

<%
response.write("<p style='color:#0000ff'>This text is styled with the style attribute!</p>")
%>
</body>
</html>

  

  

ps:

一、jsp的魅力無疑是java的跨平臺性。它誕生於面向對象編程的環境下
二、提到迅速的商務部署,固然是windows環境的asp技高一籌了,微軟的東西傻瓜性夠好、資源豐富(asp程序員工資低因而可知一斑)。開發週期絕對少於java的jsp

三、php做爲一門語言(好像asp開發的主流語言vbscript和jsp開發的java),它是絕對免費的,也因爲此,它不夠健壯(這一點的另外一方面就是它的速度某種程度上比較快)。它具備比較好的平臺無關性,但並非絕對的。從php開始支持windows環境的com組件能夠看出它的某些無奈。php目前已經支持面向對象編程。比較小的商務應用採用php+mysql仍是頗有競爭力的

另外,asp有微軟支持,目前很流行
php一直很受關注,其程序性能強大,LAMP(Linux+Apache+Mysql+Php)被稱爲黃金組合
jsp好像不如前二者流行,但也有不少用戶,其技術基於java,前途好像也不錯
Asp.net是微軟.Net套件的一個部分,應該是趨勢

動態網頁技術所謂「動態」,並非指那幾個放在網頁上的GIF圖片,動態網頁技術有如下幾個特色。1,"交互性"即網頁會根據用戶的要求和選擇而動態改變和響應,將瀏覽器做爲客戶端界面,這將是從此WEB發展的大事所趨.2,"自動更新"即無須手動地更新HTML文檔,便會自動生成新的頁面,能夠大大節省工做量.3,"因時因人而變",即當不一樣的時間,不一樣的人訪問同一網址時會產生不一樣的頁面。除了早期的CGI外,目前主流的動態網頁技術有JSP,ASP,PHP等1.1. 1CGI  在早期,動態網頁技術主要採用CGI技術,即Common Gateway Interface(公用網關接口)。在早期,你可使用不一樣的程序編寫合適的CGI程序,如Visual Basic,Delphi或C/C++等。雖然CGI技術成熟並且功能強大,但因爲編程困難,效率低下,修改複雜等缺陷,因此有逐漸被新技術取代的趨勢。可使用不一樣的程序編寫合適的CGI程序,如Visual Basic、Delphi或C/C++等,您將已經寫好的程序放在WEB服務器的計算機上運行,再將其運行結果經過WEB服務器傳輸到客戶端的瀏覽器上。咱們經過CGI創建WEB頁面與腳本程序之間的聯繫,而且能夠利用腳本程序來處理訪問者輸入的信息並據此做出響應。事實上,這樣的編制方式比較困難並且效率低下,由於你每一次修改程序都必須從新將CGI程序編譯成可執行文件。   最經常使用於編寫CGI技術的語言是Perl(Practical Extraction and Report Language,文字分析報告語言),它具備強大的字符串處理能力,特別適合用於分割處理客戶端Form提交的數據串;用它來編寫的程序後綴爲.pl。1.1. 2ASP  ASP更精確的說是一箇中間件,這個中間件將Web上的請求轉入到一個解釋器中,在這個解釋器中將全部的ASP的Script進行分析,再進行執行,而這時能夠在這個中間件中去建立一個新的COM對象,對這個對象中的屬性和方法進行操做和調用,同時再經過這些COM組件再完成更多的工做。因此說,ASP強大的不在於它的VBScript, 而在於它後臺的COM組件,這些組件來無限的擴充了ASP的能力。強勢:1簡單易學。Basic有誰不會?不多會有人舉手,因此有人在說這個開發基礎是最廣的。並且MS有一貫作的很是好的聯機手冊,本地化語言的幫助,同時很是快的出現教學書籍,這樣會大大方便開發人員的學習和對技術的深刻研究。 二、安裝使用方便。裝好一個Windows 2000,只要你安裝了IIS哪麼ASP就可使用了,從沒有什麼須要你花心思去配置的。三、開發工具強大而多樣。這個我不用說了,能夠說的就是我之前使用VB中的Web Class開發出的Web應用一點不差,當時讓許多人大吃一驚,VB也能作ASP上的應用!!!其實這正說明了ASP開發工具的多樣化,同時它們的功能也很強,這一點已經被許多程序員所津津樂道。易用、簡單、人性化,這本就是微軟的強項喲。 四、效率高。在低的訪問量下,ASP能體現出必定的效率,這時它對機器的要求並不高。弱勢:1Windows自己的全部問題都會一成不變的也累加到了它的身上。安全性、穩定性、跨平臺性(Win2K已經再也不支持Alpha了)都會由於與NT的捆綁而顯現出來。二、ASP因爲使用了COM組件因此它會變的十分強大,可是這樣的強大因爲Windows NT系統最初的設計問題而會引起大量的安全問題。只要在這樣的組件或是操做中一不注意,哪麼外部攻擊就能夠取得至關高的權限而致使網站癱瘓或者數據丟失。 三、因爲ASP仍是一種Script語言,因此除了大量使用組件外,沒有辦法提升其工做效率。它必須面對即時編譯的時間考驗,同時咱們還不知其背後的組件會是一個什麼樣的情況。四、沒法實現跨操做系統的應用。固然這也是微軟的理由之一,只有這樣才能發揮ASP最佳的能力。但是我卻認爲正是Windows限制了ASP,ASP的概念本就是爲一個能讓系統運行於一個大的多樣化環境而設計的。五、還沒法徹底實現一些企業級的功能:徹底的集羣、負載均衡。1.1.3 PHPPHP(Hypertext Preprocessor)是一種HTML內嵌式的語言(相似於IIS上的ASP)。而PHP獨特的語法混合了C、Java、Perl以及PHP式的新語法。它能夠比CGI或者Perl更快速的執行動態網頁。PHP可以支持諸多數據庫,如MS SQL Server, MySql,Sybase,Oracle等。它與HTML語言具備很是好的兼容性,使用者能夠直接在腳本代碼中加入HTML標籤,或者在HTML標籤中加入腳本代碼從而更好地實現頁面控制。PHP提供了標準的數據庫接口,數據庫鏈接方便,兼容性強;擴展性強;能夠進行面向對象編程。1 PHP的強勢1.一種能快速學習、跨平臺、有良好數據庫交互能力的開發語言。ASP比不上它的就是這種跨平臺能力了,而正是它的這種能力讓Unix/Linux有了一種與ASP媲美的開發語言。語法簡單、書寫容易、如今市面上也有了大量的書,同時Internet上也有大量的代碼能夠共享,對於一個初學者想學些「高深的Unix」下的開發來講是一個決好的入手點。 2.與Apache及其它擴展庫結合緊密。php與Apache能夠以靜態編繹的方式結合起來,而與其它的擴展庫也能夠用這樣的方式結合(除外的就是Windows平臺了)。這樣的方式的最大的好處就是最大化的利用了cpu時和內存,同時極爲有效的利用了apache的高性能的吞吐能力。同時外部的擴展也是靜態連編,從而達到了最快的運行速度。因爲與數據庫的接口也使用了這樣的方式,因此使用的是本地化的調用,這也讓數據庫發揮了最佳效能。3.良好的安全性。因爲php自己的代碼開放因此它的代碼在許多工程師手中進行了檢測,同時它與apache編繹在一塊兒的方式也可讓它具備靈活的安全設定。因此到如今爲止,php具備了公認的安全性能。弱勢: 1. 據庫支持的極大變化。因爲php的全部的擴展接口都是獨立團隊開發完成的,同時在開發時爲了造成相應數據的個性化操做,因此php雖然支持許多數據庫,但是針對每種數據庫的開發語言都徹底不一樣。這樣造成針對一種數據庫的工發工做,在數據庫進行升級後須要開發人員進行幾乎所有的代碼更改工做。而爲了讓應用支持更多種的數據庫,就須要開發人員將一樣的數據庫操做使用不一樣的代碼寫出n種代碼庫出來,讓程序員的工做量大大增大。2. 安裝複雜。因爲php的每一種擴充模塊並非徹底由php自己來完成,須要許多外部的應用庫,如圖形須要gd庫、LDAP須要LDAP庫.……這樣在安裝完成相應的應用後,再聯編進php中來。這也就是我之前在代碼聯盟新聞組中對網友所說的必定要在FreeBSD/Linux/Unix下運行php的緣由。只有在這些環境下才能方便的編繹對應的擴展庫。這些都是通常開發人員在使用php前所先要面對的問題,正是這樣的問題讓許多開發人員轉而使用其它的開發語言,必竟Unix沒有那麼多的用戶。3. 缺乏企業級的支持。沒有組件的支持,哪麼全部的擴充就只能依靠php開發組所給出的接口,事實上這樣的接口還不夠多。同時難以將集羣、應用服務器這樣的特性加入到系統中去。而一個大型的站點或是一個企業級的應用必定須要這樣的支持的。注:在php的4.0版本之後加入了對servlet/javabean的支持,也許這樣的支持會在之後的版本中更加加強,也許這樣的支持會是php之後的企業級支持的起點。4. 缺乏正規的商業支持。這也是自由軟件一貫的缺點,我想在國內php的開發人員正在快速增長,相信在不久的未來,這樣的支持能多起來。5. 沒法實現商品化應用的開發。因爲php沒有任何編繹性的開發工做,全部的開發都是基於腳本技術來完成的。因此全部的源代碼都沒法編譯,因此作完成的應用只能是本身或是內部使用,沒法實現商品化。1.1.4 JSP  JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務器在頁面被客戶端請求之後對這些Java代碼進行處理,而後將生成的HTML頁面返回給客戶端的瀏覽器。Java Servlet 是JSP的技術基礎,並且大型的Web應用程序的開發須要Java Servlet和JSP配合才能完成。JSP具有了Java技術的簡單易用,徹底的面向對象,具備平臺無關性且安全可靠,主要面向Internet的全部特色。1. SP技術的強勢(1)一次編寫,處處運行。在這一點上Java比PHP更出色,除了系統以外,代碼不用作任何更改(2)系統的多平臺支持。基本上能夠在全部平臺上的任意環境中開發,在任意環境中進行系統部署,在任意環境中擴展。相比ASP/PHP的侷限性是現而易見的。(3)強大的可伸縮性。從只有一個小的Jar文件就能夠運行Servlet/JSP,到由多臺服務器進行集羣和負載均衡,到多臺Application進行事務處理,消息處理,一臺服務器到無數臺服務器,Java顯示了一個巨大的生命力。(4)多樣化和功能強大的開發工具支持。這一點與ASP很像,Java已經有了許多很是優秀的開發工具,並且許多能夠免費獲得,而且其中許多已經能夠順利的運行於多種平臺之下。2. JSP技術的弱勢(1) 與ASP同樣,Java的一些優點正是它致命的問題所在。正是因爲爲了跨平臺的功能,爲了極度的伸縮能力,因此極大的增長了產品的複雜性。(2) Java的運行速度是用class常駐內存來完成的,因此它在一些狀況下所使用的內存比起用戶數量來講確實是「最低性能價格比」了。從另外一方面,它還須要硬盤空間來儲存一系列的.java文件和.class文件,以及對應的版本文件。
相關文章
相關標籤/搜索