第1章JSP概述_第1頁
第1章JSP概述_第2頁
第1章JSP概述_第3頁
第1章JSP概述_第4頁
第1章JSP概述_第5頁
已閱讀5頁,還剩75頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、主講(zhjing):馬建紅電話:63887290辦公室:水環(huán)樓307郵箱:majianhongJSP應(yīng)用(yngyng)開發(fā)技術(shù)JSP應(yīng)用與開發(fā)技術(shù)共八十頁1、課程(kchng)的地位、先修課程(kchng)本課程是一門(y mn)專業(yè)必修課程,它主要講授如何使用JSP程序設(shè)計的原理、方法和技術(shù)開發(fā)基于B/S架構(gòu)的動態(tài)網(wǎng)站。先修課程:要求學(xué)習(xí)者具備一定的Java程序設(shè)計基礎(chǔ),因此必須先修Java程序設(shè)計;該課程需要操作數(shù)據(jù)庫,因此必須先修數(shù)據(jù)庫原理;另外由于牽涉網(wǎng)頁的設(shè)計所以先修課還需要網(wǎng)頁設(shè)計。2共八十頁3課程(kchng)在專業(yè)課程(kchng)體系中的地位JSP項目(xingm)實訓(xùn)J

2、ava程序設(shè)計數(shù)據(jù)庫原理網(wǎng)頁設(shè)計J2EE程序設(shè)計Ajax程序設(shè)計SSH框架手機開發(fā)共八十頁課程(kchng)特點1以Java和HTML這兩類語法(yf)為基礎(chǔ)3綜合以往所學(xué)知識能真正開發(fā)一個實用的項目2結(jié)合數(shù)據(jù)庫應(yīng)用實訓(xùn)的基礎(chǔ)4共八十頁2、教學(xué)(jio xu)目標(biāo)設(shè)計開發(fā)JSP動態(tài)(dngti)網(wǎng)站應(yīng)用程序設(shè)計Java應(yīng)用網(wǎng)頁設(shè)計采用MVC模式輔助標(biāo)簽庫連接某種數(shù)據(jù)庫管理系統(tǒng)采用JSP+ JavaBean以知識為本位 以能力培養(yǎng)為導(dǎo)向共八十頁課程(kchng)的任務(wù) 掌握J(rèn)SP編程技術(shù):掌握J(rèn)SP的語法;掌握J(rèn)SP對文件的操作;掌握J(rèn)SP對數(shù)據(jù)庫的操作;掌握J(rèn)SP中采用的JavaBean;掌握

3、JSP中采用的Servlet技術(shù)(jsh);掌握MVC編程模式。共八十頁課程(kchng)的知識點JSP的語法JSP對文件的操作JSP對數(shù)據(jù)庫的操作MVC編程模式JSP中采用JavaBeanServlet技術(shù)共八十頁3、教學(xué)內(nèi)容及學(xué)時(xush)分配第7章 JavaBean和表單處理;第8章 JSP中文件的操作(cozu)。學(xué)時:8+4第4章 JSP基本語法;第5章 JSP內(nèi)置對象;第6章 使用Cookie記錄信息學(xué)時:16+8第1章 JSP概述;第2章 JSP動態(tài)網(wǎng)頁設(shè)計基礎(chǔ);第3章 JSP環(huán)境配置學(xué)時:8+41、JSP編程基礎(chǔ)與環(huán)境配置2、JSP應(yīng)用開發(fā)基礎(chǔ)3、JSP應(yīng)用開發(fā)進(jìn)階第15章標(biāo)

4、準(zhǔn)標(biāo)簽庫(JSTL);第16章創(chuàng)建自定義標(biāo)簽庫。學(xué)時:4+2總學(xué)時:72+36=108第12章Servlet基礎(chǔ);第13章 使用Servlet過濾器和監(jiān)聽器;第14章 使用MVC模式實現(xiàn)BBS論壇。學(xué)時:16+8第9章 數(shù)據(jù)庫操作基礎(chǔ);第10章應(yīng)用JDBC進(jìn)行數(shù)據(jù)庫開發(fā);第11章JSP數(shù)據(jù)庫應(yīng)用實例-留言板的設(shè)計與實現(xiàn)學(xué)時:16+84、JSP數(shù)據(jù)庫編程基礎(chǔ)5、Servlet技術(shù)6、標(biāo)簽庫7、Web應(yīng)用開發(fā)實例學(xué)時:4+2共八十頁9共八十頁重點(zhngdin)和難點JSP開發(fā)Web應(yīng)用程序,如動態(tài)網(wǎng)站的開發(fā);重點JavaBean和Servlet技術(shù),通過系統(tǒng)的學(xué)習(xí),學(xué)生能夠利用JSP技術(shù)進(jìn)行網(wǎng)

