JSP程序設(shè)計技術(shù)教程_第1頁
JSP程序設(shè)計技術(shù)教程_第2頁
JSP程序設(shè)計技術(shù)教程_第3頁
JSP程序設(shè)計技術(shù)教程_第4頁
JSP程序設(shè)計技術(shù)教程_第5頁
已閱讀5頁,還剩91頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2023年11月21日1

|海有|壁無|一切為了學(xué)生。

|納容|立欲|為了學(xué)生一切。

|百乃|千則|豈能事事如意,但求無愧于心。

|川大|仞剛|把微笑留給世界,讓世界因你微笑!2023年11月21日2JSP章節(jié)簡介

共12章2023年11月21日3第1章Web技術(shù)簡介第1章Web技術(shù)簡介1.1Web基礎(chǔ)知識

1.1.1Web技術(shù)的由來與發(fā)展

1.1.2Web動態(tài)網(wǎng)頁技術(shù)

1.1.3Web應(yīng)用程序的工作原理

1.1.4JavaWeb編程的主要組件技術(shù)

1.2JSP技術(shù)

1.2.1JSP特點與優(yōu)勢

1.2.2JSP的工作原理

2023年11月21日41.3JSP開發(fā)Web的方式與體系結(jié)構(gòu)

1.3.1JSP開發(fā)Web站點的主要方式

1.3.2JSP兩種體系結(jié)構(gòu) 1.4MVC設(shè)計模式

1.4.1MVC設(shè)計模式思想

1.4.2MVC優(yōu)缺點2023年11月21日5第2章JSP開發(fā)運行環(huán)境

2.1JSP環(huán)境介紹 2.2JDK安裝配置

2.2.1JDK簡介與下載

2.2.2JDK安裝與配置 2.3Netbeans開發(fā)環(huán)境

2.3.1NetBeans簡介與下載

2.3.2NetBeans安裝與使用

2023年11月21日62.4Eclipse開發(fā)環(huán)境

2.4.1Eclipse簡介與下載

2.4.2Eclipse的使用

2.5MyEclipse開發(fā)環(huán)境

2.5.1MyEclipse簡介與下載

2.5.2MyEclipse安裝與使用 2.6Tomcat服務(wù)器

2.6.1Tomcat簡介與下載

2.6.2Tomcat安裝與配置2023年11月21日7第3章腳本語言

3.1HTML 3.1.1HTML簡介

3.1.2HTML基本標(biāo)簽

3.1.3列表

3.1.4多媒體和超鏈接

3.1.5表格

3.1.6框架

3.1.7表單 2023年11月21日83.2CSS 3.2.1CSS簡介

3.2.2CSS樣式表定義

3.2.3在HTML中加入CSS的方法

3.2.4CSS樣式表繼承性

3.2.5CSS基本屬性 3.3JavaScript腳本語言

3.3.1JavaScript簡介

3.3.2語言基礎(chǔ)知識

3.3.3JavaScript對象

3.3.4JavaScript事件2023年11月21日9第4章基于腳本語言的項目實訓(xùn)4.1項目需求說明 4.2項目總體結(jié)構(gòu)與構(gòu)成 4.3項目頁面開發(fā)

4.3.1登錄頁面

4.3.2項目的框架頁面

4.3.3用戶管理模塊頁面

2023年11月21日10第5章JSP基礎(chǔ)知識 5.1JSP的基本頁面結(jié)構(gòu) 5.2JSP中的腳本元素

5.2.1變量、方法的聲明

5.2.2表達式

5.2.3腳本 5.3JSP中的注釋

5.3.1隱藏注釋

5.3.2HTML注釋

5.3.3Java注釋 2023年11月21日115.4JSP的指令

5.4.1page指令

5.4.2include指令

5.4.3taglib指令

5.5JSP中的常用動作

5.5.1<jsp:param>動作

5.5.2<jsp:include>動作

5.5.3<jsp:useBean>動作

5.5.4<jsp:setProperty>動作

5.5.5<jsp:getProperty>動作

5.5.6<jsp:forward>動作

5.5.7<jsp:plugin>動作2023年11月21日12第6章JSP的內(nèi)置對象 6.1out對象

6.1.1out對象的方法

6.1.2out對象實例 6.2page對象

6.2.1page對象的方法

6.2.2page對象實例 6.3request對象

6.3.1request對象的方法

6.3.2request對象實例

6.4response對象

6.4.1response對象的方法

6.4.2response對象實例2023年11月21日136.5session對象

