官术网_书友最值得收藏!

1.2 相關知識

1.2.1 認識Web應用程序

在Web 2.0時代,網(wǎng)站往往被技術人員稱為Web應用程序。隨著網(wǎng)絡技術的不斷完善和發(fā)展,網(wǎng)站的設計開發(fā)和桌面應用程序的開發(fā)越來越接近。傳統(tǒng)桌面應用程序完成的業(yè)務也越來越多地遷移至網(wǎng)絡環(huán)境,通過Web應用程序來完成,如OA(辦公自動化系統(tǒng))、在線學習系統(tǒng)、教務管理系統(tǒng)等。

1. Web應用程序的工作原理

Web應用程序是一種典型的B/S(Brower/Server,瀏覽器/服務器)結構,如圖1.2所示。

43052-00-011-1

圖1.2 Web應用程序結構

客戶訪問網(wǎng)站使用的瀏覽器稱為客戶端。Web應用程序包含的所有網(wǎng)頁以及相關資源保存于Web服務器,Web應用程序的數(shù)據(jù)也可使用專門的數(shù)據(jù)庫服務器進行存放和管理。

當用戶在瀏覽器中輸入一個網(wǎng)址(URL)(如http://localhost/test.php),請求訪問時,該請求被封裝為一個HTTP請求,通過網(wǎng)絡傳遞給Web服務器。Web服務器處理接收到的HTTP請求,將處理結果以HTML格式返回給客戶端瀏覽器。如果在處理HTTP請求時需要訪問數(shù)據(jù)庫,Web服務器會將相關數(shù)據(jù)請求提交給數(shù)據(jù)庫服務器,由數(shù)據(jù)庫服務器處理數(shù)據(jù)訪問請求,并將處理結果返回Web服務器。Web服務器將相應的數(shù)據(jù)處理結果返回客戶端。

提示:

在瀏覽器中選擇“查看/源文件”命令所看到的代碼,便是Web服務器返回瀏覽器的一個HTTP請求HTML格式的響應結果。

2. Web應用程序客戶端技術

Web應用程序客戶端技術主要涉及瀏覽器、HTML/XHTML、XML、CSS、腳本語言等。

(1)瀏覽器

瀏覽器作為網(wǎng)頁在客戶端的訪問工具,負責解析網(wǎng)頁中的HTML/XHTML、CSS和腳本語言等內(nèi)容,并將最終結果顯示在瀏覽器中呈現(xiàn)給用戶。國內(nèi)常見的瀏覽器有:IE(Internet Explorer)、Firefox、Safari、Opera、Google Chrome、QQ瀏覽器、百度瀏覽器、搜狗瀏覽器、獵豹瀏覽器、360瀏覽器、UC瀏覽器、傲游瀏覽器和世界之窗瀏覽器等。不同瀏覽器對HTML的支持略有不同,編寫HTML文檔時應注意不同瀏覽器之間的兼容問題。

(2)HTML

HTML(HyperText Markup Language)即超文本標記語言。早期的網(wǎng)頁就是一個個HTML文件,HTML文件擴展名為.htm或.html,該文件為一個純文本文件,它使用各種預定義的標記(tag)來標識文檔的結構、文字、段落、表格、圖片和超級鏈接等信息,瀏覽器負責解釋各種標記以何種方式展示給用戶。

例1.1 一個簡單的HTML文件如下。(源代碼:\chapter1\t1\test1.html)

<html>
  <head>
    <title> 這是標題</title>
  </head>
  <body>
    這是一個簡單的HTML文檔。<br>
    單擊下面的圖片鏈接,訪問在線Web 技術免費教學網(wǎng)站w3school。<br>
    <a >
      <img src="w3.jpg" width="139" height="22" alt="w3school">
    </a>
  </body>
</html>

HTML文件可以使用瀏覽器直接打開以查看顯示結果。上面的HTML文件在IE瀏覽器中的顯示結果如圖1.3所示。

43052-00-012-1

圖1.3 一個簡單的HTML文件

提示:

推薦一個免費的Web技術學習網(wǎng)站:http://www.w3school.com.cn,該網(wǎng)站包括大部分Web開發(fā)技術,如HTML/HTML5、CSS/CSS3、XML、TCP/IP、JavaScript、VBScript、JQuery、JSon、SQL、PHP、ASP和ASP.NET等。

(3)XHTML

XHTML(Extensible HyperText Markup Language)即可擴展超文本標記語言,以HTML為基礎,與HTML相似,但語法更加嚴謹。比如,前面的例子使用了<br>標記在頁面中實現(xiàn)換行。XHTML要求所有標記有結束標記,如<a>的結束標記為</a>。XHTML中的換行標記應該加上標記結束符號,為<br/>。

HTML語法要求比較松散,網(wǎng)頁開發(fā)人員使用起來比較靈活。但對機器而言,語法松散意味著處理難度增大。對于資源有限的設備(如手機),處理難度會更大。因此產(chǎn)生了由DTD定義規(guī)則,語法要求更加嚴格的XHTML。大部分常見的瀏覽器都可以正確地解析XHTML,幾乎所有的網(wǎng)頁瀏覽器在正確解析HTML的同時,可兼容XHTML。

(4)XML

XML是Extensible Markup Language的縮寫,表示為可擴展標記語言,是一種用于標記電子文檔,使其數(shù)據(jù)具有結構化的標記語言。XML與HTML可以算得上是一對孿生兄弟,它們都由SGML(Standard Generalized Markup Language,標準通用標記語言)發(fā)展而來。

HTML使用預定義的標記來告訴瀏覽器如何顯示標記的內(nèi)容。而XML的目的在于組織數(shù)據(jù),使文檔中的數(shù)據(jù)組織更加規(guī)范,便于在不同應用程序、不同平臺之間交換數(shù)據(jù)。

XML使用文檔作為定義的標記來組織數(shù)據(jù),如何解釋標記由用戶決定。XML文件是一個純文本文件,便于網(wǎng)絡傳輸。越來越多的應用程序使用XML文件來保存數(shù)據(jù),如Java、微軟的.NET平臺、各種Web服務器(IIS、Apache、Tomcat等)和各種數(shù)據(jù)庫服務器(MySQL、SQL Server、Oracle等),均使用XML來保存相應的配置信息。

例1.2 一個IIS Web網(wǎng)站配置文件web.config如下。(源代碼:\chapter1\t3\web.config)

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
     <system.webServer>
         <defaultDocument>
             <files>
                 <add value="index.php" />
             </files>
         </defaultDocument>
     </system.webServer>
</configuration>

上述代碼中,文件開頭的<?xml>標記表示這是一個XML文件,其version屬性說明了XML版本號。這是一個IIS Web網(wǎng)站的配置文件,它為網(wǎng)站指定了默認文檔為index.php。可以使用瀏覽器直接打開XML文件,查看其中的數(shù)據(jù)組織結構,如圖1.4所示。

43052-00-013-1

圖1.4 在瀏覽器中查看XML文件

(5)CSS

CSS(Cascading Style Sheets)即層疊樣式表,也稱級聯(lián)樣式表。在HTML中,各種預定義的標記只能簡單組織頁面結構和內(nèi)容,CSS則進一步通過樣式來決定瀏覽器如何精確控制HTML標記的顯示,如字體、顏色、背景和其他效果。

目前,大多數(shù)主流瀏覽器均支持CSS,其最新版本為CSS 3。

例1.3 為例1.1中的HTML添加樣式。(源代碼:\chapter1\t3\test3.html)

<html>
  <head>
    <title> 這是標題</title>
    <style type="text/css">
      body {font-family: 隸書;}
    </style>
  </head>
  <body>
    這是一個簡單的HTML文檔。<br>
    單擊下面的圖片鏈接,訪問在線Web 技術免費教學網(wǎng)站w3school。<br>
    <a  style="border-style:solid;border-width:5px;">
      <img src="w3.jpg" width="139" height="22" alt="w3school">
    </a>
  </body>
</html>

上面的HTML文件中,使用<style>標記定義了一個內(nèi)部樣式表,該樣式表body標記內(nèi)容的字體定義為“隸書”,即使用隸書字體顯示body內(nèi)容的文本。在<a>標記中,用style屬性為超鏈接定義了一個內(nèi)聯(lián)樣式,并為超鏈接添加一個邊框。上面的HTML文件在IE中顯示結果如圖1.5所示。

43052-00-014-1

圖1.5 添加了CSS樣式的HTML文件

(6)客戶端腳本語言

客戶端腳本語言通過編程為HTML頁面添加動態(tài)內(nèi)容,與用戶完成交互。HTML頁面中包含的腳本語言代碼稱為腳本。腳本可以嵌入HTML文檔中,也可存儲在獨立的計算機文件中,使用時包含到HTML文檔中即可。包含了腳本的HTML通常稱為動態(tài)網(wǎng)頁,即DHTML(Dynamic HTML,動態(tài)HTML)。

常見的客戶端腳本語言包括JavaScript、VBScript、Jscript和Applet等,其中JavaScript和VBScript使用最為廣泛。

JavaScript和Java沒有直接關系,它由Netscape公司開發(fā),并在Netscape Navigator(網(wǎng)景瀏覽器)中實現(xiàn)。目前,網(wǎng)景瀏覽器因為技術競爭的原因已經(jīng)退出了市場,但JavaScript卻以頑強的生命力生存下來,并成為最受Web開發(fā)人員歡迎的客戶端腳本語言。

因為技術原因,微軟推出了JScript,CEnvi推出了ScriptEase,它們與JavaScript一樣,可在瀏覽器上運行。為了統(tǒng)一規(guī)格,且JavaScript兼容于ECMA標準,因此,JavaScript也稱為ECMAScript。

VBScript是Visual Basic Script的簡稱,即Visual Basic腳本語言,有時也縮寫為VBS,它是微軟的Visual Basic語言的子集。使用VBScript,可通過Windows腳本宿主調用COM,所以可以使用部分Windows操作系統(tǒng)的程序庫。VBScript是IIS的默認源程序語言。

例1.4 在HTML中使用JavaScript腳本顯示對話框,代碼如下。(源代碼:\chapter1\t4\test4.html)

<html>
    <head>
         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
         <script type="text/javascript">
            function showdialog(){
                  var ok=confirm("請單擊一個按鈕!");
                  if (ok==true){
                        alert("你單擊了“確定”按鈕!");
                  }else{
                       alert("你單擊了“取消”按鈕!");
                  }
            }
         </script>
    </head>
    <body>
     <input type="button" onclick="showdialog()">單擊按鈕測試JavaScript 腳本</input>
    </body>
</html>

上面的HTML文件在IE中顯示的結果如圖1.6所示。打開HTML文件后,在頁面中單擊43052-00-015-1按鈕,會打開圖1.7所示的對話框,提示“請單擊一個按鈕”,此時可單擊對話框中的43052-00-015-243052-00-015-3按鈕。

43052-00-015-4

圖1.6 在HTML中使用JavaScript腳本顯示對話框

43052-00-015-5

圖1.7 JavaScript對話框

3. Web服務器

Web服務器即WWW(World Wide Web,萬維網(wǎng))服務器,是網(wǎng)絡服務器計算機中的一種應用程序,用于提供WWW服務。WWW服務即通過互聯(lián)網(wǎng)為用戶提供各種網(wǎng)頁。網(wǎng)頁是網(wǎng)站的基本信息單位,它通常由文字、圖片、動畫和聲音等多種媒體信息以及鏈接組成,用HTML編寫,通過鏈接實現(xiàn)與其他網(wǎng)頁或網(wǎng)站的關聯(lián)和跳轉。一個網(wǎng)站的所有網(wǎng)頁和相關資源都需要上傳到Web服務器所在的網(wǎng)絡服務器計算機中,保存在Web服務器管理的目錄。Web服務器中的每個網(wǎng)頁都有一個URL(Uniform Resource Locator,統(tǒng)一資源定位符),用戶在客戶端的瀏覽器地址欄中輸入URL或其他頁面的URL超級鏈接可以訪問網(wǎng)頁。

萬維網(wǎng)由Web客戶端瀏覽器、Web服務器和網(wǎng)頁資源組成。用戶訪問網(wǎng)絡時,客戶端瀏覽器和Web服務器之間通過HTTP(HyperText Transfer Protocol,超文本傳輸協(xié)議)完成信息的交換。當用戶在瀏覽器中訪問網(wǎng)頁時,首先由瀏覽器向Web服務器發(fā)出請求,建立與服務器的連接。然后用戶請求被封裝在一個HTTP包中傳遞給Web服務器,Web服務器解析收到的HTTP請求數(shù)據(jù)包,給客戶端返回一個HTTP響應。

如果用戶請求訪問的是一個HTML文件,這個HTML文件會直接作為HTTP響應返回;如果用戶請求訪問的是一個服務器端腳本文件,如PHP、JSP或ASP .NET文件,該腳本會被傳遞給響應的處理程序進行處理,處理的結果最后會產(chǎn)生一個HTML文件返回客戶端。常用的Web服務器有IIS、Apache、Nginx、Tomcat及Weblogic等。

4. 數(shù)據(jù)庫服務器、數(shù)據(jù)庫管理系統(tǒng)

目前各種網(wǎng)站都會使用到數(shù)據(jù)庫,而各種業(yè)務邏輯的本質幾乎都涉及數(shù)據(jù)處理。為了高效并安全地處理大量數(shù)據(jù),必須使用數(shù)據(jù)庫管理系統(tǒng)。SQLite和Access等輕量級數(shù)據(jù)庫可以直接訪問,而Oracle、MS SQL Server和MySQL等大中型數(shù)據(jù)庫則需要配置數(shù)據(jù)庫服務器,由服務器內(nèi)置的管理系統(tǒng)負責數(shù)據(jù)的建立、更新和維護。

如果網(wǎng)頁中包含了數(shù)據(jù)請求,數(shù)據(jù)請求由Web服務器提交給數(shù)據(jù)庫服務器,數(shù)據(jù)庫負責完成數(shù)據(jù)請求的處理,將處理結果返回給Web服務器,Web服務器將最終處理結果封裝在HTML文件中返回給用戶。

5. Web服務器端編程技術

Web服務器端編程技術種類很多,常用的有Microsoft的ASP/ASP.NET、Sun的JSP(Sun公司于2010年被Oracle收購,但不少技術人員仍習慣認為Java習慣技術屬于Sun)和Zend的PHP。

(1)ASP/ASP.NET

ASP/ASP.NET是由Microsoft推出的Web服務器端編程技術,通常采用Windows服務器+IIS+SQL Server+ASP/ASP.NET組合進行Web應用程序開發(fā),所有技術均是Microsoft產(chǎn)品,因此兼容性較好、安裝使用方便,配置要求低。同時,Microsoft提供了大量的文檔和強大的開發(fā)工具。基于Microsoft技術的龐大用戶群,ASP/ASP.NET受到大量Web開發(fā)人員的支持。Microsoft相關技術都是商業(yè)軟件,這也導致了網(wǎng)站建設客觀成本比較高。Microsoft相關技術的跨平臺局限性也導致了ASP/ASP.NET只能用于Windows環(huán)境。

(2)JSP

JSP(Java Server Pages)是Java在Web應用程序開發(fā)中的應用,與ASP類似,JSP通過在HTML文件中插入Java代碼來實現(xiàn)業(yè)務邏輯。其中HTML文件稱為JSP文件,擴展名為.jsp。JSP文件在服務器端被處理,轉換為HTML文件返回客戶端。

借助于Java的跨平臺特性,JSP開發(fā)的Web應用程序同樣具有跨平臺特點,既可在UNIX、Linux系統(tǒng)中部署,也可在Windows系統(tǒng)中部署。

(3)PHP

PHP是一種免費、開源的Web開發(fā)技術,它通常與Linux、Apache和MySQL等開源軟件自由組合,形成了一個簡單、安全、低成本、開發(fā)速度快和部署靈活的開發(fā)平臺。PHP是本書的學習內(nèi)容,在后面的章節(jié)中將詳細介紹。

主站蜘蛛池模板: 延长县| 巩义市| 碌曲县| 利辛县| 临高县| 赣榆县| 城口县| 海伦市| 平武县| 广州市| 汽车| 北安市| 石柱| 福建省| 孝感市| 格尔木市| 抚松县| 蓬安县| 新巴尔虎右旗| 时尚| 海城市| 达拉特旗| 武川县| 绩溪县| 白城市| 吴江市| 黑山县| 迁西县| 齐齐哈尔市| 饶河县| 衡东县| 福安市| 交城县| 庆阳市| 满城县| 陆良县| 禹州市| 卓资县| 定安县| 株洲县| 山西省|