5、站的簡單設(shè)計和開發(fā)。難點共八十頁4、教學(xué)資料教材JSP應(yīng)用開發(fā)詳解(xin ji)(第三版)JSP應(yīng)用開發(fā)技術(shù)JSP應(yīng)用與開發(fā)技術(shù)JSP應(yīng)用與開發(fā)技術(shù)(第2版)教學(xué)用軟件和資料 FTP89/馬建紅13JSP網(wǎng)絡(luò)資源共八十頁項目分組作品(zupn)展示共八十頁關(guān)于(guny)教材JSP(Java Server Pages)是目前動態(tài)網(wǎng)站開發(fā)技術(shù)中最典型(dinxng)的一種。JSP繼承了Java語言的優(yōu)勢,是一種與平臺無關(guān)的開發(fā)技術(shù),而Java技術(shù)也賦予了JSP為用戶提供強大功能的技術(shù)支持。JSP語言雖然綜合性地包括了Java和HTML這兩類語法,但不能通過簡單地使用JSP,用這種方式開發(fā)出來的

6、Web應(yīng)用程序是非常難以維護(hù)的。對JSP使用觀念的建立,以及JavaBean、數(shù)據(jù)庫、Servlet等技術(shù)的了解運用是利用JSP開發(fā)復(fù)雜的商業(yè)級網(wǎng)站的重點。13共八十頁教材的組織(zzh)結(jié)構(gòu)本書共16章,可以分成七個部分。第一部分 JSP編程基礎(chǔ)與環(huán)境配置,包括三章:第1章 JSP概述;第2章 JSP動態(tài)網(wǎng)頁設(shè)計基礎(chǔ);第3章 JSP環(huán)境配置,介紹JSP應(yīng)用技術(shù)(jsh)的前導(dǎo)知識和開發(fā)環(huán)境的搭建。第二部分JSP應(yīng)用開發(fā)基礎(chǔ),包括三章:第4章 JSP基本語法;第5章 JSP內(nèi)置對象;第6章 使用Cookie記錄信息,詳細(xì)講解了JSP技術(shù)的基本語法。14共八十頁第三部分 JSP應(yīng)用開發(fā)進(jìn)階,包括

7、兩章:第7章 JavaBean和表單處理;第8章 JSP中文件的操作。這部分主要介紹了JavaBean分離表示與實現(xiàn)、使用JSP處理HTML表單、使用Java類庫里的I/O類,開發(fā)具備文件存取功能的網(wǎng)頁程序。第四部分 JSP數(shù)據(jù)庫編程基礎(chǔ)包括三章:第9章 數(shù)據(jù)庫操作基礎(chǔ);第10章應(yīng)用JDBC進(jìn)行數(shù)據(jù)庫開發(fā);第11章JSP+JavaBean+DB的實例,以MySql數(shù)據(jù)庫為例詳細(xì)講解(jingji)了JSP中使用數(shù)據(jù)庫的操作包括JDBC、連接池、分頁處理等技術(shù)。15共八十頁第五部分 Servlet技術(shù) 包括兩章:第12章Servlet基礎(chǔ)(jch);第13章 使用Servlet過濾器和監(jiān)聽器;通

8、過實例講述了Servlet的開發(fā)和部署。第六部分 標(biāo)簽庫 包括兩章:第14章標(biāo)準(zhǔn)標(biāo)簽庫(JSTL);第15章創(chuàng)建自定義標(biāo)簽庫。這部分是使用JSP進(jìn)行程序開發(fā)的擴展知識。第七部分 第16章講解了Web開發(fā)的具體應(yīng)用。,運用MVC技術(shù),采用三層架構(gòu),并采用了自定義標(biāo)簽和EL等技術(shù)展示了一個門戶網(wǎng)站綜合實例,使讀者對這些技術(shù)的使用有更深刻的了解。16共八十頁5、考核(koh)方法 考試(kosh)總成績=平時成績(10%)+平時實踐(10%)+期末大作業(yè)(30%)+期中考試(20%)+期末考試(30%)17共八十頁第1章 JSP概述(i sh) 1.1 軟件(run jin)編程體系簡介1.2 企業(yè)

9、應(yīng)用開發(fā)架構(gòu)1.3 JSP概述 1.4 JSP知識體系及學(xué)習(xí)之路18共八十頁本章學(xué)習(xí)目標(biāo):了解軟件編程體系了解企業(yè)應(yīng)用開發(fā)架構(gòu)掌握(zhngw)JSP基本概念掌握J(rèn)SP的知識體系了解JSP的學(xué)習(xí)之路19共八十頁1.1軟件(run jin)編程體系簡介20共八十頁21客戶機/服務(wù)器(Client/Server,C/S)模式最大特點是在每個用戶端需要安裝程序,所有用戶端程序和中心服務(wù)器進(jìn)行信息交互優(yōu)點是用戶端程序一致,比較方便控制,服務(wù)器端和用戶本地的數(shù)據(jù)很容易進(jìn)行交互,通信(tng xn)速度比較快。缺點是每個用戶都需要安裝客戶端,比較繁瑣,而且不能很好的跨操作系統(tǒng)平臺。C/S結(jié)構(gòu)(jigu)編