6.5.1session對象的方法

6.5.2session對象實例 6.6pageContext對象

6.6.1pageContext對象的方法

6.6.2PageContext對象實例 6.7config對象

6.7.1config對象的方法

6.7.2config對象實例

6.8exception對象

6.8.1exception對象的方法

6.8.2exception對象實例 6.9application對象

6.9.1application對象的方法

6.9.2application對象實例2023年11月21日14第7章JSP中數(shù)據(jù)庫操作

7.1JDBC介紹

7.1.1什么是JDBC 7.1.2JDBC的結(jié)構(gòu) 7.2通過JDBC-ODBC橋訪問數(shù)據(jù)庫

7.2.1通過橋訪問Access 7.2.2通過橋訪問Excel 7.3通過JDBC驅(qū)動訪問數(shù)據(jù)庫

7.3.1通過JDBC驅(qū)動使用MySQL數(shù)據(jù)庫

7.3.2通過JDBC驅(qū)動使用MicrosoftSQLServer數(shù)據(jù)庫

7.3.3通過JDBC驅(qū)動使用oracle數(shù)據(jù)庫2023年11月21日157.4查詢數(shù)據(jù)庫 7.5更新數(shù)據(jù)庫

7.5.1更新的SQL語句

7.5.2JSP更新數(shù)據(jù)庫 7.6JSP在數(shù)據(jù)庫應(yīng)用中的相關(guān)問題

7.6.1JSP的分頁瀏覽

7.6.2漢字處理 7.7JSP中數(shù)據(jù)庫應(yīng)用實例

7.7.1學(xué)生信息系統(tǒng)主頁面設(shè)計

7.7.2學(xué)生信息查詢

7.7.3學(xué)生信息添加

7.7.4學(xué)生信息刪除

7.7.4學(xué)生信息修改2023年11月21日16第8章個人信息管理系統(tǒng)實訓(xùn)8.1項目需求說明 8.2項目系統(tǒng)分析 8.3系統(tǒng)設(shè)計與實現(xiàn)

8.3.1數(shù)據(jù)庫設(shè)計

8.3.2項目代碼實現(xiàn)

登錄功能實現(xiàn)

主界面功能實現(xiàn)

個人信息管理功能實現(xiàn)

通訊錄管理功能實現(xiàn)

日程安排管理功能實現(xiàn)2023年11月21日17第9章JSP與JavaBean編程 9.1JavaBean概述 9.2JavaBean的基本用法

9.2.1JavaBean的屬性

9.2.2訪問Bean屬性

9.2.3設(shè)置Bean屬性 9.3Bean的作用域 9.4JavaBean的使用

9.4.1使用JavaBean訪問數(shù)據(jù)庫

9.4.2JavaBean應(yīng)用實例 2023年11月21日18第10章JSP與Servlet編程10.1Servlet介紹

10.1.1什么是Servlet

10.1.2Servlet的技術(shù)特點

10.1.3Servlet與JSP的區(qū)別

10.1.4Servlet在Web項目中的作用

10.1.5Servlet生命周期

10.1.6開發(fā)一個簡單的Servlet

10.2處理客戶端請求

10.2.1從Servlet讀取表單數(shù)據(jù)

10.2.2從Servlet提取報文頭

10.2.3處理Cookie與會話跟蹤 2023年11月21日1910.3Servlet編程接口

10.3.1與Servlet實現(xiàn)相關(guān)的接口

10.3.2與Servlet配置相關(guān)的接口

10.3.3與Servlet異常相關(guān)的接口

10.3.4與請求和響應(yīng)相關(guān)的接口

10.3.5會話管理

10.3.6Servlet上下文相關(guān) 10.4Servlet部署 10.5Servlet應(yīng)用實例2023年11月21日20第11章JSP標(biāo)記11.1創(chuàng)建自定義標(biāo)記表記庫

11.1.1組成標(biāo)記庫的組件

11.1.2為標(biāo)記分配屬性

11.1.3處理標(biāo)記正文 11.2常用JSTL的使用

11.2.1JSTL簡介

11.2.2表達式語言

11.2.3使用JSTL訪問數(shù)據(jù)庫2023年11月21日21第12章基于MVC模式項目實訓(xùn)12.1MVC設(shè)計模式 12.2項目實訓(xùn)(一)

12.2.1項目設(shè)計

12.2.2項目實現(xiàn) 12.3項目實訓(xùn)(二)

12.3.1項目設(shè)計

