一瘤礁、基本概念
1瞻颂、WEB開發(fā)的相關(guān)知識(shí)
WEB,在英語中web即表示網(wǎng)頁的意思粹舵,它用于表示Internet主機(jī)上供外界訪問的資源册烈。
Internet上供外界訪問的Web資源分為:
1)靜態(tài)web資源(如html 頁面):指web頁面中供人們?yōu)g覽的數(shù)據(jù)始終是不變戈泼。
2)動(dòng)態(tài)web資源:指web頁面中供人們?yōu)g覽的數(shù)據(jù)是由程序產(chǎn)生的,不同時(shí)間點(diǎn)訪問web頁面看到的內(nèi)容各不相同赏僧。
靜態(tài)web資源開發(fā)技術(shù):Html
常用動(dòng)態(tài)web資源開發(fā)技術(shù):JSP/Servlet大猛、ASP淀零、PHP等
在Java中,動(dòng)態(tài)web資源開發(fā)技術(shù)統(tǒng)稱為Javaweb唉堪。
2、WEB應(yīng)用程序
WEB應(yīng)用程序指供瀏覽器訪問的程序肩民,通常也簡稱為web應(yīng)用唠亚。例如有a.html 持痰、b.html…..多個(gè)web資源,這多個(gè)web資源用于對(duì)外提供服務(wù),此時(shí)應(yīng)把這多個(gè)web資源放在一個(gè)目錄中割卖,以組成一個(gè)web應(yīng)用(或web應(yīng)用程序)
一個(gè)web應(yīng)用由多個(gè)靜態(tài)web資源和動(dòng)態(tài)web資源組成前酿,如:html、css薪者、js文件剿涮,Jsp文件、java程序取试、支持jar包瞬浓、配置文件等等初婆。
Web應(yīng)用開發(fā)好后磅叛,若想供外界訪問萨赁,需要把web應(yīng)用所在目錄交給web服務(wù)器管理,這個(gè)過程稱之為虛似目錄的映射
3敲董、WEB發(fā)展史
WEB發(fā)展的兩個(gè)階段:靜態(tài)慰安、動(dòng)態(tài)
4、靜態(tài)WEB
*htm萄窜、*html撒桨,這些是網(wǎng)頁的后綴,如果現(xiàn)在在一個(gè)服務(wù)器上直接讀取這些內(nèi)容元莫,那么意味著是把這些網(wǎng)頁的內(nèi)容通過網(wǎng)絡(luò)服務(wù)器展現(xiàn)給用戶踱蠢。整個(gè)靜態(tài)WEB操作的過程圖如下:
在靜態(tài)WEB程序中,客戶端使用WEB瀏覽器(IE苇侵、FireFox等)經(jīng)過網(wǎng)絡(luò)(Network)連接到服務(wù)器上企锌,使用HTTP協(xié)議發(fā)起一個(gè)請(qǐng)求(Request),告訴服務(wù)器我現(xiàn)在需要得到哪個(gè)頁面撕攒,所有的請(qǐng)求交給WEB服務(wù)器,之后WEB服務(wù)器根據(jù)用戶的需要萍鲸,從文件系統(tǒng)(存放了所有靜態(tài)頁面的磁盤)取出內(nèi)容擦俐。之后通過WEB服務(wù)器返回給客戶端,客戶端接收到內(nèi)容之后經(jīng)過瀏覽器渲染解析嘿期,得到顯示的效果埋合。
靜態(tài)WEB中存在以下幾個(gè)缺點(diǎn):
1)饥悴、Web頁面中的內(nèi)容無法動(dòng)態(tài)更新,所有的用戶每時(shí)每刻看見的內(nèi)容和最終效果都是一樣的西设。
為了可以讓靜態(tài)的WEB的顯示更加好看贷揽,可以加入了JavaScript以完成一些頁面上的顯示特效,但是這些特效都是在客戶端上借助于瀏覽器展現(xiàn)給用戶的蓖救,所以在服務(wù)器上本身并沒有任何的變化印屁。
實(shí)現(xiàn)靜態(tài)WEB客戶端動(dòng)態(tài)效果的手段:
JavaScript
VBScript
在實(shí)際的開發(fā)中JavaScript使用得最多。
2)从橘、靜態(tài)WEB無法連接數(shù)據(jù)庫,無法實(shí)現(xiàn)和用戶的交互叉谜。
使用數(shù)據(jù)庫保存數(shù)據(jù)是現(xiàn)在大多數(shù)系統(tǒng)的選擇踩萎,因?yàn)閿?shù)據(jù)庫中可以方便地管理數(shù)據(jù),增刪改查操作可以使用標(biāo)準(zhǔn)的SQL語句完成董栽。
5回还、動(dòng)態(tài)WEB
所謂的動(dòng)態(tài)不是指頁面會(huì)動(dòng),主要的特性的是:“WEB的頁面展示效果因時(shí)因人而變”工禾,而且動(dòng)態(tài)WEB具有交互性蝗柔,WEB的頁面的內(nèi)容可以動(dòng)態(tài)更新。整個(gè)動(dòng)態(tài)WEB操作的過程圖如下:
動(dòng)態(tài)WEB中槽畔,程序依然使用客戶端和服務(wù)端厢钧,客戶端依然使用瀏覽器(IE嬉橙、FireFox等),通過網(wǎng)絡(luò)(Network)連接到服務(wù)器上霞扬,使用HTTP協(xié)議發(fā)起請(qǐng)求(Request)枫振,現(xiàn)在的所有請(qǐng)求都先經(jīng)過一個(gè)WEB Server Plugin(服務(wù)器插件)來處理,此插件用于區(qū)分是請(qǐng)求的是靜態(tài)資源(*.htm或者是*.htm)還是動(dòng)態(tài)資源斧拍。
如果WEB Server Plugin發(fā)現(xiàn)客戶端請(qǐng)求的是靜態(tài)資源(*.htm或者是*.htm)杖小,則將請(qǐng)求直接轉(zhuǎn)交給WEB服務(wù)器怕吴,之后WEB服務(wù)器從文件系統(tǒng)中取出內(nèi)容,發(fā)送回客戶端瀏覽器進(jìn)行解析執(zhí)行伟件。
如果WEB Server Plugin發(fā)現(xiàn)客戶端請(qǐng)求的是動(dòng)態(tài)資源(*.jsp斧账、*.asp/*.aspx、*.php)嗓袱,則先將請(qǐng)求轉(zhuǎn)交給WEB Container(WEB容器)习绢,在WEB Container中連接數(shù)據(jù)庫,從數(shù)據(jù)庫中取出數(shù)據(jù)等一系列操作后動(dòng)態(tài)拼湊頁面的展示內(nèi)容梧却,拼湊頁面的展示內(nèi)容后败去,把所有的展示內(nèi)容交給WEB服務(wù)器,之后通過WEB服務(wù)器將內(nèi)容發(fā)送回客戶端瀏覽器進(jìn)行解析執(zhí)行广鳍。
6)吓妆、動(dòng)態(tài)WEB應(yīng)用的實(shí)現(xiàn)手段
動(dòng)態(tài)WEB現(xiàn)在的實(shí)現(xiàn)手段非常多耿战,較為常見的有以下幾種:
Microsoft ASP、ASP.NET
PHP
JAVA Servlet/JSP
1剂陡、Microsoft ASP鸭栖、ASP.NET
微軟公司動(dòng)態(tài)WEB開發(fā)是比較早的,而且最早在國內(nèi)最流行的是ASP松却。ASP就是在HTML語言之中增加了VB腳本,但是標(biāo)準(zhǔn)的開發(fā)應(yīng)用應(yīng)該是使用ASP+COM歌焦,但是實(shí)際情況來看砚哆,在開發(fā)ASP的時(shí)候基本上都在一個(gè)頁面中寫上成百上千的代碼,頁面代碼極其混亂纷铣。
ASP本身有開發(fā)平臺(tái)的限制:Windows+IIS+SQL Server/Access战转,ASP只能運(yùn)行在Windows操作系統(tǒng)上,ASP現(xiàn)在基本上已經(jīng)淘汰啄踊,現(xiàn)在基本上都是使用ASP.NET進(jìn)行開發(fā)色鸳,ASP.NET在性能有了很大的改善命雀,而且開發(fā)迅速,但是依然受限于平臺(tái)吏砂。ASP.NET中主要是使用C#語言狐血。
2.PHP
PHP開發(fā)速度很快,功能強(qiáng)大浪默,跨平臺(tái)(平臺(tái)指的就是運(yùn)行的操作系統(tǒng))缀匕,而且代碼也簡單。
3.Servlet/JSP
這是SUN公司(SUN現(xiàn)在已經(jīng)被Oracle公司收購)主推的B/S架構(gòu)的實(shí)現(xiàn)語言阔加,是基于JAVA語言發(fā)展起來的满钟,因?yàn)镴AVA語言足夠簡單,而且很干凈夭织。
Servlet/JSP技術(shù)的性能也是非常高的摔癣,不受平臺(tái)的限制,各個(gè)平臺(tái)基本上都可以使用择浊。而且在運(yùn)行中是使用多線程的處理方式琢岩,所以性能非常高师脂。
SUN公司最早推出的WEB技術(shù)推出的是Servlet程序,Servlet程序本身使用的時(shí)候有一些問題糕篇,所有的程序是采用JAVA代碼+HTML的方式編寫的酌心,即安券,要使用JAVA輸出語句,一行一行地輸出所有的HTML代碼鹦筹,之后址貌,SUN公司受到了ASP的啟發(fā),發(fā)展出了JSP(Java Server Page)遍蟋,JSP某些代碼的編寫效果與ASP是非常相似的锹淌。這樣可以很方便地使一些ASP程序員轉(zhuǎn)向JSP的學(xué)習(xí)赂摆,加大市場的競爭力度钟些。
二绊谭、WEB服務(wù)器
2.1、WEB服務(wù)器簡介
1篙耗、Web服務(wù)器是指駐留于因特網(wǎng)上某種類型計(jì)算機(jī)的程序宗弯,是可以向發(fā)出請(qǐng)求的瀏覽器提供文檔的程序搂妻。當(dāng)Web瀏覽器(客戶端)連到服務(wù)器上并請(qǐng)求文件時(shí),服務(wù)器將處理該請(qǐng)求并將文件反饋到該瀏覽器上邓厕,附帶的信息會(huì)告訴瀏覽器如何查看該文件(即文件類型)扁瓢。
2引几、服務(wù)器是一種被動(dòng)程序:只有當(dāng)Internet上運(yùn)行在其他計(jì)算機(jī)中的瀏覽器發(fā)出請(qǐng)求時(shí),服務(wù)器才會(huì)響應(yīng)硅堆。
2.2渐逃、常見的Web服務(wù)器介紹
1民褂、WebLogic
WebLogic是美國bea公司出品的一個(gè)application server赊堪。BEA WebLogic是用于開發(fā)、集成哭廉、部署和管理大型分布式Web應(yīng)用、網(wǎng)絡(luò)應(yīng)用和數(shù)據(jù)庫應(yīng)用的Java應(yīng)用服務(wù)器辽幌。將Java的動(dòng)態(tài)功能和Java Enterprise標(biāo)準(zhǔn)的安全性引入大型網(wǎng)絡(luò)應(yīng)用的開發(fā)乌企、集成、部署和管理之中拳喻。是目前應(yīng)用最廣泛的Web服務(wù)器猪腕,支持J2EE規(guī)范陋葡,而且不斷的完善以適應(yīng)新的開發(fā)要求,啟動(dòng)界面如圖
2、WebSphere
WebSphere Application Server 是一種功能完善柴梆、開放的Web應(yīng)用程序服務(wù)器终惑,是IBM公司電子商務(wù)計(jì)劃的核心部分,它是基于 Java 的應(yīng)用環(huán)境偿渡,用于建立溜宽、部署和管理 Internet 和 Intranet Web 應(yīng)用程序质帅。這一整套產(chǎn)品進(jìn)行了擴(kuò)展,以適應(yīng) Web應(yīng)用程序服務(wù)器的需要嫉嘀,范圍從簡單到高級(jí)直到企業(yè)級(jí)魄揉。啟動(dòng)界面如圖:
3洛退、Tomcat
TomcatTomcat是一個(gè)實(shí)現(xiàn)了JAVA EE標(biāo)準(zhǔn)的最小的WEB服務(wù)器杰标,是Apache 軟件基金會(huì)的Jakarta 項(xiàng)目中的一個(gè)核心項(xiàng)目在旱,由Apache推掸、Sun 和其他一些公司及個(gè)人共同開發(fā)而成。因?yàn)門omcat 技術(shù)先進(jìn)登渣、性能穩(wěn)定毡泻,而且開源免費(fèi)仇味,因而深受Java 愛好者的喜愛并得到了部分軟件開發(fā)商的認(rèn)可,成為目前比較流行的Web 應(yīng)用服務(wù)器廊遍。學(xué)習(xí)JavaWeb開發(fā)一般都使用Tomcat服務(wù)器贩挣,該服務(wù)器支持全部JSP以及Servlet規(guī)范王财。
4、IIS
Microsoft的Web服務(wù)器產(chǎn)品為Internet Information Services (IIS)见咒,IIS 是允許在公共Intranet或Internet上發(fā)布信息的Web服務(wù)器疯溺。ⅡS是目前最流行的Web服務(wù)器產(chǎn)品之一囱嫩,很多著名的網(wǎng)站都是建立在ⅡS的平 臺(tái)上。IIS提供了一個(gè)圖形界面的管理工具今妄,稱為Internet信息服務(wù)管理器,可用于監(jiān)視配置和控制Internet服務(wù)犬性。
IIS是一種Web服務(wù)組件腾仅,其中包括Web服務(wù)器、FTP服務(wù)器鹤耍、NNTP服務(wù)器和SMTP服務(wù)器稿黄,分別用于網(wǎng)頁瀏覽跌造、文件傳輸、新聞服務(wù)和郵件發(fā)送等方面陵珍,它使得在網(wǎng)絡(luò)(包括互聯(lián)網(wǎng)和局域網(wǎng))上發(fā)布信息成了一件很容易的事撑教。它提供ISAPI(Intranet Server API)作為擴(kuò)展Web服務(wù)器功能的編程接口醉拓;同時(shí)收苏,它還提供一個(gè)Internet數(shù)據(jù)庫連接器鹿霸,可以實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的查詢和更新。
學(xué)習(xí)web開發(fā)钻哩,需要先安裝一臺(tái)web服務(wù)器街氢,然后再在web服務(wù)器中開發(fā)相應(yīng)的web資源睦袖,供用戶使用瀏覽器訪問。
更多java小知識(shí)可詢?nèi)?62403503或點(diǎn)擊下方藍(lán)色字體了解伦乔。