10、程體系 共八十頁22服務(wù)器只集中管理數(shù)據(jù),計算任務(wù)分散在客戶機上,客戶機和服務(wù)器之間通過網(wǎng)絡(luò)協(xié)議來進(jìn)行通訊; 客戶端先進(jìn)行簡單的預(yù)處理,將處理后的結(jié)果(ji gu)再提交給服務(wù)器進(jìn)行進(jìn)一步的處理。這種模式我們也通常成為胖客戶端模式。C/S結(jié)構(gòu)通常適用于具有固定的用戶端或者少量的用戶端,并且是對安全性要求比較高的應(yīng)用。典型的系統(tǒng):QQ、MSN、郵局信息管理系統(tǒng)、飛機票火車票售票系統(tǒng)。共八十頁23瀏覽器/服務(wù)器(Browser/Server,B/S)模式客戶端使用通用(tngyng)的瀏覽器(如:NetScape、Explorer)代替各種應(yīng)用軟件,服務(wù)器則為Web服務(wù)器。瀏覽器和服務(wù)器之間通過T

11、CP/IP通信協(xié)議進(jìn)行連接,瀏覽器發(fā)出請求,由Web服務(wù)器向后臺取出數(shù)據(jù)進(jìn)行處理,并將結(jié)果返回給瀏覽器。這種模式,我們通常將其稱為瘦客戶端模式。典型的系統(tǒng):網(wǎng)上銀行、網(wǎng)上購物、Blog等等 B/S結(jié)構(gòu)(jigu)編程體系 共八十頁24共八十頁B/S基礎(chǔ)知識萬維網(wǎng)(WWW)是世界上最大的電子信息倉庫,由眾多的Web站點組成。每個Web站點都包含一些特定的資源,這些資源存放于一臺或多臺被稱作Web服務(wù)器的計算機之上。如電子商務(wù)網(wǎng)站(wn zhn)(阿里巴巴等)、以及我們?nèi)粘J褂玫陌俣?、搜狐、新浪、淘寶等等一些系統(tǒng)。共八十頁B/S基礎(chǔ)知識-網(wǎng)頁(wn y)的分類:靜態(tài)網(wǎng)頁:是指一旦網(wǎng)頁制作成功就不能

12、隨意更改或需要專業(yè)的技術(shù)人員進(jìn)行修改(xigi)。不能實現(xiàn)用戶與服務(wù)器之間的交互,制作周期較長,更改困難,適應(yīng)于一些不需要經(jīng)常修改內(nèi)容的網(wǎng)頁。鄭大學(xué)校概況/gaikuang.htm共八十頁靜態(tài)網(wǎng)頁及其執(zhí)行過程(guchng):任何Web服務(wù)器都支持靜態(tài)網(wǎng)頁:首先用戶在瀏覽器的地址欄中鍵入要訪問的地址,并回車出發(fā)請求瀏覽器將請求發(fā)送到指定的Web服務(wù)器上。Web服務(wù)器接收請求并根據(jù)htm或html后綴判斷所請求的靜態(tài)網(wǎng)頁Web服務(wù)器從硬盤或者內(nèi)存中讀取正確的htm頁面,然后將其送回用戶瀏覽器。共八十頁B/S基礎(chǔ)知識-網(wǎng)頁(wn y)的分類:動態(tài)網(wǎng)頁:是指能夠根據(jù)用戶的請求而動態(tài)生成顯示的結(jié)果。不

13、需要維護(hù)人員經(jīng)常手動更新,它能夠根據(jù)不同的時間,不同的人產(chǎn)生不同的頁面。目前絕大多數(shù)的網(wǎng)站采用的都是動態(tài)網(wǎng)頁技術(shù)如JSP、ASP、PHP以及CGI技術(shù)等。/ 動態(tài)網(wǎng)頁技術(shù)根據(jù)實現(xiàn)的不同還可以(ky)分為:客戶端動態(tài)網(wǎng)頁技術(shù)服務(wù)器端動態(tài)網(wǎng)頁技術(shù)共八十頁客戶端動態(tài)(dngti)網(wǎng)頁技術(shù)與靜態(tài)網(wǎng)頁非常類似(li s):只是客戶端的瀏覽器在接收到服務(wù)器端傳送而來的資源時,還需要負(fù)責(zé)對其中的腳本進(jìn)行解釋執(zhí)行,并產(chǎn)生動態(tài)效果。實現(xiàn)的語言有:javaScript和VBScript腳本語言。共八十頁服務(wù)器端動態(tài)(dngti)網(wǎng)頁技術(shù):服務(wù)器端動態(tài)網(wǎng)頁(wn y)技術(shù)和我們前面討論的兩種運行原理不同:首先用戶在