12.3.2項目實現(xiàn)2023年11月21日22第1章Web技術(shù)簡介2023年11月21日23第1章Web技術(shù)簡介1.1Web基礎(chǔ)知識1.2JSP技術(shù)1.3JSP開發(fā)Web的方式與體系結(jié)構(gòu)1.4MVC設(shè)計模式2023年11月21日241.1Web基礎(chǔ)知識1.1.1Web技術(shù)的由來與發(fā)展 1.1.2Web動態(tài)網(wǎng)頁技術(shù) 1.1.3Web應(yīng)用程序的工作原理1.1.4JavaWeb編程的主要組件技術(shù)2023年11月21日251.1.1Web技術(shù)的由來與發(fā)展1980年,TimBerners-Lee負(fù)責(zé)的Enquire(EnquireWithinUponEverything的簡稱)項目是Web項目的起源。1989年,TimBerners-Lee發(fā)明的分布式應(yīng)用架構(gòu),向人們提供信息和信息服務(wù)。

1990年,第一個Web服務(wù)器開始運行。

1991年,CERN(EuropeanParticlePhysicsLaboratory)正式發(fā)布了Web技術(shù)標(biāo)準(zhǔn)。2023年11月21日26早期的Web應(yīng)用主要是使用HTML語言編寫、運行在服務(wù)器端的的靜態(tài)頁面。2023年11月21日27瀏覽器請求靜態(tài)頁面圖客戶機瀏覽器服務(wù)器Web服務(wù)器靜態(tài)頁面HTTP請求HTTP響應(yīng)網(wǎng)絡(luò)2023年11月21日28HTMLHTML(HypertextMarkupLanguage,超文本標(biāo)記語言)是一種描述文檔結(jié)構(gòu)的語言,不能描述實際的表現(xiàn)形式。1945年,VannevarBush提出了文本和文本之間通過超級鏈接相互關(guān)聯(lián)的思想,并給出設(shè)計方案。1960年后正式將這種信息關(guān)聯(lián)技術(shù)命名為超文本(Hypertext)技術(shù)。1991年HTML語言正式誕生以來推出了多個不同的版本,其中對Web技術(shù)發(fā)展具有重大影響的主要是兩個版本:1996年推出的HTML3.2;1998年推出的HTML4.0。1999年W3C頒布了HTML4.01。2023年11月21日29為了滿足人們對信息豐富性和多樣性的強烈需求。促使Web技術(shù)由靜態(tài)技術(shù)向動態(tài)技術(shù)的轉(zhuǎn)化。第一種使服務(wù)器能根據(jù)運行時的具體情況,動態(tài)生成HTML頁面的技術(shù)是CGI(CommonGatewayInterface,公共網(wǎng)關(guān)接口)技術(shù)。1993年,CGI1.0的標(biāo)準(zhǔn)草案由NCSA(NationalCenterforSupercomputingApplications)提出,1995年,NCSA開始制定CGI1.1標(biāo)準(zhǔn)。CGI技術(shù)允許服務(wù)端的應(yīng)用程序根據(jù)客戶端的請求,動態(tài)生成HTML頁面,這使客戶端和服務(wù)端的動態(tài)信息交換成為了可能。2023年11月21日30

用戶訪問CGI程序

客戶機瀏覽器服務(wù)器Web服務(wù)器靜態(tài)頁面HTTP請求HTTP響應(yīng)網(wǎng)絡(luò)CGI程序數(shù)據(jù)庫2023年11月21日311994年,RasmusLerdorf發(fā)明了專用于Web服務(wù)端編程的PHP(PersonalHomePageTools)語言。1996年,Microsoft借鑒PHP的思想,推出ASP技術(shù)。借助MicrosoftVisualStudio等開發(fā)工具在市場上的成功,ASP迅速成為了Windows系統(tǒng)下Web服務(wù)端的主流開發(fā)技術(shù)。1997年,SUN公司推出了Servlet技術(shù),作為Java陣營的CGI解決方案。1998年,SUN公司又推出了JSP技術(shù),允許在HTML頁面中嵌入Java腳本代碼,從而實現(xiàn)動態(tài)網(wǎng)頁功能。2023年11月21日322000年以后,整合Web開發(fā)技術(shù)形成完整的開發(fā)框架或應(yīng)用模型,來滿足各種復(fù)雜的應(yīng)用需求。2023年11月21日331.1Web基礎(chǔ)知識1.1.1Web技術(shù)的由來與發(fā)展 1.1.2Web動態(tài)網(wǎng)頁技術(shù) 1.1.3Web應(yīng)用程序的工作原理1.1.4JavaWeb編程的主要組件技術(shù)2023年11月21日341.1.2Web動態(tài)網(wǎng)頁技術(shù)動態(tài)網(wǎng)頁技術(shù)是運行在服務(wù)器端的Web應(yīng)用,程序根據(jù)用戶的請求在服務(wù)器端進行動態(tài)處理后,把處理的結(jié)果以HTML文件格式返回給客戶端。當(dāng)前主流的三大動態(tài)Web開發(fā)技術(shù)是:

