要想自己動手建一個網站,掌握一門網頁編程語言是必要也是必須的。我們都知道,無論多麼炫彩斑斕的網頁,都是要靠語言編程去實現的。本篇我主要為大家介紹幾種常見的網頁語言,重點介紹HTML和ASP語言網頁編程常用知識點。
一、HTML語言
HTML是一種為普通文件中某些字句加上標示的語言,目的在於運用標記(tag)使文件達到預期顯示效果。HTML只是標示語言,基本上你只要瞭解了各種標記的用法,就算學懂了HTML。
HTML的格式非常簡單,只是由文字及標記組合而成。編輯方面,任何文字編輯器都可以,只要能將文件另存成 .html格式即可,當然建議還是以專業的網頁編輯軟件為最好。
設計HTML語言的目的是,能把存放在一臺計算機中的文本或圖形,與另一臺計算機中的文本或圖形方便地聯繫在一起,形成一個有機的整體,而不用考慮具體信息是在當前計算機上,還是在網絡的其他計算機上。
只需使用鼠標在某一文檔中點取一個圖標,Internet就會馬上轉到與此圖標相關的內容上去,而這些信息可能存放在網絡的另一臺計算機中。
HTML文本是由HTML命令組成的描述性文本,HTML命令可以說明文字、圖形、動畫、聲音、表格、鏈接等。HTML的結構包括頭部(Head)、主體(Body)兩大部分,其中頭部描述瀏覽器所需的信息,而主體則包括所要說明的具體內容。
另外,HTML是網絡中的通用語言,一種簡單、通用的全置標記語言。它允許網頁製作人建立文本與圖片相結合的複雜頁面,這些頁面可以被網上任何其他人瀏覽到,不管使用的是什麼類型的計算機或瀏覽器。
二、ASP語言
ASP是Active Server Page的縮寫,意為“動態服務器頁面”。ASP是微軟公司開發的代替CGI腳本程序的一種應用,它可以與數據庫和其他程序進行交互,是一種簡單、方便的編程工具。ASP網頁文件的格式是 .asp,現在常用於各種動態網站中。
ASP是一種服務器端腳本編寫環境,可以用來創建和運行動態網頁或Web應用程序。ASP網頁可以包含HTML標記、普通文本、腳本命令以及COM組件等。利用ASP可以向網頁中添加交互式內容(如在線表單),也可以創建使用HTML網頁作為用戶界面的Web應用程序。與HTML相比,ASP網頁具有以下特點:
1.利用ASP可以突破靜態網頁的一些功能限制,實現動態網頁技術。
- ASP文件是包含在HTML代碼所組成的文件中的,易於修改和測試。
3.服務器上的ASP解釋程序會在服務器端執行ASP程序,並將結果以HTML格式傳送到客戶端瀏覽器上,因此使用各種瀏覽器都可以正常瀏覽ASP所產生的網頁。
- ASP提供了一些內置對象,使用這些對象可以使服務器端腳本功能更強。比如,可以從Web瀏覽器中獲取用戶通過HTML表單提交的信息,並在腳本中對這些信息進行處理,然後向Web瀏覽器發送信息。
- ASP可以使用服務器端ActiveX組件來執行各種各樣的任務,如存取數據庫、發送Email或訪問文件系統等。
6.由於服務器是將ASP程序執行的結果以HTML格式傳回客戶端瀏覽器,因此使用者不會看到ASP所編寫的原始程序代碼,可防止ASP程序代碼被竊取。
7.方便連接ACCESS與SQL數據庫。
8.開發需要有豐富的經驗,否則會留下漏洞,被駭客(cracker)利用,進行注入攻擊。ASP也不僅僅侷限於與HTML結合製作Web網站,還可以與XHTML和WML語言結合製作WAP手機網站,其原理也是一樣的。
三、JSP語言
JSP和Servlet放在一起講,是因為它們都是Sun公司的J2EE(Java 2 platform Enterprise Edition)應用體系中的一部分。
Servlet的形式和前面提到過的CGI差不多,其HTML代碼和後臺程序是分開的。它們的啟動原理也差不多,都是服務器接到客戶端的請求後,進行應答。
不同的是,CGI對每個客戶請求都打開一個進程(Process),而Servlet卻在響應第一個請求的時候被載入,一旦Servlet被載入,便處於已執行狀態。
對於以後其他用戶的請求,它並不打開進程,而是打開一個線程(Thread),將結果發送給客戶。由於線程與線程之間可以通過生成自己的父線程(Parent Thread)來實現資源共享,這樣就減輕了服務器的負擔。所以,Java Servlet可以用來做大規模的應用服務。
雖然在形式上JSP和ASP或PHP看上去很相似——都可以被內嵌在HTML代碼中。但是,它的執行方式和ASP或PHP完全不同。
在JSP被執行的時候,JSP文件被JSP解釋器(JSP Parser)轉換成Servlet代碼,然後Servlet代碼被Java編譯器編譯成 .class字節文件,這樣就由生成的Servlet來對客戶端應答。所以,JSP可以看作Servlet的腳本語言(Script Language)版。
由於JSP/Servlet都是基於Java的,所以它們也有Java語言的最大優點——平臺無關性,也就是所謂的“一次編寫,隨處運行”(WORA-Write Once,Run Anywhere)。
除了這個優點,JSP/Servlet的效率以及安全性也是相當驚人的。因此,雖然JSP/Servlet在國內目前的應用並不廣泛,但是其前途不可限量。
在調試JSP代碼時,如果程序出錯,JSP服務器會返回出錯信息,並在瀏覽器中顯示。由於JSP是先被轉換成Servlet後再運行的,所以,瀏覽器中所顯示的代碼出錯的行數並不是JSP源代碼的行數,而是指轉換後的Servlet程序代碼的行數。
這給調試代碼帶來了一定困難。所以,在排除錯誤時可以採取分段排除的方法(在可能出錯的代碼前後輸出一些字符串,用字符串是否被輸出來確定代碼段從哪裡開始出錯),逐步縮小出錯代碼段的範圍,最終確定錯誤代碼的位置。
四、PHP語言
PHP的全名很有意思,它是一個巢狀的縮寫名稱——“PHP:Hypertext Preprocessor”,打開縮寫還是縮寫。PHP是一種HTML內嵌式的語言(就像上面說的ASP那樣)。
而PHP獨特的語法混合了C、Java、Perl以及PHP式的新語法。它可以比CGI或者Perl更快速地執行動態網頁。
PHP的源代碼完全公開,在Open Source意識抬頭的今天,它更是這方面的中流砥柱。不斷地有新的函數庫加入,以及不停地更新,使得PHP無論在UNIX或是Win32的平臺上都可以有更多新的功能。它提供的豐富函數,在程式設計方面有著更好的資源。
平臺無關性是PHP的最大優點,但是在優點背後,還是有一些小缺點。如果在PHP中不使用ODBC,而用其自帶的數據庫函數(這樣的效率要比使用ODBC高)來連接數據庫的話,使用不同的數據庫,PHP的函數名不能統一。
這樣,使得程序的移植變得有些麻煩。不過,作為目前應用最為廣泛的一種後臺語言,PHP的優點還是非常明顯的。
五、ASP.NET語言
ASP最新的版本ASP.NET並不完全與ASP早期的版本後向兼容,因為該軟件進行了完全重寫。早期的ASP技術實際上與PHP的共同之處比與ASP.NET的共同之處多得多,ASP.NET是用於構建Web應用程序的一個完整框架。
這個模型的主要特性之一是選擇編程語言的靈活性。ASP.NET可以使用腳本語言(如VB script、Jscript、Perl script和Python)以及編譯語言(如VB、C#、C、Cobol、Smalltalk和Lisp)。
新框架使用通用語言運行環境(CLR);源代碼編譯成Microsoft中間語言代碼,然後CLR執行這些代碼。
這個框架還提供真正的面向對象編程(OOP),並支持真正的繼承、多態和封裝。.NET類庫根據特定的任務(比如,使用XML或圖像處理)組織成可繼承的類。
除了編程語言和方法之外,數據庫訪問也是要著重關心的一個因素。當你用ASP.NET編程時,可以用ODBC來集成數據庫;ODBC提供了一組一致的調用函數來訪問目標數據庫。
ASP.NET的優勢很明顯,在於它簡潔的設計和實施。這是面向對象的編程人員的夢想——語言靈活,並支持複雜的面向對象特性。
ASP.NET的另一個優勢是其開發環境。比如,開發人員可以使用WebMatrix(一個社區支持的工具)、Visual Studio.NET或各種Borland工具(如Delphi和C++Builder)。
比如,Visual Studio允許設置斷點、跟蹤代碼段和查看調用堆棧。總而言之,它是一個複雜的調試環境。許多其他第三方的ASP.NET IDE解決方案也將必然出現。
以上,是個人搭建網站之前必須要掌握的代碼基礎知識。如果你對這幾種常見的網頁語言都很陌生,那就找個時間集中學習攻克一下。對於代碼有興趣的人來說,掌握這些並不難。
可能有人會說,我沒有任何代碼基礎,這些知識對我來說還是太難了!但我就想體驗一把自己建站的樂趣,有沒有什麼方法可以實現?有。推薦阿里雲建站產品-雲·速成美站,最快建一個網站一小時內即可上線。