




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、21世紀(jì)高等學(xué)校精品教程JSP程序設(shè)計(jì)實(shí)用教程 第一章 JSP和WEB應(yīng)用程序 為什么JSP發(fā)展如此迅猛,原因之一是它基于Java技術(shù),適用于企業(yè)級(jí)計(jì)算。另一原因在于JSP支持強(qiáng)大的Web應(yīng)用程序開(kāi)發(fā)模式,使得各種程序員能夠協(xié)調(diào)地工作。 1.1 JSP概述 JSP(Java Server Pages)是由Sun公司于在Java語(yǔ)言基礎(chǔ)上開(kāi)發(fā)出來(lái)的一種動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù),在 Sun 正式發(fā)布JSP之后,這種新的Web應(yīng)用開(kāi)發(fā)技術(shù)很快引起了人們的關(guān)注。 第一章 JSP和WEB應(yīng)用程序ASP 和 JSP 的區(qū)別主要有以下兩點(diǎn): 一是ASP的編程語(yǔ)言是VBScript之類(lèi)的腳本語(yǔ)言, JSP 使用的是
2、Java 、JavaScript等; 二是 ASP 與 JSP這兩種技術(shù)的語(yǔ)言引擎用完全不同的方式處理頁(yè)面中嵌入的程序代碼。 JSP的優(yōu)點(diǎn) : 首先,它可以將內(nèi)容的生成和顯示進(jìn)行分離。 其次,強(qiáng)調(diào)可重用的組件。 第三,采用標(biāo)識(shí)簡(jiǎn)化頁(yè)面開(kāi)發(fā)。 第一章 JSP和WEB應(yīng)用程序1.2 JSP開(kāi)發(fā)環(huán)境的配置(1)JDK Java的軟件開(kāi)發(fā)工具,是Java應(yīng)用程序的基礎(chǔ)。JSP是基于Java技術(shù)的,所以配置JSP環(huán)境之前必須要安裝JDK。本書(shū)使用的版本是j2sdk1.4.1,可以到Sun公司的網(wǎng)站免費(fèi)下載。(2)Tomcat服務(wù)器 Tomcat服務(wù)器是Apache組織開(kāi)發(fā)的一種JSP引擎,本身具有Web
3、服務(wù)器的功能,可以作為獨(dú)立的Web服務(wù)器來(lái)使用。同時(shí)該軟件也是免費(fèi)的,對(duì)于初學(xué)者來(lái)說(shuō),Tomcat是一個(gè)很不錯(cuò)的選擇。本書(shū)使用的版本是tomcat 5.0.28。第一章 JSP和WEB應(yīng)用程序1.3 JSP常用開(kāi)發(fā)工具JSP開(kāi)發(fā)的兩種常用工具,Editplus文本編輯器和IDE工具Eclipse。Editplus是一款功能非常強(qiáng)大的文本編輯工具,它支持自定義工具組、自定義文件類(lèi)型等功能,對(duì)于從事程序設(shè)計(jì)和網(wǎng)頁(yè)制作的工作者實(shí)在是不可或缺! 在所有的IDE中,Eclipse可以說(shuō)是最有發(fā)展前途的產(chǎn)品之一。Eclipse最初由OTI和IBM兩家公司的IDE產(chǎn)品開(kāi)發(fā)組創(chuàng)建,起始于1999年4月。Ecl
4、ipse是一個(gè)開(kāi)放的開(kāi)發(fā)平臺(tái),通過(guò)插件系統(tǒng),可以擁有幾乎無(wú)限的擴(kuò)展能力,因此越來(lái)越多的程序員使用它來(lái)開(kāi)發(fā)程序,它也是筆者喜歡的開(kāi)發(fā)工具。 第一章 JSP和WEB應(yīng)用程序1.4 WEB應(yīng)用程序 介紹了Web應(yīng)用程序的工作原理.包括靜態(tài)頁(yè)面和動(dòng)態(tài)頁(yè)面的處理過(guò)程.此外還介紹了Web服務(wù)器和應(yīng)用程序服務(wù)器的區(qū)別和聯(lián)系.Web服務(wù)器專(zhuān)門(mén)處理HTTP請(qǐng)求,而應(yīng)用程序服務(wù)器是通過(guò)很多協(xié)議來(lái)為應(yīng)用程序提供事務(wù)邏輯處理。 第一章 JSP和WEB應(yīng)用程序靜態(tài)頁(yè)面接到請(qǐng)求時(shí),內(nèi)容不發(fā)生更改。頁(yè)面的每一行代碼都是在將頁(yè)面放置到服務(wù)器之前由設(shè)計(jì)人員編寫(xiě)好的。第一章 JSP和WEB應(yīng)用程序動(dòng)態(tài)頁(yè)面的內(nèi)容基于用戶(hù)的操作,隨
5、請(qǐng)求的不同而變化。第一章 JSP和WEB應(yīng)用程序1.5 軟件編程體系 詳細(xì)介紹了C/S和B/S的概念,以及各自的優(yōu)勢(shì)和劣勢(shì)。C/S (Client/Server)結(jié)構(gòu),簡(jiǎn)單地說(shuō)就是傳統(tǒng)意義上擁有客戶(hù)端和服務(wù)器端的網(wǎng)絡(luò)軟件或系統(tǒng),可以用譬如VB或VC等語(yǔ)言開(kāi)發(fā),比如最常用的QQ就是C/S結(jié)構(gòu)。 B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶(hù)工作界面是通過(guò)WWW瀏覽器來(lái)實(shí)現(xiàn),主要事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn),形成三層結(jié)構(gòu)。這樣就大大簡(jiǎn)化了客戶(hù)端電腦負(fù)荷,減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了
6、用戶(hù)的總體成本。第二章 JSP頁(yè)面制作基礎(chǔ) JSP頁(yè)面將Java代碼嵌入到HTML腳本中,掌握HTML語(yǔ)言是學(xué)習(xí)JSP的基礎(chǔ)。HTML是網(wǎng)頁(yè)制作的一種規(guī)范,一種標(biāo)準(zhǔn),它通過(guò)標(biāo)記符來(lái)標(biāo)記網(wǎng)頁(yè)的各個(gè)部分。 本章首先介紹用HTML制作網(wǎng)頁(yè)的各種標(biāo)記符的設(shè)置方法,接著介紹了CSS的基本概念和使用方法。此外,為了增強(qiáng)讀者對(duì)網(wǎng)頁(yè)制作的了解,介紹了Dreamweaver的使用方法。通過(guò)學(xué)習(xí),讀者可以使用Dreamweaver以及相關(guān)知識(shí)制作出簡(jiǎn)單精美的網(wǎng)頁(yè)。第二章 JSP頁(yè)面制作基礎(chǔ)2.1 HTML語(yǔ)言HTML是Hyper Text Markup Language的縮寫(xiě),中文意思是超文本標(biāo)記語(yǔ)言。在HTML
7、文件中,重要的文字部分都由“標(biāo)記符”括起來(lái),而標(biāo)記符本身則以“”號(hào)標(biāo)識(shí),標(biāo)記符內(nèi)的內(nèi)容稱(chēng)為元素,代表了標(biāo)記符的意義。 本節(jié)詳細(xì)講解了HTML的語(yǔ)法要點(diǎn),并且通過(guò)大量實(shí)例加以說(shuō)明。第二章 JSP頁(yè)面制作基礎(chǔ)2.2 CSS編程技術(shù)CSS(Cascading Stylesheets,層疊樣式表)是一種制作網(wǎng)頁(yè)的新技術(shù),現(xiàn)已成為網(wǎng)頁(yè)設(shè)計(jì)必不可少的工具之一。使用CSS能夠簡(jiǎn)化網(wǎng)頁(yè)的格式代碼,加快下載顯示的速度,也減少了需要上傳的代碼數(shù)量,大大減少了重復(fù)勞動(dòng)的工作量。層疊樣式表CSS是一種樣式描述規(guī)則,利用CSS可以定義HTML中元素的顯示效果,包括元素的位置、顏色、背景、邊空、字體、排版格式等。定義的格
8、式為:選擇符 樣式屬性:取值;樣式屬性:取值;. 第二章 JSP頁(yè)面制作基礎(chǔ)2.3 DreamweaverDreamweaver是Macromedia公司繼Flash之后推出的又一夢(mèng)幻工具。Dreamweaver、Flash以及Fireworks,被Macromedia公司稱(chēng)為“夢(mèng)之隊(duì)”,同時(shí)被廣大使用者稱(chēng)為網(wǎng)頁(yè)制作三劍客。Dreamweaver是所見(jiàn)即所得網(wǎng)頁(yè)編輯器。Dreamweaver的主要特點(diǎn):1)最佳的制作效率。2)網(wǎng)站管理。3)無(wú)可比擬的控制能力。 4)所見(jiàn)即所得。5)模板和XML。6)全方位的呈現(xiàn)。此外還詳細(xì)介紹了Dreamweaver的操作界面和如何用Dreamweaver 建
9、立JSP站點(diǎn)。 第三章 JavaScript和Java語(yǔ)言JavaScript是一種基于對(duì)象的腳本語(yǔ)言,主要負(fù)責(zé)客戶(hù)端的界面控制等工作,使開(kāi)發(fā)過(guò)程簡(jiǎn)化,而且減輕服務(wù)器負(fù)荷。還能使其能在客戶(hù)端(瀏覽器)與用戶(hù)實(shí)現(xiàn)大量的交互,還能創(chuàng)建出驚人的特效。因?yàn)镴SP是基于Java語(yǔ)言的,JSP是Java的網(wǎng)絡(luò)應(yīng)用,所以理所當(dāng)然要熟悉Java語(yǔ)言。第三章 JavaScript和Java語(yǔ)言 3.1 JavaScript JavaScript是一種簡(jiǎn)潔的、面向?qū)ο蟮?、跨平臺(tái)的描述語(yǔ)言,它可以被嵌入到HTML文件中,直接被瀏覽器執(zhí)行,從而產(chǎn)生多種多樣的動(dòng)態(tài)網(wǎng)頁(yè)效果。 本節(jié)詳細(xì)介紹了JavaScript的語(yǔ)言結(jié)構(gòu)
10、、事件驅(qū)動(dòng)以及對(duì)象體系。最后用日歷等實(shí)例加以說(shuō)明。 第三章 JavaScript和Java語(yǔ)言3.2 Java編程語(yǔ)言Java語(yǔ)言是由Sun公司推出的新一代編程語(yǔ)言,Java語(yǔ)言受到了業(yè)界的廣泛關(guān)注。Java語(yǔ)言是完全的面向?qū)ο蟮木幊陶Z(yǔ)言,充分吸取了C+語(yǔ)言的優(yōu)點(diǎn),在Java運(yùn)行環(huán)境中,始終存在著一個(gè)系統(tǒng)級(jí)的線(xiàn)程,定期對(duì)內(nèi)存進(jìn)行自動(dòng)回收,避免了內(nèi)存的泄露,也減輕了程序員的工作量。Java語(yǔ)言的一個(gè)目標(biāo)是跨平臺(tái),在執(zhí)行過(guò)程中根據(jù)所在的不同的硬件平臺(tái)把程序解釋為當(dāng)前的機(jī)器碼,實(shí)現(xiàn)跨平臺(tái)運(yùn)行。此外,Java語(yǔ)言還有高安全性和多線(xiàn)程等特點(diǎn)。Java語(yǔ)言程序文件以.java為后綴。Java程序編寫(xiě)完后,
11、用開(kāi)發(fā)環(huán)境下的編譯器編譯生成字節(jié)碼,字節(jié)碼文件以.class為后綴。本節(jié)詳細(xì)闡述了Java語(yǔ)言的語(yǔ)法,其中包括多線(xiàn)程的概念。第四章 JSP語(yǔ)法 4.1 JSP語(yǔ)法概述JSP頁(yè)面主要由JSP元素和HTML代碼構(gòu)成,其中JSP代碼完成相應(yīng)的動(dòng)態(tài)功能。1.JSP工作原理當(dāng)客戶(hù)端請(qǐng)求瀏覽JSP頁(yè)面時(shí),JSP服務(wù)器在把頁(yè)面?zhèn)鬟f給客戶(hù)端之前,先將JSP頁(yè)面編譯成Servlet(純Java代碼),然后將Java編譯器生成的服務(wù)器小程序編譯為Java字節(jié)碼,最后再轉(zhuǎn)換成純HTML代碼,這樣客戶(hù)端接收到的只是HTML代碼。2.JSP頁(yè)面結(jié)構(gòu)JSP基礎(chǔ)語(yǔ)法包括注釋、指令、腳本以及動(dòng)作元素,此外,JSP還提供了一些
12、由容器實(shí)現(xiàn)和管理的內(nèi)置對(duì)象。 第四章 JSP語(yǔ)法4.2注釋JSP注釋分為HTML注釋和隱藏注釋兩種。JSP隱藏注釋語(yǔ)句不會(huì)被執(zhí)行,也不會(huì)被送到客戶(hù)端的瀏覽器中。1.JSP隱藏注釋 2.HTML注釋!- comment - 第四章 JSP語(yǔ)法4.3 JSP指令在JSP頁(yè)面中,可以使用JSP指令來(lái)指定頁(yè)面的有關(guān)輸出方式、引用包、加載文件、緩沖區(qū)、出錯(cuò)處理等相關(guān)設(shè)置,主要作用是用來(lái)與JSP引擎之間進(jìn)行溝通。主要的三種指令是page、include和taglib 。page 指令命令定義整個(gè)JSP頁(yè)面的屬性,定義的屬性會(huì)對(duì)該JSP文件和包含進(jìn)來(lái)的JSP頁(yè)面起作用。Include指令的功能是在JSP編譯
13、時(shí)插入包含的文件。 taglib指令的功能是使用標(biāo)簽庫(kù)定義新的自定義標(biāo)簽,在JSP頁(yè)面中啟用定制行為。第四章 JSP語(yǔ)法4.4 JSP腳本元素JSP腳本元素用來(lái)插入Java代碼,這些Java代碼將出現(xiàn)在由當(dāng)前JSP頁(yè)面生成的Servlet中。腳本元素有三種格式:聲明格式%! declaration; %,其作用是把聲明加入到Servlet類(lèi)(在任何方法之外);表達(dá)式格式%= expression %,作用是計(jì)算表達(dá)式并輸出其結(jié)果;Scriptlet格式% code %,作用是把代碼插入到Servlet的service方法。第四章 JSP語(yǔ)法4.5 JSP動(dòng)作JSP動(dòng)作利用XML語(yǔ)法格式的標(biāo)記來(lái)
14、控制Servlet引擎的行為。動(dòng)作組件用于執(zhí)行一些標(biāo)準(zhǔn)的常用的JSP頁(yè)面。JSP動(dòng)作元素包括:jsp:include:當(dāng)頁(yè)面被請(qǐng)求時(shí)引入一個(gè)文件。jsp:forward:請(qǐng)求轉(zhuǎn)到一個(gè)新的頁(yè)面。 jsp:plugin:根據(jù)瀏覽器類(lèi)型為Java插件生成object或embed標(biāo)記。jsp:useBean:尋找或者實(shí)例化一個(gè)JavaBean。jsp:setProperty:設(shè)置JavaBean的屬性。 jsp:getProperty:輸出某個(gè)JavaBean的屬性。第五章 JSP內(nèi)置對(duì)象 內(nèi)置對(duì)象是不需要聲明,直接可以在JSP中使用的對(duì)象。在JSP代碼片段中,可以利用內(nèi)置對(duì)象與JSP頁(yè)面的執(zhí)行環(huán)境產(chǎn)
15、生互動(dòng)。本章分別詳細(xì)介紹了JSP的九種內(nèi)置對(duì)象,其中幾個(gè)重要的對(duì)象應(yīng)用大量的實(shí)例加以說(shuō)明。 第五章 JSP內(nèi)置對(duì)象request對(duì)象 request 對(duì)象代表請(qǐng)求對(duì)象,該對(duì)象封裝了用戶(hù)提交的信息,通過(guò)調(diào)用該對(duì)象相應(yīng)的方法可以獲取封裝的信息和用戶(hù)提交信息。它包含了有關(guān)瀏覽器請(qǐng)求的信息,并且提供了幾個(gè)用于獲取cookie,header,和session數(shù)據(jù)的有用的方法。來(lái)自客戶(hù)端的請(qǐng)求經(jīng)Servlet容器處理后,有request對(duì)象進(jìn)行封裝。它作為jspService()方法的一個(gè)參數(shù)由容器傳遞給JSP頁(yè)面。第五章 JSP內(nèi)置對(duì)象response對(duì)象response對(duì)象對(duì)客戶(hù)的請(qǐng)求做出動(dòng)態(tài)的響應(yīng),
16、向客戶(hù)端發(fā)送數(shù)據(jù)。response對(duì)象封裝了JSP產(chǎn)生的響應(yīng),然后被發(fā)送到客戶(hù)端以響應(yīng)客戶(hù)的請(qǐng)求。和request一樣,也由容器產(chǎn)生,作為jspService()方法的參數(shù)被傳入JSP。response對(duì)象包含了響應(yīng)客戶(hù)請(qǐng)求的有關(guān)信息。第五章 JSP內(nèi)置對(duì)象out對(duì)象主要用于向客戶(hù)端輸出數(shù)據(jù)。session對(duì)象主要用于來(lái)分別保存每個(gè)用戶(hù)信息,與請(qǐng)求關(guān)聯(lián)的會(huì)話(huà),Session可以存儲(chǔ)用戶(hù)的狀態(tài)信息。applicaton對(duì)象主要用于保存用戶(hù)信息,代碼片段的運(yùn)行環(huán)境。有助于查找有關(guān)servlet引擎和servlet環(huán)境的信息。pageContext對(duì)象用于管理網(wǎng)頁(yè)屬性,為JSP頁(yè)面包裝頁(yè)面的上下文,
17、管理對(duì)屬于JSP中特殊可見(jiàn)部分中已命名對(duì)象的訪(fǎng)問(wèn)。 config對(duì)象用于存取servlet實(shí)例的初始化參數(shù),是servlet的構(gòu)架部件。page對(duì)象代表JSP網(wǎng)頁(yè)本身,表示從該頁(yè)面產(chǎn)生的一個(gè)servlet實(shí)例。只有在JSP頁(yè)面范圍之內(nèi)才是合法的。exception對(duì)象的作用是處理JSP文件執(zhí)行時(shí)發(fā)生的錯(cuò)誤和異常。 第五章 JSP內(nèi)置對(duì)象JSP頁(yè)面的四種范圍,分別為page、request、session、application。page的范圍在默認(rèn)情況下,只在當(dāng)前頁(yè)面范圍內(nèi)有效。request 的范圍是指在一個(gè)JSP 網(wǎng)頁(yè)發(fā)出請(qǐng)求到另一個(gè)JSP 網(wǎng)頁(yè)之間,隨后這個(gè)屬性就失效。session 的
18、作用范圍為一段用戶(hù)持續(xù)和服務(wù)器所連接的時(shí)間,但與服務(wù)器斷線(xiàn) ,這個(gè)屬性就無(wú)效。session 針對(duì)請(qǐng)求,對(duì)每個(gè)用戶(hù)創(chuàng)建響應(yīng)的session,是用戶(hù)身份的標(biāo)識(shí)。可以在同一次請(qǐng)求的多個(gè)頁(yè)面中傳遞參數(shù)。application 的作用范圍在服務(wù)器一開(kāi)始執(zhí)行服務(wù),到服務(wù)器關(guān)閉為止。application 的范圍最大,停留的時(shí)間也最久,服務(wù)器啟動(dòng),該對(duì)象自動(dòng)創(chuàng)建,對(duì)象一直保持到服務(wù)器關(guān)閉。對(duì)一個(gè)容器而言,每個(gè)用戶(hù)共享一個(gè)application對(duì)象。 第六章 JSP與數(shù)據(jù)庫(kù)開(kāi)發(fā) 本章首先介紹關(guān)系數(shù)據(jù)庫(kù)的概念,然后分別介紹四種數(shù)據(jù)庫(kù)的基本操作和界面。因?yàn)镴SP與數(shù)據(jù)的連接是通過(guò)JDBC,所以接著介紹了JDBC
19、的原理和驅(qū)動(dòng)以及常用的類(lèi)。本章的最后是數(shù)據(jù)庫(kù)編程實(shí)例,該實(shí)例是使用JSP和數(shù)據(jù)庫(kù)開(kāi)發(fā)的最典型的例子,希望讀者能熟練掌握。 第六章 JSP與數(shù)據(jù)庫(kù)開(kāi)發(fā)6.1 數(shù)據(jù)庫(kù)基礎(chǔ)數(shù)據(jù)庫(kù)是以一定的方式組織并存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)設(shè)備上、能夠?yàn)椴煌脩?hù)所共享的、與應(yīng)用程序彼此獨(dú)立的相互關(guān)聯(lián)的數(shù)據(jù)的集合。 基本的數(shù)據(jù)模型有三種:層次模型系統(tǒng)、網(wǎng)絡(luò)模型系統(tǒng)和關(guān)系模型系統(tǒng)。關(guān)系模型系統(tǒng)具有數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)單靈活、易學(xué)易懂且數(shù)學(xué)基礎(chǔ)雄厚等特點(diǎn),發(fā)展到現(xiàn)在已成為數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)。常見(jiàn)的中小型數(shù)據(jù)庫(kù)系統(tǒng)有Access和MySQL,大型數(shù)據(jù)庫(kù)系統(tǒng)有SQL Server和Oracle。 第六章 JSP與數(shù)據(jù)庫(kù)開(kāi)發(fā)6.2 JDBC基礎(chǔ)JDBC
20、全稱(chēng)為Java DataBase Connectivity standard,它是一種可用于執(zhí)行SQL語(yǔ)句的Java API。它由一些Java語(yǔ)言編寫(xiě)的類(lèi)和界面組成,JDBC提供了一種標(biāo)準(zhǔn)的應(yīng)用程序設(shè)計(jì)接口,使開(kāi)發(fā)人員可以用純Java語(yǔ)言編寫(xiě)完整的數(shù)據(jù)庫(kù)應(yīng)用程序。1 JDBC的任務(wù) 簡(jiǎn)單地說(shuō),JDBC能完成下列三件事: (1)同數(shù)據(jù)庫(kù)建立連接 (2)向數(shù)據(jù)庫(kù)發(fā)送SQL語(yǔ)句(3)處理數(shù)據(jù)庫(kù)返回的結(jié)果 2JDBC兩層模型和三層模型 JDBC支持兩層模型,也支持三層模型訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)。 兩層模型中,Java Appple直接同數(shù)據(jù)庫(kù)連接。這就需要與被訪(fǎng)問(wèn)的數(shù)據(jù)庫(kù)進(jìn)行連接的JDBC驅(qū)動(dòng)器。三層模型中,命令
21、將被發(fā)送到服務(wù)的“中間層”,而“中間層”將SQL語(yǔ)句發(fā)送到數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)處理SQL語(yǔ)句并將結(jié)果返回“中間層”,然后“中間層”將它們 返回用戶(hù)。第六章 JSP與數(shù)據(jù)庫(kù)開(kāi)發(fā)6.3 JSP中使用數(shù)據(jù)庫(kù)JDBC API是通用接口,在與數(shù)據(jù)庫(kù)連接時(shí)先要加載。加載驅(qū)動(dòng)程序有很多方法,最常用的就是先把驅(qū)動(dòng)程序類(lèi)溶解到內(nèi)存中,作為“當(dāng)前”驅(qū)動(dòng)程序。內(nèi)存中可以有多個(gè)驅(qū)動(dòng)程序,但只有現(xiàn)在加載的這個(gè)作為首選連接的驅(qū)動(dòng)程序。通常一個(gè)數(shù)據(jù)庫(kù)的連接過(guò)程為:(1)加載驅(qū)動(dòng)程序。(2)通過(guò)DriverManager到得一個(gè)與數(shù)據(jù)庫(kù)連接的句柄。(3)通過(guò)連接句柄綁定要執(zhí)行的語(yǔ)句。(4)接收?qǐng)?zhí)行結(jié)果。(5)可選的對(duì)結(jié)果的處理。(
22、6)關(guān)閉數(shù)據(jù)庫(kù)連接。第六章 JSP與數(shù)據(jù)庫(kù)開(kāi)發(fā)數(shù)據(jù)庫(kù)基本操作 SQL有四種基本的數(shù)據(jù)操作語(yǔ)句:Insert,Select,Update和Delete。由于經(jīng)常用到,有必要在此進(jìn)行詳細(xì)說(shuō)明。1插入數(shù)據(jù)Insert語(yǔ)句可以將一行記錄插入到指定的一個(gè)數(shù)據(jù)表中。2創(chuàng)建記錄和表Select語(yǔ)句可以從一個(gè)或多個(gè)表中選取特定的行和列。3刪除記錄Delete語(yǔ)句用來(lái)刪除已知表中的一個(gè)或多個(gè)記錄。4更新記錄Uptate語(yǔ)句允許用戶(hù)在已知的表中修改已經(jīng)存在的一條或多條記錄。 第七章 JSP與JavaBean 目前,JSP作為一個(gè)流行的動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)語(yǔ)言,得到了越來(lái)越廣泛的應(yīng)用。在各類(lèi)JSP應(yīng)用程序中,JSP + J
23、avaBean的組合成為了一種事實(shí)上最常見(jiàn)的JSP程序的標(biāo)準(zhǔn)。本章首先簡(jiǎn)要介紹JavaBean的概念,然后重點(diǎn)講述JavaBean的應(yīng)用,并通過(guò)實(shí)例來(lái)加以說(shuō)明。第七章 JSP與JavaBean7.1 JavaBean概述JavaBean 是一種Java語(yǔ)言寫(xiě)成的可重用組件。JavaBean中的類(lèi)必須是具體的和公共的,并且是具有無(wú)參數(shù)的構(gòu)造器。JavaBeans 通過(guò)提供符合一致性設(shè)計(jì)模式的公共方法,將內(nèi)部域封裝為屬性。JavaBean與EJB的主要區(qū)別:(1)JavaBean與EJB規(guī)范在以下方面有共同的目標(biāo):通過(guò)標(biāo)準(zhǔn)的設(shè)計(jì)模式推廣Java程序代碼,提升開(kāi)發(fā)過(guò)程和開(kāi)發(fā)工具之間的重復(fù)運(yùn)用性、可攜
24、性但是這兩種規(guī)格的原始問(wèn)題卻是為了解決不同的問(wèn)題。(2)EJB規(guī)范所定義的組件模型是用來(lái)開(kāi)發(fā)服務(wù)端的Java程序,因?yàn)镋JB可能執(zhí)行在不同的服務(wù)器平臺(tái)上,包括無(wú)圖形的大型主機(jī)上,所以EJB無(wú)法使用類(lèi)似AWT或SWING之類(lèi)的圖形化程序庫(kù)。第七章 JSP與JavaBeanJavaBean的任務(wù) JavaBean的任務(wù)就是:“Write once, run anywhere, reuse everywhere”,即“一次性編寫(xiě),任何地方執(zhí)行,任何地方重用”。JavaBean應(yīng)該提供一個(gè)實(shí)際的方法來(lái)增強(qiáng)現(xiàn)有代碼的利用率,而不再需要在原有代碼上重新進(jìn)行編程。除了在節(jié)約開(kāi)發(fā)資源方面的意義外,一次性地編寫(xiě)
25、JavaBean組件也可以在版本控制方面起到非常好的作用。通過(guò)JavaBean可以很好地實(shí)現(xiàn)邏輯的封裝、程序的易于維護(hù)等等。 以下是實(shí)現(xiàn)JavaBean的一些具體的主要設(shè)計(jì)目標(biāo):(1)緊湊而方便的創(chuàng)建和使用 (2)完全的可移植性(3)繼承Java的強(qiáng)大功能(4)應(yīng)用程序構(gòu)造器支持(5)分布式計(jì)算支持第七章 JSP與JavaBean7.2 JavaBean應(yīng)用 1.如何創(chuàng)建JavaBean從基本上說(shuō),JavaBean可以看成是一個(gè)黑盒子,即只需要知道其功能而不必理會(huì)其內(nèi)部結(jié)構(gòu)的軟件設(shè)備。其創(chuàng)建方式其實(shí)與創(chuàng)建一個(gè)公共類(lèi)一樣。 2.如何調(diào)用JavaBean為了在JSP頁(yè)面中使用JavaBean,必須
26、使用JSP動(dòng)作標(biāo)簽useBean。3.JavaBean的存放目錄如果只讓當(dāng)前JSP頁(yè)面調(diào)用JavaBean,則在該目錄下新建文件夾,命名為WEB-INF,同時(shí)在創(chuàng)建好的文件夾下再建立一個(gè)文件夾,命名為classes。把Beans的字節(jié)碼文件存放在該文件夾下,這樣在JSP頁(yè)面就可以用useBean調(diào)用了。 第七章 JSP與JavaBean7.3 JavaBean應(yīng)用實(shí)例1.使用JavaBean連接數(shù)據(jù)庫(kù)帶領(lǐng)讀者體驗(yàn)JavaBean給系統(tǒng)維護(hù)帶來(lái)的便捷。2.進(jìn)程條的實(shí)現(xiàn)讓讀者學(xué)習(xí)編寫(xiě)JSP+ JavaBean 模式的程序。第八章 JSP與文件操作 無(wú)論是用JSP技術(shù),還是ASP、PHP技術(shù)實(shí)現(xiàn)的網(wǎng)
27、站,都可能有文件上傳下載、計(jì)數(shù)器以及投票等功能,這些功能的實(shí)現(xiàn)離不開(kāi)對(duì)文件的操作。 本章首先介紹File對(duì)象和一些常用的輸入輸出流,然后介紹了實(shí)現(xiàn)多文件上傳的兩種方式。最后詳細(xì)介紹可以實(shí)現(xiàn)上傳下載功能的SmartUpload組件,并通過(guò)實(shí)例加以說(shuō)明。第八章 JSP與文件操作8.1 File對(duì)象File的使用非常的簡(jiǎn)單,介紹了它的四個(gè)構(gòu)造函數(shù)和常用方法。分別用實(shí)例說(shuō)明如何使用File對(duì)象來(lái)獲取文件的屬性、創(chuàng)建文件和文件夾、刪除文件和文件夾。第八章 JSP與文件操作8.2 輸入輸出流 在Java中,按照數(shù)據(jù)交換的單位文件流可分為字節(jié)流、字符流兩種。我們把能夠讀取一個(gè)字節(jié)序列的對(duì)象稱(chēng)作一個(gè)輸入流。把
28、能夠?qū)懸粋€(gè)字節(jié)序列稱(chēng)作一個(gè)輸出流。它們分別由抽象類(lèi)InputStream和OutputStream類(lèi)表示。因?yàn)槊嫦蜃止?jié)的流不方便用來(lái)處理存儲(chǔ)為Unicode(每個(gè)字符使用兩個(gè)字節(jié))信息。所以Java引入了用來(lái)處理Unicode字符的類(lèi)層次,這些類(lèi)派生自抽象類(lèi)Reader和Writer,用于讀寫(xiě)雙字節(jié)的Unicode字符。 第八章 JSP與文件操作字節(jié)流1InputStream類(lèi)InputStream類(lèi)是所有輸入數(shù)據(jù)流的父類(lèi),它是一個(gè)抽象類(lèi),定義了所有輸入數(shù)據(jù)流都具有的共通特性。 2OutputStream類(lèi)此類(lèi)是所有輸出字節(jié)流類(lèi)的父類(lèi)。輸出流接受輸出字節(jié)并將這些字節(jié)發(fā)送到某個(gè)接收器。 一個(gè)具體
29、的輸出流類(lèi)需要重載此方法,以提供具體功能。3FileInputStream文件輸入輸出流是一個(gè)從文件讀取數(shù)據(jù)的輸入輸出流。FileInputStream類(lèi)是從InputStream中派生出來(lái)的簡(jiǎn)單輸入類(lèi),作用是從輸入流中讀取字節(jié)。4FileOutputStream類(lèi)FileOutputStream類(lèi)是OutputStream中派生出來(lái)的簡(jiǎn)單輸出類(lèi),它提供了基本的文件寫(xiě)入能力。第八章 JSP與文件操作字符流1Reader類(lèi)Reader是定義Java的流式字符輸入模式的抽象類(lèi)。該類(lèi)的所有方法在出錯(cuò)情況下都將引發(fā)IOException 異常。2Writer類(lèi)Writer 是定義流式字符輸出的抽象類(lèi)。
30、所有該類(lèi)的方法都返回一個(gè)void 值并在出錯(cuò)條件下引發(fā)IOException 異常。3FileReader類(lèi)從FileReader類(lèi)可以在指定文件上實(shí)例化一個(gè)文件輸入流,利用字符流提供的方法可以從文件中讀取一個(gè)字符或者一組數(shù)據(jù)。4FileWriter類(lèi)由FileWriter 類(lèi)可以實(shí)例化一個(gè)文件輸出流,并提供向文件中寫(xiě)入一個(gè)字符或者一組數(shù)據(jù)的方法。如果用FileWriter來(lái)打開(kāi)一個(gè)只讀文件會(huì)產(chǎn)生IOException異常。 第八章 JSP與文件操作8.3 文件上傳下載JavaBean實(shí)現(xiàn)多個(gè)文件上傳的兩種方法,分別是使用Http協(xié)議和Ftp協(xié)議實(shí)現(xiàn)。1采用HTTP協(xié)議實(shí)現(xiàn)多個(gè)文件的上傳 使用
31、表單元素(input typefile),表單提交給JSP頁(yè)面處理。2采用Ftp協(xié)議實(shí)現(xiàn)多個(gè)文件的上傳首先與Ftp服務(wù)器建立連接。然后初始化文件的傳輸方式,將文件輸出到文件輸入流FileInputStream中,F(xiàn)ileInputStream中的數(shù)據(jù)讀入字節(jié)數(shù)組中,字節(jié)數(shù)組中的數(shù)據(jù)寫(xiě)入輸出流。這樣和源文件同名的一個(gè)文件就復(fù)制到了服務(wù)器端。第八章 JSP與文件操作JSP上傳組件 jspSmartUpload是由網(wǎng)站開(kāi)發(fā)的一個(gè)可免費(fèi)使用的全功能的文件上傳下載組件,適于嵌入執(zhí)行上傳下載操作的JSP文件中。該組件有以下幾個(gè)特點(diǎn): (1)使用簡(jiǎn)單。在JSP文件中僅僅書(shū)寫(xiě)三五行Java代碼就可以完成文件的
32、上傳或下載。 (2)能全程控制上傳。利用jspSmartUpload組件提供的對(duì)象及其操作方法,可以獲得上傳文件的全部信息(包括文件名,大小,類(lèi)型,擴(kuò)展名,文件數(shù)據(jù)等),方便存取。 (3)能對(duì)上傳的文件在大小、類(lèi)型等方面做出限制。(4)下載靈活。(5)針對(duì)MYSQL數(shù)據(jù)庫(kù),能將文件上傳到數(shù)據(jù)庫(kù)中,也能將數(shù)據(jù)庫(kù)中的數(shù)據(jù)下載下來(lái)。第八章 JSP與文件操作上傳下載實(shí)例 采用SmartUpload上傳組件,簡(jiǎn)單的實(shí)現(xiàn)上傳和下載功能,讓讀者體會(huì)如何實(shí)現(xiàn)文件的上傳和下載。網(wǎng)頁(yè)計(jì)數(shù)器的實(shí)現(xiàn) 采用文件操作來(lái)實(shí)現(xiàn)網(wǎng)頁(yè)記數(shù)器。第九章 網(wǎng)上教學(xué)系統(tǒng) 該系統(tǒng)是基于JSP技術(shù)的網(wǎng)上教學(xué)系統(tǒng),采用BS模式,利用JavaB
33、ean技術(shù),使用Tomcat服務(wù)器和Access數(shù)據(jù)庫(kù),完成了系統(tǒng)的開(kāi)發(fā)。 本章從系統(tǒng)的總體設(shè)計(jì)起步,詳細(xì)講述了網(wǎng)上教學(xué)系統(tǒng)的的數(shù)據(jù)庫(kù)設(shè)計(jì)以及具體開(kāi)發(fā)的實(shí)現(xiàn)過(guò)程。要求讀者能熟練掌握數(shù)據(jù)庫(kù)的一些基本操作和數(shù)據(jù)庫(kù)的封裝,同時(shí)還要求讀者能理解并掌握J(rèn)SP+JavaBean的開(kāi)發(fā)結(jié)構(gòu),并學(xué)會(huì)把Java代碼封裝成類(lèi)和方法。第九章 網(wǎng)上教學(xué)系統(tǒng)9.1 系統(tǒng)總體設(shè)計(jì)1.系統(tǒng)功能模塊本教學(xué)系統(tǒng)主要用來(lái)進(jìn)行網(wǎng)上選課和網(wǎng)上評(píng)分。作為一個(gè)系統(tǒng),應(yīng)該由一些相對(duì)獨(dú)立的模塊耦合而成。本系統(tǒng)主要包括如下幾個(gè)大的模塊 :登錄模塊 、管理員模塊 、學(xué)生信息管理模塊、教師管理模塊。2.系統(tǒng)總體框架 第九章 網(wǎng)上教學(xué)系統(tǒng)9.2 系
34、統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)對(duì)于數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)來(lái)說(shuō),設(shè)計(jì)數(shù)據(jù)庫(kù)是非常重要的,也是首要的工作,一般先設(shè)計(jì)系統(tǒng)的數(shù)據(jù)庫(kù),然后再開(kāi)始設(shè)計(jì)應(yīng)用程序。 1.數(shù)據(jù)庫(kù)需求分析用戶(hù)信息 、課程信息 、班級(jí)信息、注冊(cè)信息 2.數(shù)據(jù)表設(shè)計(jì)用戶(hù)表(admin、student 、teacher ) 、課程表(course)、班級(jí)表(classes) 、注冊(cè)表(enrol) 3.創(chuàng)建數(shù)據(jù)表 第九章 網(wǎng)上教學(xué)系統(tǒng)9.3 各功能模塊的具體實(shí)現(xiàn)1.系統(tǒng)公用模塊 2.登錄模塊3.管理員模塊增刪改學(xué)生信息、增刪改教師信息、增刪改課程信息、增刪改班級(jí)信息 4.學(xué)生模塊網(wǎng)上選課、查看成績(jī) 、修改個(gè)人信息 5.教師模塊確認(rèn)選課學(xué)生、給學(xué)生打分 第十章
35、 銷(xiāo)售業(yè)績(jī)統(tǒng)計(jì)系統(tǒng) 10.1 系統(tǒng)總體設(shè)計(jì)1.系統(tǒng)功能模塊銷(xiāo)售系統(tǒng)基本信息、按地區(qū)統(tǒng)計(jì)、按銷(xiāo)售人員統(tǒng)計(jì)、按銷(xiāo)售部門(mén)匯總統(tǒng)計(jì)、按月匯總銷(xiāo)售業(yè)績(jī)生成報(bào)表、按季度匯總銷(xiāo)售業(yè)績(jī)生成報(bào)表、按年匯總銷(xiāo)售業(yè)績(jī)生成報(bào)表2.系統(tǒng)總體框架 第十章 銷(xiāo)售業(yè)績(jī)統(tǒng)計(jì)系統(tǒng)3.系統(tǒng)的編程思想實(shí)現(xiàn)本系統(tǒng)采用JSP技術(shù)與Javabean 技術(shù)相結(jié)合來(lái)實(shí)現(xiàn)。用戶(hù)界面(Result JSP)和事務(wù)邏輯(Javabean)的開(kāi)發(fā)分別選用JSP 、Javabean技術(shù),同時(shí)使用Javabean 技術(shù)封裝交換數(shù)據(jù),并將其存儲(chǔ)在不同會(huì)話(huà)中,以滿(mǎn)足個(gè)性化Web 應(yīng)用。第十章 銷(xiāo)售業(yè)績(jī)統(tǒng)計(jì)系統(tǒng)10.2 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)1.數(shù)據(jù)庫(kù)需求分析銷(xiāo)售人員
36、信息、銷(xiāo)售部門(mén)信息、產(chǎn)品信息、銷(xiāo)售信息 2.數(shù)據(jù)表設(shè)計(jì)銷(xiāo)售人員信息表(personal)、銷(xiāo)售部門(mén)表 (sector)、產(chǎn)品信息表(product)、銷(xiāo)售信息表(sale)。 第十章 銷(xiāo)售業(yè)績(jī)統(tǒng)計(jì)系統(tǒng)10.3 各功能模塊的具體實(shí)現(xiàn)1.系統(tǒng)公用模塊首頁(yè)結(jié)構(gòu)、中文轉(zhuǎn)碼頁(yè)面、封裝數(shù)據(jù)庫(kù)、配置直接訪(fǎng)問(wèn)首頁(yè)的XML文件2.銷(xiāo)售系統(tǒng)基本信息銷(xiāo)售人員信息查看和添加、其他信息查詢(xún)與添加3.銷(xiāo)售業(yè)績(jī)統(tǒng)計(jì)查詢(xún)4.部署和發(fā)布系統(tǒng) 第十一章 JSP展望 本章主要從JSP的技術(shù)難點(diǎn)出發(fā),向讀者介紹了Servlet技術(shù)和MVC模式,同時(shí)還簡(jiǎn)要介紹了Java對(duì)象持久化技術(shù)中現(xiàn)在比較流行的Struts和Hibernate架構(gòu)。 第十一章 JSP展望11.1 JSP技術(shù)難點(diǎn)關(guān)于JSP的技術(shù)難點(diǎn) ,主要有三點(diǎn):1.連接數(shù)據(jù)庫(kù)由于Java對(duì)數(shù)據(jù)庫(kù)支持的限制,讀者需要使用JDBC來(lái)連接數(shù)據(jù)庫(kù)。 2.內(nèi)置對(duì)象會(huì)話(huà)狀態(tài)維持是Web應(yīng)用開(kāi)發(fā)者必須面對(duì)的問(wèn)題。 3.轉(zhuǎn)換Unicode編碼由于IE默認(rèn)字符集為GB2312,然而Windows默認(rèn)為GBK,Java則默認(rèn)為Unicode,所以如果不通過(guò)一定的轉(zhuǎn)換,直接在GB2312字符集上顯示從GBK或Unicode得到的頁(yè)面將是一片亂碼。 第十一章 JSP展望11.2 Servlet技術(shù)Servlet是一種獨(dú)立于平臺(tái)和協(xié)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度高級(jí)管理人員競(jìng)業(yè)禁止合同
- 農(nóng)業(yè)生產(chǎn)資金投入與財(cái)務(wù)管理手冊(cè)
- 開(kāi)幕式致辭與未來(lái)發(fā)展展望報(bào)告
- 員工年終工作總結(jié)報(bào)告模板集萃
- 互聯(lián)網(wǎng)廣告投放及推廣合作協(xié)議
- 農(nóng)業(yè)生產(chǎn)投入品減量增效技術(shù)指導(dǎo)手冊(cè)
- 農(nóng)業(yè)產(chǎn)業(yè)扶貧政策及項(xiàng)目申報(bào)指導(dǎo)手冊(cè)
- 智能家居技術(shù)研發(fā)推廣合作協(xié)議
- 健身房客戶(hù)服務(wù)手冊(cè)
- 健身房健身器材租賃合同
- 環(huán)保監(jiān)測(cè)設(shè)備運(yùn)維服務(wù)
- 醫(yī)德醫(yī)風(fēng)考評(píng)內(nèi)容及量化考評(píng)標(biāo)準(zhǔn)
- 小學(xué)信息技術(shù)-第8冊(cè)全冊(cè)-6年級(jí)下-電子工業(yè)出版社
- 《網(wǎng)絡(luò)攻擊與防御》課件第四章 基于系統(tǒng)的攻擊與防御
- 供電一把手講安全課
- JTG∕T F30-2014 公路水泥混凝土路面施工技術(shù)細(xì)則
- 建設(shè)工程施工專(zhuān)業(yè)分包合同(GF-2003-0213)
- 司法心理學(xué)課件
- 耳鼻喉科各項(xiàng)規(guī)章制度
- 湖南科技職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試參考試題庫(kù)(含答案)
- 玻璃分化板制作工藝
評(píng)論
0/150
提交評(píng)論