PHPASP/ASP.NETJSP2023年11月21日35PHPPHP(PHP:HypertextPreprocessor,超級文本預(yù)處理語言)是一個基于服務(wù)端來創(chuàng)建動態(tài)網(wǎng)站的腳本語言,可以用PHP和HTML生成網(wǎng)站主頁。當(dāng)一個訪問者打開主頁時,服務(wù)端便執(zhí)行PHP的命令并將執(zhí)行結(jié)果發(fā)送至訪問者的瀏覽器中,這類似于ASP和JSP,然而PHP和它們不同之處在于PHP開放源碼和跨越平臺,PHP可以運行在WINDOWSNT和多種版本的UNIX上。PHP消耗的資源較少,當(dāng)PHP作為ApacheWeb服務(wù)器一部分時,運行代碼不需要調(diào)用外部二進制程序,服務(wù)器不需要承擔(dān)任何額外的負(fù)擔(dān)。2023年11月21日361994年RasmusLerdorf創(chuàng)建了PHP。1995年初PersonalHomePageTools(PHPTools)發(fā)布了PHP1.01995年中,PHP2.0發(fā)布1997年發(fā)布PHP32000年,發(fā)布PHP4.02009年發(fā)布PHP5.3版本,其中增加了許多新的特性。2023年11月21日37ASP/ASP.NETASP(ActiveServerPages,活動服務(wù)器頁面)是一種允許用戶將HTML或XML標(biāo)記與VBScript代碼或者JavaScript代碼相結(jié)合生成動態(tài)頁面的技術(shù),用來創(chuàng)建服務(wù)器端功能強大的Internet應(yīng)用程序。當(dāng)一個頁面被訪問時,VBScript/JavaScript代碼首先被服務(wù)器處理,然后將處理后得到的HTML代碼發(fā)送給瀏覽器。ASP只能建立在Windows的IISWeb服務(wù)器上。2023年11月21日381996年,Microsoft公司推出ASP1.01998年,Microsoft公司推出ASP2.01999年,Microsoft公司推出ASP3.02001年,推出ASP.NET。2023年11月21日39ASP.NET技術(shù)又稱為ASP+,是在ASP基礎(chǔ)上發(fā)展起來的,其不僅僅只是一個有新界面并且修復(fù)了一些缺陷的ASP3.0升級版本,更為重要的是其是在保留ASP的最大優(yōu)點并全力使其擴大化的基礎(chǔ)上開發(fā)出來的,它是Microsoft公司推出的新一代Web開發(fā)工具,是.NET戰(zhàn)略中的重要一員,它全新的技術(shù)架構(gòu)使編程變得更加簡單,是創(chuàng)建動態(tài)網(wǎng)站和Web應(yīng)用的最好技術(shù)之一。2023年11月21日40JSPJSP(JavaServerPages)是由SunMicrosystems公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。SUN公司JSP1998年推出JSP0.9版本1999年推出1.1版本2000年推出1.2版本現(xiàn)在流行的是JSP2.0版本。2023年11月21日411.1Web基礎(chǔ)知識1.1.1Web技術(shù)的由來與發(fā)展 1.1.2Web動態(tài)網(wǎng)頁技術(shù) 1.1.3Web應(yīng)用程序的工作原理1.1.4JavaWeb編程的主要組件技術(shù)2023年11月21日421.1.3Web應(yīng)用程序的工作原理JSP頁面是運行在服務(wù)器端的一種Web應(yīng)用程序。在學(xué)習(xí)JSP技術(shù)前,先了解一下Web應(yīng)用程序的工作原理。目前在Internet上信息大多以網(wǎng)頁形式存儲在服務(wù)器上,通過瀏覽器獲取網(wǎng)頁內(nèi)容,這是一種典型的B/S(瀏覽器/服務(wù)器)模式。B/S模式的工作過程是:客戶端請求-服務(wù)器處理-對客戶端響應(yīng)。其實現(xiàn)的原理如圖1-3所示。2023年11月21日43圖1-3B/S模式的工作原理客戶端瀏覽器服務(wù)器Web服務(wù)器Web應(yīng)用程序1Web應(yīng)用程序2…應(yīng)用服務(wù)器HTTP請求HTTP響應(yīng)網(wǎng)絡(luò)數(shù)據(jù)庫2023年11月21日441.1Web基礎(chǔ)知識1.1.1Web技術(shù)的由來與發(fā)展 1.1.2Web動態(tài)網(wǎng)頁技術(shù) 1.1.3Web應(yīng)用程序的工作原理1.1.4JavaWeb編程的主要組件技術(shù)2023年11月21日451.1.4JavaWeb編程的主要組件技術(shù)JavaWeb應(yīng)用程序通常是由多種組件構(gòu)成的:表示層組件、控制層組件和業(yè)務(wù)邏輯層組件及數(shù)據(jù)訪問層組件組成。表示層組件通常由HTML和JSP頁面構(gòu)建.控制層組件一般是Servlet。業(yè)務(wù)邏輯層組件是JavaBeans或EJB。數(shù)據(jù)訪問層組件是JDBC,Hibernate或CMP。2023年11月21日46下面將分別介紹JavaBean、Servlet、JDBC、JavaEE、EJB等主要JavaWeb組件技術(shù)。2023年11月21日47JavaBean