14、瀏覽器的地址欄中鍵入要訪問的地址,并回車出發(fā)請求瀏覽器將請求發(fā)送到指定的Web服務(wù)器上。Web服務(wù)器接收請求并根據(jù)后綴(如.jsp、php)判斷所請求的動態(tài)網(wǎng)頁。Web服務(wù)將這個動態(tài)網(wǎng)頁文件從頭到尾執(zhí)行,并根據(jù)執(zhí)行的結(jié)果生成相應(yīng)的HTML文件將生成的HTML文件送回瀏覽器用戶端的瀏覽器對這些HTML文件進(jìn)行解析并顯示共八十頁主流動態(tài)(dngti)頁面技術(shù)目前主要(zhyo)是3P技術(shù)ASP(Active Server Pages)JSP(Java Server Pages)PHP(Hypertext Preprocessor)微軟公司由sun公司倡導(dǎo),多家公司參與建立的一種工業(yè)標(biāo)準(zhǔn),獲得了大多

15、數(shù)廠商的支持是免費軟件,不是工業(yè)標(biāo)準(zhǔn),沒有固定廠商的支持共八十頁1.2 企業(yè)應(yīng)用開發(fā)(kif)架構(gòu) 在構(gòu)建企業(yè)級應(yīng)用的時候,通常需要大量的代碼,而且這些代碼一般分布(fnb)在不同的計算機上,劃分代碼運行在不同計算機上的理論就是多層設(shè)計理論。企業(yè)級應(yīng)用系統(tǒng)通常分成兩層三層N層架構(gòu)32共八十頁兩層架構(gòu)(ji u) 傳統(tǒng)的兩層應(yīng)用包括用戶接口和后臺程序,后臺程序通常是一個數(shù)據(jù)庫,用戶接口直接同數(shù)據(jù)庫進(jìn)行對話。實現(xiàn)上,通常使用JSP、ASP或者VB等技術(shù)編寫這類軟件,結(jié)構(gòu)如圖 兩層應(yīng)用架構(gòu)(ji u)顯示邏輯層一般由HTML、JSP、ASP實現(xiàn),通過JSP和ASP直接和數(shù)據(jù)庫相連 33共八十頁三層架

16、構(gòu)(ji u) 在兩層應(yīng)用中,應(yīng)用程序直接同數(shù)據(jù)庫進(jìn)行對話。三層結(jié)構(gòu)在用戶接口代碼(di m)和數(shù)據(jù)庫中間加入了一個附加的邏輯層,通常這個層叫做“商務(wù)邏輯層”,如圖 34共八十頁N層架構(gòu)(ji u) 如果某個應(yīng)用超過三個獨立的代碼層,那么(n me)這個應(yīng)用叫做N應(yīng)用,就不再叫四層或者五層等名稱,而是統(tǒng)稱為N層。如圖35共八十頁開發(fā)架構(gòu)(ji u)比較 兩層架構(gòu)的優(yōu)點是開發(fā)過程比較簡單,利用服務(wù)器端的程序直接訪問數(shù)據(jù)庫,部署起來比較方便。缺點是程序代碼維護(hù)起來比較困難,程序執(zhí)行的效率比較低,用戶容量比較少。三層架構(gòu)基本解決了兩層架構(gòu)的缺點,將顯示部分和邏輯流程控制分開,利用服務(wù)器應(yīng)用程序?qū)崿F(xiàn)顯

17、示部分,利用商務(wù)邏輯層實現(xiàn)程序的流程控制,分層使維護(hù)變的方便一些,而且執(zhí)行效率也會有所提高,但是相對部署起來就比較困難一些。根據(jù)實際的需要,會進(jìn)一步細(xì)化每一層,或者(huzh)添加一些層,就形成了N層架構(gòu),和三層架構(gòu)一樣,組件化的設(shè)計使維護(hù)相對容易,但是部署相對困難。36共八十頁1.3 JSP概述(i sh) JSP(JavaServer Pages)是由Sun Microsystems公司(n s)倡導(dǎo)、許多公司(n s)參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。用JSP開發(fā)的Web應(yīng)用是跨平臺的。JSP的1.0規(guī)范的最后版本是1999年9月推出的,最新版本是2003年發(fā)布的JSP2.0。37共八

18、十頁什么(shn me)是JSP JSP技術(shù)是在傳統(tǒng)的網(wǎng)頁(wn y)HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件(*.jsp)。以下是helloWorld.jsp的源代碼38 Hello World! HTML語句用“% %”嵌入動態(tài)部分共八十頁39在Eclipse+tomcat環(huán)境下的運行效果(xiogu)如下圖所示:共八十頁JSP文件的主要(zhyo)結(jié)構(gòu):40. 其他 HTML 語言 其他 HTML 語言 共八十頁JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets:來封裝產(chǎn)生動態(tài)網(wǎng)頁

19、的處理邏輯(lu j)。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計和顯示分離,支持可重用的基于組件的設(shè)計,使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。 Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶。 JSP與Java Servlet一樣,是在服務(wù)器端執(zhí)行的,通常返回該客戶端的就是一個HTML文本,因此客戶端只要有瀏覽器就能瀏覽。41共八十頁JSP的特點:分離靜態(tài)內(nèi)容和動態(tài)內(nèi)容使用JSP,程序員可以使用HTML或XML標(biāo)記來設(shè)計和格式化靜態(tài)內(nèi)容,并通過JSP標(biāo)

