ASP.Net 從某種意義上說應該是ASP版本的升級,但是它又不完全是從ASP上升級來的,ASP.Net的推出是微軟為了與SUN公司的JSP在網絡上的迅猛發展抵抗的,.Net架構現在有許多人都在學習,主要是開發的效率比較的高.但是還是基於WIN平台運行,不能跨平台.
JSP簡介
JSP(JavaServer Pages)是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態網頁技術標准,其網址為http://www.Javasoft.com/prodUCts/JSP。該技術為創建顯示動態生成內容的Web頁面提供了一個簡捷而快速的方法。JSP技術的設計目的是使得構造基於Web的應用程序更加容易和快捷,而這些應用程序能夠與各種Web服務器,應用服務器,浏覽器和開發工具共同工作。 JSP規范是Web服務器、應用服務器、交易系統、以及開發工具供應商間廣泛合作的結果。在傳統的網頁Html文件(*htm,*.Html)中加入Java程序片段(Scriptlet)和JSP標記(tag),就構成了JSP網頁(*.JSp)。Web服務器在遇到訪問JSP網頁的請求時,首先執行其中的程序片段,然後將執行結果以Html格式返回給客戶。程序片段可以操作數據庫、重新定向網頁以及發送 email 等等,這就是建立動態網站所需要的功能。所有程序操作都在服務器端執行,網絡上傳送給客戶端的僅是得到的結果,對客戶浏覽器的要求最低,可以實現無Plugin,無ActiveX,無Java Applet,甚至無Frame。
JSP技術在多個方面加速了動態Web頁面的開發:
1.將內容的生成和顯示進行分離
使用JSP技術,Web頁面開發人員可以使用Html或者XML標識來設計和格式化最終頁面。使用JSP標識或者小腳本來生成頁面上的動態內容(內容是根據請求來變化的,例如請求帳戶信息或者特定的一瓶酒的價格)。生成內容的邏輯被封裝在標識和JavaBeans組件中,並且捆綁在小腳本中,所有的腳本在服務器端運行。如果核心邏輯被封裝在標識和Beans中,那麼其他人,如Web管理人員和頁面設計者,能夠編輯和使用JSP頁面,而不影響內容的生成。在服務器端,JSP引擎解釋JSP標識和小腳本,生成所請求的內容(例如,通過訪問JavaBeans組件,使用JDBCTM技術訪問數據庫,或者包含文件),並且將結果以HTML(或者XML)頁面的形式發送回浏覽器。這有助於作者保護自己的代碼,而又保證任何基於Html的Web浏覽器的完全可用性。
2.強調可重用的組件
絕大多數 JSP頁面依賴於可重用的,跨平台的組件(JavaBeans或者Enterprise JavaBeansTM組件)來執行應用程序所要求的更為復雜的處理。開發人員能夠共享和交換執行普通操作的組件,或者使得這些組件為更多的使用者或者客戶團體所使用。基於組件的方法加速了總體開發過程,並且使得各種組織在他們現有的技能和優化結果的開發努力中得到平衡。
3.采用標識簡化頁面開發
Web頁面開發人員不會都是熟悉腳本語言的編程人員。JavaServer Page技術封裝了許多功能,這些功能是在易用的、與JSP相關的XML標識中進行動態內容生成所需要的。標准的JSP標識能夠訪問和實例化JavaBeans組件,設置或者檢索組件屬性,下載Applet,以及執行用其他方法更難於編碼和耗時的功能。
通過開發定制化標識庫,JSP技術是可以擴展的。今後,第三方開發人員和其他人員可以為常用功能創建自己的標識庫。這使得Web頁面開發人員能夠使用熟悉的工具和如同標識一樣的執行特定功能的構件來工作。
JSP技術很容易整合到多種應用體系結構中,以利用現存的工具和技巧,並且擴展到能夠支持企業級的分布式應用。作為采用Java技術家族的一部分,以及Java 2(企業版體系結構)的一個組成部分,JSP技術能夠支持高度復雜的基於Web的應用。
由於JSP頁面的內置腳本語言是基於Java編程語言的,而且所有的JSP頁面都被編譯成為Java Servlet,JSP頁面就具有Java技術的所有好處,包括健壯的存儲管理和安全性。作為Java平台的一部分,JSP擁有Java編程語言“一次編寫,各處運行”的特點。隨著越來越多的供應商將JSP支持添加到他們的產品中,您可以使用自己所選擇的服務器和工具,更改工具或服務器並不影響當前的應用。當與Java 2平台,企業版(J2EE)和Enterprise JavaBean技術整合時,JSP頁面將提供企業級的擴展性和性能,這對於在虛擬企業中部署基於Web的應用是必需的。
4.技術分析
Microsoft 公司的 ASP 技術也是動態網頁開發技術。JSP和ASP從形式上非常相似,ASP程序員一眼就能認出以及。但是深入探究下去會發現它們很多的差別,其中最主要的有以下三點:
1)、JSP的效率和安全性更高
ASP以源碼形式存放,以解釋方式運行,每次ASP網頁調用都需要對源碼進行解釋,運行效率不高。另外,IIS的漏洞曾使得許多網站源程序大曝光,包括筆者以前用ASP開發的網站,ASP程序全部被人下載了去。JSP在執行以前先被編譯成字節碼 (byte code),字節碼由Java虛擬機 (Java Virtual Machine)解釋執行,比源碼解釋的效率高;服務器上還有字節碼的Cache機制,能提高字節碼的訪問效率。第一次調用 JSP網頁可能稍慢,因為它被編譯成Cache,以後就快得多了。同時,JSP源程序不大可能被下載,特別是JavaBean程序完全可以放到不對外的目錄中。
2)、JSP的組件 (Component) 方式更方便
ASP通過COM來擴充復雜的功能,如文件上載、發送email以及將業務處理或者復雜計算分離出來成為獨立可重復利用的模塊。JSP通過JavaBean實現了同樣的功能擴充。在開發方面,COM的開發遠比 JavaBean復雜和繁瑣,學會ASP不難,但學會開發COM可不簡單。而JavaBean就簡單多了,從本文上述示例中可以看出開發JavaBean 很方便。在維護方面,COM必須在服務器上注冊,如果修改了COM程序,就必須重新注冊,甚至必須關機和重新啟動。JavaBean則不需要注冊,放在CLASSPATH包含的目錄中就行了。如果 JavaBean進行了修改,則JSWDK和Tomcat現在還需要關閉和重新運行(但不是關機),但開發者已經許諾將在以後的版本中做到不需要關閉服務器。另外JavaBean是完全的OOP,可以針對不同的業務處理功能方便地建立一整套可重復利用的對象庫,例如用戶權限控制、email自動回復等等。
3)、JSP的適應平台更廣
ASP目前僅適用於NT和IIS。雖然Unix下有ChiliSoft的插件來支持ASP,但是ASP本身的功能有限,必須通過ASP+COM的組合來擴充,Unix下的COM實現起來非常困難。
ASP.Net
1.什麼是ASP.Net
ASP.net 是一種建立在通用語言上的程序構架,能被用於一台Web服務器來建立強大的Web應用程序。ASP.Net提供許多比現在的web開發模式強大的的優勢。
1)執行效率的大幅提高
ASP.Net是把基於通用語言的程序在服務器上運行。不像以前的ASP即時解釋程序,而是將程序在服務器端首次運行時進行編譯,這樣的執行效果,當然比一條一條的解釋強很多。
2)世界級的工具支持
ASP.net 構架是可以用Microsoft(R)公司最新的產品 Visual Studio.Net開發環境進行開發,WYSIWYG(What You See Is What You Get所見即為所得)的編輯。這些僅是ASP.Net強大化軟件支持的一小部分。
3)強大性和適應性
因為ASP.Net是基於通用語言的編譯運行的程序,所以它的強大性和適應性,可以使它運行在Web應用軟件開發者的幾乎全部的平台上(筆者到現在為止只知道它只能用在Windows 2000 Server上)。通用語言的基本庫,消息機制,數據接口的處理都能無縫的整合到ASP.net的Web應用中。ASP.net同時也是 language-independent語言獨立化的,所以,你可以選擇一種最適合你的語言來編寫你的程序,或者把你的程序用很多種語言來寫,現在已經支持的有C#(C++和Java的結合體),VB,JScript。將來,這樣的多種程序語言協同工作的能力保護您現在的基於COM+開發的程序,能夠完整的移植向ASP.Net。
4)簡單性和易學性
ASP.net是運行一些很平常的任務如表單的提交客戶端的身份驗證、分布系統和網站配置變得非常簡單。例如ASP.Net頁面構架允許你建立你自己的用戶分界面,使其不同於常見的VB-Like界面。另外,通用語言簡化開發使把代碼結合成軟件簡單的就像裝配電腦。
5)高效可管理性
ASP.net使用一種字符基礎的,分級的配置系統,使你服務器環境和應用程序的設置更加簡單。因為配置信息都保存在簡單文本中,新的設置有可能都不需要啟動本地的管理員工具就可以實現。這種被稱為"Zero Local Administration"的哲學觀念使Asp.net的基於應用的開發更加具體,和快捷。一個ASP.Net的應用程序在一台服務器系統的安裝只需要簡單的拷貝一些必須得文件,不需要系統的重新啟動,一切就是這麼簡單。
6)多處理器環境的可靠性
ASP.net已經被刻意設計成為一種可以用於多處理器的開發工具,它在多處理器的環境下用特殊的無縫連接技術,將很大的提高運行速度。即使你現在的 ASP.Net應用軟件是為一個處理器開發的,將來多處理器運行時不需要任何改變都能提高他們的效能,但現在的ASP確做不到這一點。
7)自定義性,和可擴展性
ASP.net設計時考慮了讓網站開發人員可以在自己的代碼中自己定義"plug-in"的模塊。這與原來的包含關系不同,ASP.Net可以加入自己定義的如何組件。網站程序的開發從來沒有這麼簡單過。
8)安全性
基於Windows認證技術和每應用程序配置,你可以確性你的原程序時絕對安全的。(但是ASP的經驗告訴我們,不能這麼自信,M$老是會出Bug的)
2.本篇教程的主要內容
◆ASP.Net 的語法
◆ASP.Net 的語法有可能對老的ASP程序員來說很熟悉,但也有一些是全新的東西,QuickStart教程將在細節上全部談到它們。
◆ASP.Net 的結構和特征
◆介紹ASP.Net的所有特性,是ASP開發者可以編寫交互性的世界級的應用軟件,用比以前少的多時間和精力。
最佳話的練習
引用了一些練習題和如何回避在程序開發中潛在地容易犯的錯誤的方法,是開發更加順利。
為那些人編寫的
如果你從來沒有開發過網站程序,那麼這不適合你,你應該至少掌握一些Html語言和簡單的web開發術語。你不需要先前的ASP開發經驗(當然有經驗更好),但是你必須了解交互式Web程序開發的概念,包含窗體,腳本,和數據接口的概念。