JavaBean是Java的可重用組件,是一種Java類,通過封裝屬性和方法成為具有某種功能或者處理某個業(yè)務(wù)的對象。JavaBean開發(fā)起來簡單,許多動態(tài)頁面處理過程實際上被封裝到了JavaBean當(dāng)中,可以將大部分功能放在JavaBean中完成。JavaBean在JSP中用來捕獲頁面表單的輸入并封裝事務(wù)邏輯,從而很好地實現(xiàn)業(yè)務(wù)邏輯和前臺程序的分離,使得系統(tǒng)更加健壯和靈活。2023年11月21日48JavaBean定義應(yīng)遵循的規(guī)范:必須有一個無參的構(gòu)造函數(shù)。對在Bean中定義的所有屬性提供getter和setter方法,并且這些方法是公共的。對于boolean類型的屬性,其getter方法的形式為isXXX的,其中XXX為首字母大寫的屬性名。對于數(shù)組類型的屬性,要提供形式為getXXX(intindex)和setXXX(intindex,PropertyTypevalue)的方法。JavaBeans具有以下特性:可以實現(xiàn)代碼的重復(fù)使用。容易維護、容易使用且容易編寫。可以在支持Java的任何平臺上工作,而不需要重新編譯??梢砸云渌考哪J竭M行工作。2023年11月21日49JavaBean

實例:publicclassLogin{privateStringusername;privateStringpassword;publicLogin(){}publicStringgetUserName(){returnthis.username;}publicvoidsetUserName(Stringparam){this.username=param;}publicStringgetPassword(){returnthis.password;}publicvoidsetPassword(Stringparam){this.password=param;}}2023年11月21日501.1Web基礎(chǔ)知識1.1.1Web技術(shù)的由來與發(fā)展 1.1.2Web動態(tài)網(wǎng)頁技術(shù) 1.1.3Web應(yīng)用程序的工作原理1.1.4JavaWeb編程的主要組件技術(shù)

JavaBean Servlet JDBC

JavaEE EJB

2023年11月21日51Servlet

Servlet是使用JavaServlet應(yīng)用程序設(shè)計接口(API)及相關(guān)類和方法的Java程序。Servlet在Java的Web服務(wù)器上或應(yīng)用服務(wù)器上運行并擴展該服務(wù)器的能力。Servlet的主要功能在于可以事先交互式地瀏覽和修改數(shù)據(jù),生成動態(tài)Web內(nèi)容。在JavaWeb應(yīng)用程序中,JSP頁面首先被編譯成Servlet文件,然后運行,Servlet處理用戶的請求并做出反應(yīng);其次,在JavaWeb應(yīng)用程序中可以將Servlet作為控制器來使用。2023年11月21日52