20、記及JavaBean組件來制作動態(tài)內(nèi)容。服務(wù)器將執(zhí)行JSP標(biāo)記和小腳本程序,并將結(jié)果與頁面中的靜態(tài)部分結(jié)合后以HTML頁面的形式發(fā)送給客戶端瀏覽器。程序員可以將一些業(yè)務(wù)邏輯封裝到JavaBean組件中,Web頁面的設(shè)計人員可以利用程序員開發(fā)的JavaBean組件和JSP標(biāo)記來制作出動態(tài)頁面JSP的執(zhí)行效率比較高編寫簡單跨平臺JSP是以Java為基礎(chǔ)開發(fā)的,只要(zhyo)服務(wù)器支持JSP,就可以運行使用JSP開發(fā)的Web應(yīng)用程序,體現(xiàn)了它的跨平臺、跨服務(wù)器的特點。在數(shù)據(jù)庫操作中, JSP中使用Java API提供的JDBC來連接數(shù)據(jù)庫,JDBC是獨立于平臺的??梢郧短自诰W(wǎng)頁中42共八十頁JSP

21、技術(shù)(jsh)原理 本質(zhì)上,JSP是Servlet API的一個擴展。JSP在處理請求之前都要編譯成Servlet,所以它具有Servlet的所有優(yōu)勢(yush),包括訪問Java API。簡單的說,一個JSP頁面就是包含了能夠生成動態(tài)內(nèi)容的可執(zhí)行應(yīng)用代碼的HTML網(wǎng)頁。43共八十頁44JSP運行(ynxng)原理共八十頁45共八十頁當(dāng)服務(wù)器第一次接收到對某個頁面的請求時,JSP引擎就開始(kish)進(jìn)行上述的處理過程,將被請求的JSP文件編譯成Class文件。在后續(xù)對該頁面再次進(jìn)行請求時,若頁面沒有進(jìn)行任何改動,服務(wù)器只需直接調(diào)用Class文件執(zhí)行即可。所以當(dāng)某個JSP頁面第一次被請求時,會

22、有一些延遲,而再次訪問時會感覺快了很多。如果被請求的頁面經(jīng)過修改,服務(wù)器將會重新編譯這個文件,然后執(zhí)行。46共八十頁Servlet概念(ginin)Servlet概念(ginin)Servlet是運行在服務(wù)器上的Java程序,是一個中間層,主要用來處理客戶端請求,并對客戶端請求進(jìn)行響應(yīng),還可以連接應(yīng)用服務(wù)。Servlet是在服務(wù)器端實現(xiàn)動態(tài)網(wǎng)頁的一種技術(shù)47requestresponseServletEJBWeb 容器Web 瀏覽器共八十頁JSP生成(shn chn)的Servlet的生命周期48加載Servlet 類調(diào)用 Init方法進(jìn)行初始化設(shè)置創(chuàng)建Servlet 實例調(diào)用service

23、方法處理客戶端請求調(diào)用destroy 方法銷毀Servlet實例并釋放占用資源垃圾回收ServletConfig共八十頁Servlet的生命周期:1.客戶端向服務(wù)器發(fā)出請求,服務(wù)器根據(jù)客戶端的請求,找到相應(yīng)的Servlet類2.判斷該Servlet是否在內(nèi)存中加載?若未加載,創(chuàng)建該Servlet實例,調(diào)用init()方法完成初始化操作。若已經(jīng)加載,轉(zhuǎn)33. 調(diào)用service()方法對客戶端進(jìn)行響應(yīng)。等待(dngdi)下一次請求。在Servlet生命周期中,service()方法是其中的核心。每當(dāng)客戶端向Servlet發(fā)出一個請求時,該方法就會被調(diào)用,對用戶的請求進(jìn)行處理,并返回響應(yīng)。4.結(jié)束

24、,調(diào)用destroy()方法。當(dāng)服務(wù)器端不再需要該Servlet的時候,服務(wù)器調(diào)用destroy()方法卸載該Servlet,釋放Servlet運行時占用的資源。49共八十頁Servlet是一種獨立(dl)于平臺和協(xié)議的服務(wù)器端的Java應(yīng)用程序,可以生成動態(tài)的Web頁面。 它擔(dān)當(dāng)Web瀏覽器或其他HTTP客戶程序發(fā)出請求,與HTTP服務(wù)器上的數(shù)據(jù)庫或應(yīng)用程序之間的中間層。Servlet是位于Web 服務(wù)器內(nèi)部的服務(wù)器端的Java應(yīng)用程序,與傳統(tǒng)的從命令行啟動的Java應(yīng)用程序不同,Servlet由Web服務(wù)器進(jìn)行加載,該Web服務(wù)器必須包含支持Servlet的Java虛擬機。50共八十頁JS