JDBCJDBC(JavaDataBaseConnectivity,Java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的JavaAPI,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成。2023年11月21日53JDBC提供的標(biāo)準(zhǔn)API幾乎是獨立于數(shù)據(jù)庫的,但同時又可以在必要時訪問數(shù)據(jù)庫的某些特性。JDBC3.0包括了兩個軟件包:java.sql

和javax.sql。

java.sql:這個包中的類和接口主要針對基本的數(shù)據(jù)庫編程服務(wù),如生成連接、執(zhí)行語句,以及準(zhǔn)備語句和運行批處理查詢等。同時也有一些高級的處理,比如批處理更新、事務(wù)隔離和可滾動結(jié)果集等。

javax.sql:它主要為數(shù)據(jù)庫方面的高級操作提供接口和類,例如為連接管理、分布式事務(wù)和舊有的連接提供了更好的抽象。它引入了容器管理的連接池和分布式事務(wù)等。JDBC的用途是與數(shù)據(jù)庫建立連接、發(fā)送SQL語句并處理結(jié)果。2023年11月21日54JDBCAPI的核心組件有:DriverManager類:用于跟蹤可用的JDBC驅(qū)動程序并生成數(shù)據(jù)庫連接。Connection接口:用于取得數(shù)據(jù)庫信息、生成數(shù)據(jù)庫語句,并管理數(shù)據(jù)庫事務(wù)。Statement接口:用于在基層連接上運行SQL語句,并且生成一個結(jié)果集。Statement有兩個子接口:PreparedStatement

和CallableStatement。PreparedStatement

提供了可以與查詢信息一起預(yù)編譯的一種語句類型。CallableStatement

從PreparedStatement

繼承而來,它用來封裝數(shù)據(jù)庫中存儲過程的執(zhí)行。ResultSet接口:用于訪問SQL查詢返回的數(shù)據(jù)。當(dāng)讀取結(jié)果時,可以使用它的next()方法依次定位每一行數(shù)據(jù),然后用相應(yīng)的get()方法讀取數(shù)據(jù)。JDBC通過數(shù)據(jù)庫的JDBC驅(qū)動程序來訪問數(shù)據(jù)庫。如圖1-3所示2023年11月21日55Java小應(yīng)用程序/應(yīng)用程序JDBC(java.sql)數(shù)據(jù)庫的JDBC驅(qū)動程序DataBaseDataBase2023年11月21日56通常Java開發(fā)工具帶有JDBC-ODBC橋,只要可以通過ODBC驅(qū)動程序訪問數(shù)據(jù)庫,就可以使用JDBC訪問數(shù)據(jù)庫。如圖1-4所示。2023年11月21日57Java小程序/應(yīng)用程序JDBC(java.sql)SQLServer驅(qū)動程序SQLServer數(shù)據(jù)庫Oracle數(shù)據(jù)庫Oracle驅(qū)動程序……JDBC-ODBC橋接器(翻譯器)2023年11月21日58J2EEJ2EE(Java2PlatformEnterpriseEdition)平臺規(guī)范是SUN公司定義的用于簡化分布式企業(yè)級應(yīng)用開發(fā)與部署的基于組件的模式。為了降低成本,加快企業(yè)應(yīng)用程序的設(shè)計和開發(fā),J2EE平臺提供了一個基于組件的方法來設(shè)計、開發(fā)、裝配及部署企業(yè)應(yīng)用程序,并提供了多層的分布式的應(yīng)用模型、組件重用、一致化的安全模型以及靈活的事務(wù)控制。因此程序員可以更快的速度向市場推出創(chuàng)造性的客戶解決方案,并且獨立的、基于組件的J2EE解決方案不會被任何一個廠商的產(chǎn)品和API所束縛。2023年11月21日59J2EE平臺由一整套服務(wù)(Services)、應(yīng)用程序接口(APIs)和協(xié)議構(gòu)成,它對開發(fā)基于Web的多層應(yīng)用提供了功能支持。1998年,Sun發(fā)布了EJB1.0標(biāo)準(zhǔn)。至此,J2EE平臺的三大核心技術(shù)Servlet、JSP和EJB都已先后問世。1999年,Sun正式發(fā)布了J2EE的第一個版本。緊接著,遵循J2EE標(biāo)準(zhǔn),為企業(yè)級應(yīng)用提供支撐平臺的各類應(yīng)用服務(wù)軟件出來了。IBM的WebSphere、BEA的WebLogic都是這一領(lǐng)域里最為成功的商業(yè)軟件平臺。2003年,Sun的J2EE版本已經(jīng)升級到了1.4版,其中三個關(guān)鍵組件的版本也演進到了Servlet2.4、JSP2.0和EJB2.1。2004年發(fā)布J2EE1.5版本。。2023年11月21日60J2EE分為4個層:客戶層(ClientTier):應(yīng)用層運行在客戶端機器上。Web層(WebTier):Web層運行在Web服務(wù)器上。業(yè)務(wù)層(BusinessTier):業(yè)務(wù)層運行在EJB服務(wù)器上。企業(yè)信息系統(tǒng)層(EIST):信息系統(tǒng)層運行在EIS服務(wù)器上,該層運行企業(yè)信息系統(tǒng)軟件。業(yè)務(wù)層和Web層一起構(gòu)建成為J2EE的中間層,而其他兩層是客戶層和信息系統(tǒng)層,通常稱J2EE為三層體系結(jié)構(gòu)。2023年11月21日61JavaEE

JavaEE是J2EE的一個新的名稱,之所以改名,目的是讓大家清楚J2EE只是Java企業(yè)應(yīng)用。隨著Web和EJB容器概念誕生,使得軟件應(yīng)用行業(yè)開始擔(dān)心SUN是否還在Java平臺上不斷推出翻新的標(biāo)準(zhǔn)框架。在2004年底中國軟件技術(shù)大會IoC微容器演講中指出:我們需要一個跨J2SE/WEB/EJB的微容器,保護我們的業(yè)務(wù)核心組件(中間件),以延續(xù)它的生命力,而不是依賴J2SE/J2EE版本。此次J2EE改名為JavaEE,實際也反映出業(yè)界這種共同心聲。2023年11月21日62EJBEJB是一個J2EE體系中的組件,是用于開發(fā)和部署多層結(jié)構(gòu)的、分布式的、面向?qū)ο蟮腏ava應(yīng)用系統(tǒng)的跨平臺的構(gòu)件體系結(jié)構(gòu)。采用EJB可以使得開發(fā)商業(yè)應(yīng)用系統(tǒng)變得容易,隨著需求的改變,應(yīng)用系統(tǒng)可以不加修改地遷移到其它功能更強、更復(fù)雜的服務(wù)器上。2023年11月21日63EJB主要有2種組件:SessionBean和EntityBean。2023年11月21日64第1章Web技術(shù)簡介1.1Web基礎(chǔ)知識1.2JSP技術(shù)1.3JSP開發(fā)Web的方式與體系結(jié)構(gòu)1.4MVC設(shè)計模式2023年11月21日651.2JSP技術(shù)1.2.1JSP特點與優(yōu)勢1.2.2JSP的工作原理2023年11月21日661.2.1JSP特點與優(yōu)勢JSP(JavaServerPages)是由Sun公司倡導(dǎo)、許多公司共同參與建立的一種基于Java語言的動態(tài)Web應(yīng)用開發(fā)技術(shù),利用這一技術(shù)可以建立安全、跨平臺的先進動態(tài)網(wǎng)頁。JSP是J2EE系統(tǒng)中Web層技術(shù),負(fù)責(zé)動態(tài)生成用戶界面。JSP頁面在執(zhí)行時是編譯式,編譯成Servlet文件。2023年11月21日67JSP是Sun公司推出解決Web開發(fā)技術(shù)的解決方案,自JSP推出后,得到眾多大公司的支持,所以JSP迅速成為商業(yè)應(yīng)用的服務(wù)器端語言。JSP的技術(shù)特點和優(yōu)勢主要體現(xiàn)在如下幾個方面。2023年11月21日68一次編寫、到處運行

系統(tǒng)的多臺平支持內(nèi)容和顯示分離生成可重用的組件采用標(biāo)簽簡化頁面健壯的存儲管理和安全性

2023年11月21日691.2JSP技術(shù)1.2.1JSP特點與優(yōu)勢1.2.2JSP的工作原理2023年11月21日701.2.2JSP的工作原理JSP所有的程序都是在服務(wù)器端運行的,服務(wù)器端收到用戶通過瀏覽器提交的請求,經(jīng)過一定處理后再以HTML的形式返回給客戶端,客戶端得到的只是在瀏覽器中看到的靜態(tài)網(wǎng)頁。服務(wù)器上的JSP程序負(fù)責(zé)處理客戶端的請求,其程序代碼對于客戶端來說是不可見的。2023年11月21日71JSP和客戶端的交互是通過HTTP協(xié)議實現(xiàn)的,這個過程主要分為以下4個步驟:客戶端和服務(wù)器建立連接客戶端發(fā)送請求服務(wù)器發(fā)出響應(yīng)關(guān)閉連接2023年11月21日72當(dāng)?shù)谝淮芜\行一個JSP頁面時,JSP引擎要完成以下操作:將JSP文件翻譯成Servlet文件,是Java應(yīng)用程序。JSP引擎調(diào)用Java編譯器,編譯Servlet文件得到可執(zhí)行的代碼文件。JSP引擎調(diào)用Java虛擬機解釋執(zhí)行class文件,并將運行結(jié)果返回給服務(wù)器。服務(wù)器將運行結(jié)果以HTML形式作為響應(yīng)返回給客戶端瀏覽器。