25、P的運行(ynxng)原理共八十頁JSP和其它(qt)動態(tài)網(wǎng)站開發(fā)技術(shù)隨著Internet和電子商務(wù)等應(yīng)用的發(fā)展,動態(tài)網(wǎng)頁技術(shù)誕生了。動態(tài)網(wǎng)頁有以下幾個特點:交互性:即網(wǎng)頁會根據(jù)用戶的要求和選擇而動態(tài)改變和響應(yīng)。自動更新:即無需手動更新HTML文檔,自動生成新的頁面,這可大大節(jié)省工作量。因時因人而變:即當(dāng)不同(b tn)的時間、不同(b tn)的用戶訪問同一網(wǎng)址時會產(chǎn)生不同(b tn)的頁面,這就是所謂的個性化技術(shù)52共八十頁動態(tài)網(wǎng)頁技術(shù):CGI ASP PHP JSPCGI:Common Gateway InterfaceASP:Active Server PagePHP:Hypertext

26、 PreprocessorJSP:Java Server PageCGI (Common Gateway Interface) 公共(gnggng)網(wǎng)關(guān)接口,是外部程序和Web服務(wù)器之間的標(biāo)準(zhǔn)編程接口。現(xiàn)在已經(jīng)很少用,當(dāng)大批人同時使用一個CGI應(yīng)用程序時,服務(wù)器的速度很受影響。在早期,動態(tài)網(wǎng)頁只有采用CGI技術(shù),但由于編程困難、效率低下、修改復(fù)雜等缺陷,所以逐漸被ASP、PHP、JSP技術(shù)取代。53共八十頁JSP技術(shù)(jsh)Java Server Pages;動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn);動態(tài)頁面與靜態(tài)頁面分離(fnl),跨平臺性;JSP (*.jsp)=HTML文件(*.htm,*.html)+Jav

27、a程序片斷+JSP標(biāo)記;以Servlet技術(shù)為基礎(chǔ),提供強大的組件(Java Bean)支持功能;是一種開發(fā)Web應(yīng)用的理想構(gòu)架。54共八十頁JSP的優(yōu)勢程序可以跨臺平執(zhí)行。 JSP可以讓開發(fā)人員在任意環(huán)境中進(jìn)行(jnxng)開發(fā),在任意環(huán)境中進(jìn)行(jnxng)系統(tǒng)部署,在任意環(huán)境中擴展應(yīng)用程序。多樣化和功能強大的開發(fā)工具支持。Java有許多非常優(yōu)秀的開發(fā)工具,而且有許多可以免費得到,并且其中的許多已經(jīng)可以順利地運行于多種平臺之下。強大的可伸縮性。從只有一個小的jar文件就可以運行servlet/jsp到由多臺服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺Application進(jìn)行事務(wù)處理,一臺服務(wù)器到無數(shù)

28、臺服務(wù)器,Java顯示了巨大的生命力。55共八十頁JSP的弱勢跨平臺的功能和極度的伸縮能力極大地增加了產(chǎn)品的復(fù)雜性。 它在擴展時需要分成多少塊,那么java系統(tǒng)中就有多少種產(chǎn)品,所以用戶可能會看到j(luò)re,jdk,jsdk,jswdk等,而實際上它們是密不可分的。只要將它們有效地搭配在一起,就可以產(chǎn)生強大的效能。當(dāng)然,這同時也使應(yīng)用程序變得非常復(fù)雜。JSP運行是用class常駐內(nèi)存來完成(wn chng)的,雖然提高了響應(yīng)速度,但要占用相當(dāng)內(nèi)存。 Java的運行速度是用class常駐內(nèi)存來完成的,所以它在一些情況下所使用的內(nèi)存比起用戶數(shù)量來說確實是“最低性能價格比”了。從另一方面,它還需要硬盤空

29、間來儲存一系列的.java文件和.class文件,以及對應(yīng)的版本文件。JSP程序調(diào)試不方便。 JSP頁面首先被轉(zhuǎn)化為一個.java文件(Servlet),然后再被編譯。這樣,出錯信息實際上指向的是經(jīng)過轉(zhuǎn)化的那個.java文件而不是jsp本身。56共八十頁JSP與ASP/ASP.NET的比較(bjio)ASPASP(全稱Active Server Pages)微軟系統(tǒng)的腳本語言,利用它可以執(zhí)行動態(tài)的Web服務(wù)應(yīng)用程序。執(zhí)行的時候,是由IIS調(diào)用程序引擎,解釋(jish)執(zhí)行嵌在HTML中的ASP代碼,最終將結(jié)果和原來的HTML一同送往客戶端。57共八十頁相同點:ASP和JSP都是面向Web服務(wù)器