2023年11月21日73第1章JSP概述1.1Web基礎(chǔ)知識1.2JSP技術(shù)1.3JSP開發(fā)Web的方式與體系結(jié)構(gòu)1.4MVC設(shè)計模式2023年11月21日741.3JSP開發(fā)Web的方式與體系結(jié)構(gòu)1.3.1JSP開發(fā)Web站點的主要方式1.3.2JSP兩種體系結(jié)構(gòu)2023年11月21日75JSP開發(fā)Web站點主要有以下幾種方式:直接使用JSPJSP+JavaBean

JSP+JavaBean+Servlet

J2EE開發(fā)模型SSH開發(fā)框架

2023年11月21日761.3JSP開發(fā)Web的方式與體系結(jié)構(gòu)1.3.1JSP開發(fā)Web站點的主要方式1.3.2JSP兩種體系結(jié)構(gòu)2023年11月21日77JSPModel1在Model1體系中,如圖1-6所示,JSP頁面獨自響應(yīng)請求并將處理結(jié)果返回客戶。Model1體系十分適合簡單應(yīng)用的需要,它卻不能滿足復(fù)雜的大型應(yīng)用程序的實現(xiàn)。不加選擇地隨意運用Model1,會導(dǎo)致JSP頁內(nèi)被嵌入大量的腳本片段或Java代碼,特別是當(dāng)需要處理的請求量很大時,情況更為嚴(yán)重。盡管這對于Java程序員來說可能不是什么大問題,但如果JSP頁面是由網(wǎng)頁設(shè)計人員開發(fā)并維護的這就確實是個問題了。從根本上講,將導(dǎo)致角色定義不清和職責(zé)分配不明,給項目管理帶來不必要的麻煩。2023年11月21日78Model1模型結(jié)構(gòu)圖BROWERJSPJavaBean13RequestResponset4ApplicationServerEnterpriseServers/DataSources22023年11月21日79Model2Model2體系結(jié)構(gòu)是一種把JSP與servlet聯(lián)合使用來實現(xiàn)動態(tài)內(nèi)容服務(wù)的方法。它吸取了兩種技術(shù)各自的突出優(yōu)點,用JSP生成表達層的內(nèi)容,讓servlet完成深層次的處理任務(wù)。在這里,servlet充當(dāng)控制者的角色,負(fù)責(zé)管理對請求的處理,創(chuàng)建JSP頁需要使用的Bean和對象,同時根據(jù)用戶的動作決定把哪個JSP頁傳給請求者。在JSP頁內(nèi)沒有處理邏輯;它僅負(fù)責(zé)檢索原先由servlet創(chuàng)建的對象或Bean,從servlet中提取動態(tài)內(nèi)容插入靜態(tài)模板。分離了表示和內(nèi)容,明確了角色的定義以及開發(fā)者與網(wǎng)頁設(shè)計者的分工。項目越復(fù)雜,使用Model2體系結(jié)構(gòu)的優(yōu)勢就越突出。2023年11月21日80Model2模型結(jié)構(gòu)圖4BROWER(Controller)Servlet12RequestResponset3ApplicationServer(Model)JavaBean(View)JSP5EnterpriseServers/DataSources2023年11月21日81第1章Web技術(shù)簡介1.1Web基礎(chǔ)知識1.2JSP技術(shù)1.3JSP開發(fā)Web的方式與體系結(jié)構(gòu)1.4MVC設(shè)計模式2023年11月21日821.4MVC設(shè)計模式1.4.1MVC設(shè)計模式思想1.4.2MVC優(yōu)缺點2023年11月21日831.4.1MVC設(shè)計模式思想MVC是一種目前廣泛流行的軟件設(shè)計模式,早在70年代,IBM就推出了Sanfronscisico項目計劃,其實就是MVC設(shè)計模式的研究。隨著網(wǎng)絡(luò)應(yīng)用的快速增加,MVC模式對于Web應(yīng)用的開發(fā)無疑是一種非常先進的設(shè)計思想,無論選擇哪

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論