30、的技術(shù),客戶端瀏覽器不需要任何附加的軟件支持。都能夠?qū)崿F(xiàn)程序編寫頁面設(shè)計的的分離;都是動態(tài)的生成HTML;都是在服務(wù)器端運行的。區(qū)別:ASP的編程語言是VBScript之類的腳本語言,JSP用的是Java;兩種語言引擎用完全不同的方式處理頁面中嵌入的程序代碼;JSP實現(xiàn)處理邏輯和頁面表示分離,而ASP處理邏輯和頁面表示混雜在一起,對于很多大型(dxng)應(yīng)用難以接受。JSP的平臺無關(guān)性,ASP基本上只能局限于Micorosoft公司的操作系統(tǒng)平臺之上 。58共八十頁ASP.NET是微軟集成.NET平臺發(fā)展而來的服務(wù)器端網(wǎng)頁語言,使用.NET提供的類別(libi)庫與對象導(dǎo)向理論建構(gòu)的服務(wù)器端動

31、態(tài)網(wǎng)頁。高效性 ASP.NET是編譯性的編程框架,運行是服務(wù)器上的編譯好的公共語言運行時庫代碼,可以利用早期綁定,實施編譯來提高效率。簡單性 .NET可視化編程,提供基于組件、事件驅(qū)動的可編程網(wǎng)絡(luò)表單,大大簡化了編程。一些很平常的任務(wù)如表單的提交客戶端的身份驗證、分布系統(tǒng)和網(wǎng)站配置變得非常簡單。如ASP.net頁面構(gòu)架允許你建立你自己的用戶分界面。59共八十頁腳本語言ASP使用的腳本語言是VBScript和JScript.VBScript和Jscript都是在客戶端運行,因此客戶端可以很清楚的取得腳本內(nèi)容,就安全性而言不好;雖然這兩種語言簡單易學(xué)但是(dnsh)本身存在很多腳本漏洞JSP中使用

32、Java作為腳本語言返回給客戶端的是加載執(zhí)行后的html,安全性能好共八十頁平臺(pngti)及服務(wù)器的彈性ASP目前只能運行在Microsoft Windows平臺上。并且搭配(dpi)其web服務(wù)器IIS;JSP運行在大多數(shù)流行的平臺、多種服務(wù)器上包括Solaris操作環(huán)境,Microsoft Windows,Linux和其它UNIX平臺上。在多種Web服務(wù)器上,包括tomcat, websphere,Weblogic , IIS,等等。共八十頁開發(fā)環(huán)境(hunjng)方面ASP或ASP.net開發(fā)環(huán)境是Visual StudioJSP有著(yu zhe)眾多的集成開發(fā)環(huán)境: Eclips

33、e,JBuilder,WebSphere共八十頁63JSP與PHP的比較(bjio)PHP(Hypertext Preprocessor):超級文本預(yù)處理語言的縮寫??梢曰旌鲜褂肞HP和HTML編寫Web頁面(y min),當(dāng)客戶端訪問某頁面(y min)時,服務(wù)器端會首先對頁面(y min)中的PHP命令進(jìn)行處理,然后把處理后的結(jié)果連同HTML內(nèi)容一起傳送到客戶端的瀏覽器PHP是一種能快速學(xué)習(xí)、跨平臺、有良好數(shù)據(jù)庫交互能力的開發(fā)語言。PHP與Apache可以以靜態(tài)編譯的方式結(jié)合起來,而與其他的擴展庫也可以用這種方式結(jié)合。充分利用了CPU和內(nèi)存,同時極為有效地利用了Apache高性能的吞吐能力

34、。與數(shù)據(jù)庫的接口以靜態(tài)編譯的方式結(jié)合起來,所以使用的是本地化的調(diào)用,讓數(shù)據(jù)庫發(fā)揮了最佳效能。PHP具有良好的安全性。由于PHP本身的代碼開放,所以它的代碼在許多工程師手中進(jìn)行了測試,同時它與Apache編譯在一起的方式也可以讓它具有靈活的安全設(shè)定。共八十頁64它相對于JSP還存在以下幾個缺點:1、沒有統(tǒng)一的數(shù)據(jù)庫操作接口。由于PHP的所有擴展接口都是獨立團(tuán)隊開發(fā)完成的,同時在開發(fā)時為了相應(yīng)數(shù)據(jù)的個性化操作,因此針對每種數(shù)據(jù)庫的開發(fā)語言和操作接口幾乎完全不同。這就使得基于一種數(shù)據(jù)庫的開發(fā)工作,在數(shù)據(jù)庫進(jìn)行(jnxng)升級后幾乎需要對全部代碼進(jìn)行(jnxng)修改。而為了讓應(yīng)用支持更多種的數(shù)據(jù)庫

35、,就需要開發(fā)人員將同樣的數(shù)據(jù)庫操作使用不同的代碼寫出各種代碼庫來,讓程序員的工作量大大增加。2、缺少企業(yè)級的支持,只適合于中小型應(yīng)用。沒有組件的支持,那么所有的擴充就只能依靠PHP開發(fā)組所給出的接口,事實上這樣的接口還不夠多,同時難以將集群、應(yīng)用服務(wù)器這樣的特性加入到系統(tǒng)中去。而一個大型的站點或是一個企業(yè)級的應(yīng)用需要這樣的支持。(注意:在PHP的4.0版本以后加入了對 Serlet/Java Bean的支持,也許這樣的支持會在以后的版本中更加加強,也許這樣的支持會是PHP以后的企業(yè)級支持的起點。) 共八十頁PHP對數(shù)據(jù)庫操作的接口繁多(fndu),移植起來麻煩。雖然支持多種數(shù)據(jù)庫,但針對每種數(shù)

36、據(jù)庫的操作代碼不同PHP缺少一層邏輯層。JSP使用JavaBeanASP使用COM/DCOMPHP沒有對應(yīng)的組件PHP沒有相應(yīng)公司支持。對它進(jìn)行維護(hù)升級的只是一些網(wǎng)絡(luò)愛好者。共八十頁JSP應(yīng)用項目(xingm)結(jié)構(gòu)瀏覽器端用戶界面的開發(fā):HTML,開發(fā)靜態(tài)網(wǎng)頁JavaScript,簡單的事件響應(yīng)(xingyng),輸入驗證。CSS,瀏覽頁面的美觀Applet,應(yīng)用于客戶端數(shù)據(jù)庫WAN瀏覽器HTTPWeb 容器JDBC共八十頁JSP應(yīng)用(yngyng)項目結(jié)構(gòu)服務(wù)器端業(yè)務(wù)邏輯處理(chl)的開發(fā):Java語言基礎(chǔ)JSP知識Servlet知識JavaBeans知識MVC自定義標(biāo)記JSTL流行Web

37、開發(fā)框架數(shù)據(jù)庫WAN瀏覽器HTTPWeb 容器JDBC共八十頁JSP應(yīng)用(yngyng)項目結(jié)構(gòu)數(shù)據(jù)庫的開發(fā):數(shù)據(jù)庫的原理和設(shè)計數(shù)據(jù)庫的創(chuàng)建(chungjin)及維護(hù)SQL語言以及存儲過程等數(shù)據(jù)庫WAN瀏覽器HTTPWeb 容器JDBC共八十頁J2EE簡介(jin ji)目前,Java2平臺有3個版本,它們是適用于小型設(shè)備和智能卡的Java 2平臺Micro版(Java 2 Platform Micro Edition,J2 ME)、適用于桌面系統(tǒng)的Java 2平臺標(biāo)準(zhǔn)版(Java 2 Platform Standard Edition,J2SE)、適用于創(chuàng)建服務(wù)器應(yīng)用程序和服務(wù)的Java 2

38、平臺企業(yè)版(Java 2 Platform Enterprise Edition,J2EE)。J2EE是一種(y zhn)利用Java 2平臺來簡化企業(yè)解決方案的開發(fā)、部署和管理相關(guān)的復(fù)雜問題的體系結(jié)構(gòu)。需要指出的是,J2EE并非一個產(chǎn)品,而是一系列的標(biāo)準(zhǔn)。因此,從整體上講,J2EE是使用Java技術(shù)開發(fā)企業(yè)級應(yīng)用的一種事實上的工業(yè)標(biāo)準(zhǔn)。69共八十頁Sun推出J2EE的目的是為了克服傳統(tǒng)Client/Server模式的弊病,迎合Browser/Server架構(gòu)的潮流,為應(yīng)用Java技術(shù)開發(fā)服務(wù)器端應(yīng)用提供一個平臺獨立的、可移植的、多用戶的、安全的和基于標(biāo)準(zhǔn)的企業(yè)級平臺,從而簡化企業(yè)應(yīng)用的開發(fā)、

39、管理和部署。J2EE是一個標(biāo)準(zhǔn),而不是一個現(xiàn)成的產(chǎn)品。各個平臺開發(fā)商按照J(rèn)2EE規(guī)范分別開發(fā)了不同的J2EE應(yīng)用服務(wù)器,J2EE應(yīng)用服務(wù)器是J2EE企業(yè)級應(yīng)用的部署平臺。由于它們都遵循了J2EE規(guī)范,因此,使用J2EE技術(shù)開發(fā)的企業(yè)級應(yīng)用可以部署在各種J2EE應(yīng)用服務(wù)器上。目前(mqin)在市場上可以看到很多實現(xiàn)了J2EE的產(chǎn)品,如BEA WebLogic、IBM WebSphere以及開源的JBoss等。70共八十頁J2EE使用多層的分布式應(yīng)用模型,應(yīng)用邏輯按功能劃分為組件,各個應(yīng)用組件根據(jù)他們(t men)所在的層分布在不同的機器上。71共八十頁J2EE應(yīng)用程序組件J2EE組件是具有獨立功能的軟件單元,它們通過相關(guān)的類和文件組裝成J2EE應(yīng)用程序,并與其他組件交互。J2EE說明書中定義了以下的J2EE組件: 應(yīng)用客戶端程序和applets是客戶層組件;Java Servlet和Jav

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論