版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 網(wǎng)</b></p><p><b> 上</b></p><p><b> 定</b></p><p><b> 餐</b></p><p><b> 系</b></p><p
2、><b> 統(tǒng)</b></p><p><b> 網(wǎng)上訂餐系統(tǒng)</b></p><p><b> 系統(tǒng)概述</b></p><p> 本系統(tǒng)在開(kāi)發(fā)設(shè)計(jì)中,采用B/S(Browser/Server)結(jié)構(gòu),這種結(jié)構(gòu)使得數(shù)據(jù)只有結(jié)果集合在瀏覽器中顯示,數(shù)據(jù)的處理在服務(wù)器進(jìn)行,用戶(hù)不用安裝客戶(hù)端
3、,而且由于通過(guò)服務(wù)器端統(tǒng)一管理數(shù)據(jù),易于保證數(shù)據(jù)的一致性。數(shù)據(jù)庫(kù)方面,推薦業(yè)界具有領(lǐng)導(dǎo)地位的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)Microsoft SQL sever2000,使系統(tǒng)安全性能更高。同時(shí)采用當(dāng)前正在流行的JSP(Java Server Pages)編程,用戶(hù)界面更友好。</p><p> 在開(kāi)發(fā)中選擇了JSP+JavaBean+SQL2000的模式,實(shí)現(xiàn)了應(yīng)用程序邏輯和頁(yè)面顯示分離,界面設(shè)計(jì)更簡(jiǎn)單。JavaBean
4、可重用的軟件組件滿(mǎn)足小型應(yīng)用,同時(shí)使編程人員投入量精力便可重用組件,在簡(jiǎn)單的應(yīng)用中可以充分考慮</p><p><b> 二.需求分析</b></p><p> 網(wǎng)上訂餐管理系統(tǒng)無(wú)論是在應(yīng)用的深度還是廣度都是一個(gè)逐步發(fā)展的過(guò)程。在開(kāi)發(fā)一個(gè)局部系統(tǒng)時(shí)要充分考慮到局部系統(tǒng)和整個(gè)目標(biāo)系統(tǒng)之間的相容性和完整性,以利于今后整個(gè)系統(tǒng)的建立。進(jìn)貨訂單管理系統(tǒng)從總體上把握系統(tǒng)的設(shè)
5、計(jì),在具體的設(shè)計(jì)實(shí)現(xiàn)上我們圍繞著三個(gè)方面的需求展開(kāi),即管理者、系統(tǒng)使用者、系統(tǒng)維護(hù)者。</p><p><b> 2.1性能需求分析</b></p><p> 該系統(tǒng)在性能功能上應(yīng)達(dá)到如下需求:</p><p> ◆ 操作簡(jiǎn)單、界面友好: 完全控件式的頁(yè)面布局,使得菜品,資訊,座位等信息的錄入工作更簡(jiǎn)便,許多選項(xiàng)包括餐廳信息,桌位,包房信
6、息等只需要點(diǎn)擊鼠標(biāo)就可以完成;另外,跟蹤出現(xiàn)的提示信息也讓用戶(hù)隨時(shí)清楚自己的操作情況。對(duì)常見(jiàn)的類(lèi)似網(wǎng)站的管理的各個(gè)方面:基本信息錄入、瀏覽、刪除、修改、搜索等方面都大體實(shí)現(xiàn),顧客對(duì)菜品的預(yù)定及支付方式;</p><p> ◆ 即時(shí)可見(jiàn):對(duì)客戶(hù)預(yù)定餐飲信息的處理(包括錄入、刪除)將立即在主頁(yè)的對(duì)應(yīng)欄目顯示出來(lái),達(dá)到“即時(shí)發(fā)布、即時(shí)見(jiàn)效”的功能;</p><p> ◆ 系統(tǒng)運(yùn)行應(yīng)該快速、穩(wěn)
7、定、高效和可靠;</p><p> ◆ 在結(jié)構(gòu)上應(yīng)具有很好的可擴(kuò)展性,便于將來(lái)的功能擴(kuò)展和維護(hù)。</p><p> 2.2產(chǎn)品質(zhì)量需求分析</p><p><b> 2.3 可行性分析</b></p><p> 隨著經(jīng)濟(jì)的快速發(fā)展,B2C電子商務(wù)越來(lái)越受到人們的關(guān)注。網(wǎng)上訂餐類(lèi)網(wǎng)站,已經(jīng)如雨后春筍般的出現(xiàn)在了個(gè)大
8、城市。特別在公司,企業(yè)內(nèi)部,團(tuán)體訂餐已經(jīng)成為了趨勢(shì)。同時(shí),隨著全國(guó)人民的精神、物質(zhì)和文化生活高度的提高,人們已經(jīng)不在僅僅停留在吃飽的程度,不但要吃飽,還要吃好,而且口味也越來(lái)越挑刺,正因?yàn)槿绱司W(wǎng)絡(luò)訂餐業(yè)務(wù)的出現(xiàn),正迎合了這些人的口味,他們不但省去了自己做飯的麻煩,而且也能尋找和發(fā)現(xiàn)新的菜品,品嘗不同風(fēng)格的菜品,網(wǎng)絡(luò)訂餐業(yè)務(wù)在中國(guó)有著極大的發(fā)展空間以及良好的背景。而當(dāng)代大學(xué)生,白領(lǐng)工作人士作為社會(huì)中的重要群體,他們對(duì)飲食的要求都在不斷提高
9、,飲食在他們生活中起著重要作用。因此,面向大學(xué)生和都市白領(lǐng)人士的網(wǎng)絡(luò)訂餐網(wǎng)站的設(shè)計(jì)有著良好的現(xiàn)實(shí)意義。</p><p> 2.4 總體設(shè)計(jì)原則</p><p> 開(kāi)放性、可擴(kuò)充性、可靠性原則</p><p> 開(kāi)放系統(tǒng)是生產(chǎn)各種計(jì)算機(jī)產(chǎn)品普遍遵循的原則,遵循這種標(biāo)準(zhǔn)的產(chǎn)品都符合一些公共的、可以相互操作的標(biāo)準(zhǔn),能夠融洽的在一起工作。開(kāi)放系統(tǒng)使得各種類(lèi)型的網(wǎng)絡(luò)和系
10、統(tǒng)互連簡(jiǎn)單、標(biāo)準(zhǔn)統(tǒng)一,容易擴(kuò)展升級(jí)。從而適應(yīng)廣大用戶(hù)需求的多變性和產(chǎn)品的更新?lián)Q代。</p><p> 2、良好的用戶(hù)操作界面</p><p> 用戶(hù)操作界面美觀、方便、實(shí)用,使用戶(hù)能在較短的時(shí)間內(nèi)掌握其使用方法。</p><p><b> 3、實(shí)用性原則</b></p><p> 任何系統(tǒng)的設(shè)計(jì)都要考慮其實(shí)用性,
11、系統(tǒng)開(kāi)發(fā)的目的是為了實(shí)現(xiàn)業(yè)務(wù)處理自動(dòng)化、規(guī)范化,提高工作效率,減輕工作人員的勞動(dòng)強(qiáng)度,減少開(kāi)支。</p><p> 4、工作平臺(tái)設(shè)計(jì)原則</p><p> 能適應(yīng)不同的操作平臺(tái),不同的網(wǎng)絡(luò)。</p><p><b> 總體設(shè)計(jì)</b></p><p><b> 3.1系統(tǒng)流程分析</b>&l
12、t;/p><p> 3.1.1業(yè)務(wù)流程分析</p><p> 1、 瀏覽與選擇餐飲信息:顧客進(jìn)入網(wǎng)站即刻自動(dòng)提供購(gòu)物車(chē),不需身份確認(rèn)就可以在網(wǎng)站上隨意瀏覽,登錄系統(tǒng)后則可挑選餐飲(可增加、刪除、修改購(gòu)物車(chē)上餐飲的類(lèi)型),網(wǎng)站提供餐飲信息列表,最先添加的餐飲信息優(yōu)先列表給顧客作為選購(gòu)時(shí)的參考;</p><p> 2、 判斷:顧客確定所購(gòu)餐飲信息后,系統(tǒng)將判斷該顧客是
13、否注冊(cè),如果是,則可直接填寫(xiě)訂單;否則,提示顧客登記注冊(cè);</p><p> 3、 提交訂單:已選購(gòu)的餐飲信息需填寫(xiě)訂單細(xì)節(jié)。</p><p> 4、 注冊(cè):顧客可在公司的網(wǎng)站上注冊(cè)后提交申請(qǐng);</p><p> 5、 確認(rèn):后臺(tái)管理將實(shí)時(shí)得到顧客的注冊(cè)信息,通過(guò)電話(huà)及其他方式確認(rèn),當(dāng)確認(rèn)后,系統(tǒng)管理員可對(duì)該顧客提交的預(yù)定信息進(jìn)行審核。</p>
14、<p> 6、送貨與付款:網(wǎng)上的每一份訂單都將實(shí)時(shí)存入后臺(tái)數(shù)據(jù)庫(kù),后臺(tái)操作人員通過(guò)電話(huà)及其他方式確認(rèn),確認(rèn)后將及時(shí)實(shí)施審核該訂單:向顧客送貨,貨到付款,完成網(wǎng)上交易。</p><p> 3.1.2數(shù)據(jù)流程分析</p><p> 該系統(tǒng)數(shù)據(jù)流程比較簡(jiǎn)單,管理員可以添加餐廳信息(包括餐桌,包房等),餐飲信息(包括菜品名等信息),資訊信息等,然而這些信息顧客是可以瀏覽的,但是顧客
15、沒(méi)有權(quán)限對(duì)這些信息進(jìn)行修改,這些信息對(duì)于顧客而言是單向的。對(duì)于預(yù)定信息,管理員可以查看及審核預(yù)定信息,顧客可以增刪改預(yù)定信息,并將預(yù)定信息提交給管理員等待審核,因此預(yù)定信息對(duì)于顧客和管理員而言都是雙向的。</p><p> 3.1.2.1數(shù)據(jù)流圖</p><p> 數(shù)據(jù)流圖簡(jiǎn)稱(chēng)DFD,是SA方法中用于表示系統(tǒng)邏輯模型的一種工具。它以圖形的方式描述數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理的過(guò)程,由于它只反
16、映系統(tǒng)必須完成的邏輯功能,所以它是一種功能模型。系統(tǒng)的數(shù)據(jù)流圖如下所示:</p><p><b> 系統(tǒng)DFD圖</b></p><p> 3.2系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)</p><p> 3.2.1 數(shù)據(jù)庫(kù)E-R圖</p><p> 3.2.2數(shù)據(jù)庫(kù)表設(shè)計(jì)</p><p> 系統(tǒng)關(guān)鍵數(shù)據(jù)表如下:
17、其關(guān)系見(jiàn)E-R圖</p><p> 1.用戶(hù)表(users):用戶(hù)登錄是需要用戶(hù)名和密碼,所以用戶(hù)數(shù)據(jù)表中必須包含用戶(hù)名(uname)、密碼(upass)兩個(gè)信息,還有些其他的用戶(hù)信息,比如power指的是用戶(hù)權(quán)限(管理員還是非管理員)。從功能上數(shù)據(jù)庫(kù)表設(shè)計(jì)如表3.1。</p><p><b> 表 3.1 用戶(hù)表</b></p><p>
18、 2.菜品信息表(food):菜品信息表主要描述菜品信息,如:菜品ID號(hào)(foodid),此ID號(hào)為系統(tǒng)自動(dòng)生成;菜品名稱(chēng)(fname);菜品價(jià)格(price);所屬分類(lèi)ID(categoryId);圖片信息(images)。商品信息表詳細(xì)描述如表3.2</p><p><b> 表3.2菜品信息表</b></p><p> 3.訂座菜單表(st):客戶(hù)訂餐的一
19、些相關(guān)信息,如stId指的訂餐ID號(hào),此ID和是系統(tǒng)自動(dòng)生成的;菜品名稱(chēng)(fname);訂購(gòu)數(shù)量(num);價(jià)格(price);座位編號(hào)(seatId)等,具體描述表3.3</p><p><b> 表3.3供應(yīng)商表</b></p><p> 4.訂單表(orders): 訂單表有一下描述信息。訂單ID(ordersId),訂購(gòu)人姓名(name),地址(addre
20、ss),聯(lián)系電話(huà)(tel),價(jià)格(price),備注信息(context)等,具體描述如表3.4所示:</p><p><b> 表3.4訂單表</b></p><p> 5.訂單菜單表(Shop)具體描述如表3.5所示:</p><p><b> 表3.5訂單菜單表</b></p><p>
21、 6.訂座表(Seat)具體描述如表3.6所示:</p><p><b> 表3.6訂座表</b></p><p><b> 3.3系統(tǒng)結(jié)構(gòu)設(shè)計(jì)</b></p><p> 網(wǎng)上訂餐系統(tǒng)的模型結(jié)構(gòu)如下圖所示:</p><p> 從前面的需求分析中得知,可以將功能分為前臺(tái)和后臺(tái)兩類(lèi),因此模塊也
22、分為兩大類(lèi):前臺(tái)模塊和后臺(tái)模塊。</p><p> 下圖為系統(tǒng)模塊總圖:</p><p><b> 系統(tǒng)模塊總圖</b></p><p> 3.4 核心算法實(shí)現(xiàn)——分頁(yè)顯示算法</p><p><b> int i;</b></p><p> 一頁(yè)顯示的記
23、錄數(shù) = 10;</p><p><b> 取得待顯示頁(yè)碼</b></p><p> PageSet : strPage = page;</p><p> if(strPage==null)//page參數(shù)為空時(shí),此時(shí)顯示第一頁(yè)數(shù)據(jù){</p><p> 待顯示頁(yè)碼
24、60;= 1;</p><p><b> }</b></p><p> else{ 待顯示頁(yè)碼 = Integer.parseInt(strPage); //將字符串轉(zhuǎn)換成整型if(待顯示頁(yè)碼<1) 待顯示頁(yè)碼 = 1;</p><p><b> }</
25、b></p><p> 執(zhí)行SQL語(yǔ)句并獲取結(jié)果集</p><p> ResultSet rs = sqlStmt.executeQuery("SQL”);獲取記錄總數(shù)rs.last();記錄總數(shù) = rs.getRow();</p><p><b> 記算總頁(yè)數(shù)</b><
26、;/p><p> 總頁(yè)數(shù) = (記錄總數(shù)+設(shè)置一頁(yè)顯示的記錄數(shù)-1) / 一頁(yè)顯示的記錄數(shù);</p><p><b> 調(diào)整待顯示的頁(yè)碼</b></p><p> if(待顯示頁(yè)碼>總頁(yè)數(shù)) 待顯示頁(yè)碼 = 總頁(yè)數(shù);// 分頁(yè)情況分類(lèi)
27、;</p><p><b> //選擇向上翻</b></p><p> if(待顯示頁(yè)碼>1)</p><p><b> {</b></p><p> 選擇向上翻一頁(yè)傳遞參數(shù)pageda=待顯示頁(yè)碼-1 goto PageSet;</p><p><b&g
28、t; }</b></p><p><b> //選擇向下翻</b></p><p> if(待顯示頁(yè)碼<總頁(yè)數(shù)){</p><p> 選擇向下翻一頁(yè)傳遞參數(shù)pageda=待顯示頁(yè)碼+1 goto PageSet;}</p><p><b> If(選擇到尾頁(yè))</b>
29、</p><p><b> {</b></p><p> 選擇到尾頁(yè)傳遞參數(shù)pageda=總頁(yè)數(shù) goto PageSet;</p><p><b> }</b></p><p> 頁(yè)次=待顯示頁(yè)碼 / 總頁(yè)數(shù)頁(yè) ; </p><p>
30、 if(總頁(yè)數(shù)>0){</p><p> 將記錄指針定位到結(jié)果集的第一條記錄上((待顯示頁(yè)碼-1) * 一頁(yè)顯示的記錄數(shù) + 1);</p><p><b> i = 0;</b></p><p> while(i<一頁(yè)顯示的記錄數(shù) &&&
31、#160;數(shù)據(jù)庫(kù)指針不在結(jié)果集尾部){</p><p> 輸出要分頁(yè)顯示的數(shù)據(jù)庫(kù)中的內(nèi)容;</p><p> 將數(shù)據(jù)庫(kù)指針移動(dòng)到當(dāng)前行的下一行;</p><p><b> i++;</b></p><p><b> }</b></p><p><b> }
32、</b></p><p> 3.5 數(shù)據(jù)庫(kù)編程基礎(chǔ)及語(yǔ)法</p><p> Java 數(shù)據(jù)庫(kù)連接 (JDBC) 是一個(gè)標(biāo)準(zhǔn) SQL(Structured Query Language,結(jié)構(gòu)化查詢(xún)語(yǔ)言)數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)接口, 可以為多種關(guān)系數(shù)據(jù)庫(kù)提供統(tǒng)一訪(fǎng)問(wèn)。JDBC(Java DataBase Connection,Java 數(shù)據(jù)庫(kù)連接) 也提供一種基準(zhǔn),據(jù)此可以構(gòu)建更高級(jí)的工具
33、和接口。 目前的 JDK(Java Development Kit,Java 開(kāi)發(fā)工具包)軟件捆綁包括 JDBC 和 JDBC-ODBC(Open DataBase Connection,開(kāi)放式數(shù)據(jù)庫(kù)連接)橋。你可以從http://java。sun。com/products/JDK/CurrentRelease 找到最新版?!?lt;/p><p><b> 安裝驅(qū)動(dòng)程序。</b></p&
34、gt;<p> 裝載驅(qū)動(dòng)程序只需要非常簡(jiǎn)單的一行代碼。例如,你想要使用 JDBC-ODBC 橋驅(qū)動(dòng)程序, 可以用下列代碼裝載它: Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");</p><p> 如果是JDBC Driver裝載: Class.forName("jdbc.driver_class_name");
35、各種數(shù)據(jù)庫(kù)驅(qū)動(dòng)見(jiàn)附錄。</p><p> 建立連接 第二步就是用適當(dāng)?shù)尿?qū)動(dòng)程序類(lèi)與 DBMS 建立一個(gè)連接。下列代碼是一般的做法:</p><p> Connection con = DriverManager.getConnection(url, " myLogin ", " myPassword ");</p><p&
36、gt; 這個(gè)步驟也非常簡(jiǎn)單,最難的是怎么提供 url。如果你正在使用 JDBC-ODBC 橋, JDBC URL 將以 jdbc:odbc 開(kāi)始:余下 URL 通常是你的數(shù)據(jù)源名字或數(shù)據(jù)庫(kù)系統(tǒng)。因此,假設(shè)你正在使用 ODBC 存取一個(gè)叫 "webmail" 的 ODBC 數(shù)據(jù)源,你的 JDBC URL 是 jdbc:odbc:webmail 。把 "sa" 及空格替換為你登陸 DBMS 的用戶(hù)名
37、及口令。如果你登陸數(shù)據(jù)庫(kù)系統(tǒng)的用戶(hù)名為 "webmail" 口令為空,只需下面的 2 行代碼就可以建立一個(gè)連接: </p><p> String url = "jdbc:odbc:webmail";Connection con = DriverManager.getConnection(url,"webmail","");<
38、;/p><p> 如果你使用的是第三方開(kāi)發(fā)了的 JDBC驅(qū)動(dòng)程序,文檔將告訴你該使用什么 subprotocol, 就是在 JDBC URL 中放在 jdbc 后面的部分。例如, 如果驅(qū)動(dòng)程序開(kāi)發(fā)者注冊(cè)了 acme 作為 subprotocol, JDBC URL 的第一和第二部分將是 jdbc:acme。驅(qū)動(dòng)程序文檔也會(huì)告訴你余下 JDBC URL 的格式。JDBC URL 最后一部分提供了定位數(shù)據(jù)庫(kù)的信息。如果
39、配置了連接池則要使用下面幾行代碼就可以建立一個(gè)連接:</p><p> Context ctx;</p><p> DataSource ds;</p><p> ctx = new InitialContext();</p><p> ds = (DataSource)ctx.lookup("java:comp/env/j
40、dbc/webmail");</p><p> connection 接口是JSP數(shù)據(jù)庫(kù)編程使用多的接口之一,在connection接口中經(jīng)常使用到一個(gè)方法close();要注意在連接用完后必須關(guān)閉,否則連接會(huì)繼續(xù)保持,直到超時(shí)。</p><p> 創(chuàng)建 JDBC Statements 對(duì)象 Statement 對(duì)象用于把 SQL 語(yǔ)句發(fā)送到數(shù)據(jù)庫(kù) 。你只須簡(jiǎn)單地創(chuàng)建
41、一個(gè) Statement 對(duì)象并且然后執(zhí)行它,使用適當(dāng)?shù)姆椒▓?zhí)行你發(fā)送的 SQL 語(yǔ)句。對(duì) SELECT 語(yǔ)句來(lái)說(shuō),可以使用 executeQuery。要?jiǎng)?chuàng)建或修改表的語(yǔ)句,使用的方法是 executeUpdate?! ⌒枰粋€(gè)活躍的連接的來(lái)創(chuàng)建 Statement 對(duì)象的實(shí)例。在下面的例子中,使用的 Connection 對(duì)象 con 創(chuàng)建 Statement 對(duì)象 stmt:Statement stmt = con.create
42、Statement(int resultSetType,int resultSetConcurrency);</p><p> ResultSet rs=Stmt.executeUpdate(SQL);SQL為數(shù)據(jù)庫(kù)查詢(xún)語(yǔ)句</p><p> Con.createStatement()方法包含兩參數(shù):resultSetType和resultSetConcurrency</p>
43、;<p> 1. resultSetType參數(shù):</p><p> 用來(lái)設(shè)定ResultSet對(duì)象中的光標(biāo)是否能夠上下自由移動(dòng),它的值只能有3種,TYPE_FORWARD_ONLY、TYPE_SCROLL_SENSITIVE或TYPE_SCROLL_INSENSITEVE。若設(shè)為第一種,表示ResultSet對(duì)象中的光標(biāo)能夠隨心所欲的上下移動(dòng),不過(guò)他們兩者最大的差別在于:當(dāng)ResultSet對(duì)
44、象中的值有變時(shí),TYPE_SCROLL_SENSITIVE能夠取得改變后的值,而TYPE_SCROLL_INSENSITIVE不能。</p><p> 2. resultSetConcurrency參數(shù):</p><p> 主要設(shè)定ResultSet對(duì)象是只讀(read-only)還是可以改變的(updatable),他的值有兩種,CONCUR_READ_ONLY和CONCUR_UPD
45、ATABLE。若設(shè)為CONCUR_READ_ONLY,則ResultSet對(duì)象和JDBC 1.0的功能一樣;若為CONCUR_UPDATABLE,那么表示ResultSet對(duì)象可以直接執(zhí)行數(shù)據(jù)庫(kù)的新增、修改和移除功能。</p><p> 在statement執(zhí)行SQL語(yǔ)句是,有時(shí)會(huì)返回ResultSet結(jié)果集。該結(jié)果集往往包含的是查詢(xún)的記錄集。通過(guò)ResultSet.next()方法把當(dāng)前的指針向下移動(dòng)一位,隨
46、著每次調(diào)用next導(dǎo)致指針向下移動(dòng),按照從上到下的次序獲取ResultSe行。</p><p> Java.sql.ResultSet提供了檢索不同的類(lèi)型字段,其常用的的方法如下:</p><p> getString():獲得數(shù)據(jù)庫(kù)里的varchar、char數(shù)據(jù)類(lèi)型。</p><p> getFloat():獲得數(shù)據(jù)庫(kù)里的Float數(shù)據(jù)類(lèi)型。</p&
47、gt;<p> getDouble():獲得數(shù)據(jù)庫(kù)里的Double Precision數(shù)據(jù)類(lèi)型。</p><p> getBoolean():獲得數(shù)據(jù)庫(kù)里Boolean數(shù)據(jù)類(lèi)型。</p><p> getObject():該方法用于在SQL中無(wú)對(duì)應(yīng)類(lèi)型,可以獲得系列化對(duì)象。</p><p> getClob():獲得數(shù)據(jù)庫(kù)里的Clob(字符串大
48、型對(duì)象)數(shù)據(jù)類(lèi)型的對(duì)象。</p><p> getBolb():獲得數(shù)據(jù)庫(kù)里的Blob(二進(jìn)制大型對(duì)象)數(shù)據(jù)類(lèi)型的對(duì)象。</p><p> 3.6 本系統(tǒng)中的連接方式</p><p> 在本TOMCAT中配置了連接池,連接程序用JavaBean方法封裝,放在WEB-INF\ classse目錄下。</p><p> import ja
49、va.sql.*;</p><p> import javax.sql.*;</p><p> import javax.naming.*;</p><p> public class Db {</p><p> public Connection con;</p><p> public Statement
50、 stmt;</p><p> public ResultSet rs;</p><p> public PreparedStatement pstmt;</p><p> public static int error=0;</p><p> public static synchronized Connection getCon(
51、)throws Exception{</p><p> Context ctx;</p><p> DataSource ds;</p><p><b> try{</b></p><p> ctx = new InitialContext();</p><p> ds = (DataS
52、ource)ctx.lookup("java:comp/env/jdbc/webmail");</p><p> System.Err.println();</p><p> System.err.println("數(shù)據(jù)連接+"+(++error));</p><p> return ds.getConnection()
53、;</p><p> }catch(SQLException e){</p><p> System.out.print(e);</p><p><b> throw e;</b></p><p><b> }</b></p><p> catch(NamingEx
54、ception e){</p><p> System.out.print(e);</p><p><b> throw e;</b></p><p><b> }</b></p><p><b> }</b></p><p> public
55、Statement getStmtread(){</p><p><b> try{</b></p><p> con=getCon();</p><p> stmt=con.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE</p><p> j
56、ava.sql.ResultSet.CONCUR_READ_ONLY);</p><p> }catch(Exception e){</p><p> System.out.println("getStmtread");</p><p> System.out.println(e.getMessage());</p><
57、p><b> }</b></p><p> return stmt;</p><p><b> }</b></p><p><b> 結(jié) 論</b></p><p> 這次實(shí)訓(xùn)中,積累了數(shù)據(jù)庫(kù)編程和網(wǎng)站開(kāi)發(fā)的基本經(jīng)驗(yàn)和一些基本技巧。對(duì)大型系統(tǒng)開(kāi)發(fā)有了實(shí)質(zhì)性、操
58、作性的認(rèn)識(shí),同時(shí)對(duì)運(yùn)用JSP技術(shù)有了很大的提高,對(duì)以前學(xué)到的書(shū)本知識(shí)也是個(gè)很好的鞏固,同時(shí)這次設(shè)計(jì)讓我意識(shí)到自己的許多的不足,鍛煉了自己獨(dú)立發(fā)現(xiàn)問(wèn)題,思考問(wèn)題,解決問(wèn)題的能力,也掌握了一些編程的思想和技巧,使自己的編程能力也有了很大的提高。</p><p> 本文講述了Java/JSP/Struts在WEB應(yīng)用的一些基本知識(shí),并通過(guò)網(wǎng)上訂餐的程序?qū)SP的運(yùn)用進(jìn)行了深化,從本文中可看出JSP與Struts框架結(jié)
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)上訂餐系統(tǒng)-畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---網(wǎng)上訂餐系統(tǒng)
- 網(wǎng)上訂餐系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 網(wǎng)上訂餐系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 網(wǎng)上訂餐系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 畢業(yè)設(shè)計(jì)論文 網(wǎng)上訂餐系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---網(wǎng)上訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 網(wǎng)上訂餐系統(tǒng)畢業(yè)設(shè)計(jì)論文畢業(yè)設(shè)計(jì)說(shuō)明書(shū)
- 網(wǎng)上訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)開(kāi)題報(bào)告
- 網(wǎng)上訂餐系統(tǒng)畢業(yè)論文
- 網(wǎng)上訂餐系統(tǒng)(畢業(yè)論文)
- 網(wǎng)上訂餐系統(tǒng)——畢業(yè)論文
- 網(wǎng)上訂餐系統(tǒng)畢業(yè)論文
- 畢業(yè)設(shè)計(jì)(論文)基于web的網(wǎng)上訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于WEB的網(wǎng)上訂餐系統(tǒng)畢業(yè)設(shè)計(jì)(論文)文獻(xiàn)綜述 .doc
- 網(wǎng)上訂餐系統(tǒng)設(shè)計(jì)文檔
- 網(wǎng)上訂餐管理系統(tǒng)畢業(yè)論文-龍思思3
- 基于WEB的網(wǎng)上訂餐系統(tǒng)畢業(yè)設(shè)計(jì)(論文)開(kāi)題報(bào)告.doc
- 基于WEB的網(wǎng)上訂餐系統(tǒng)畢業(yè)設(shè)計(jì)(論文)文獻(xiàn)翻譯.doc
- 網(wǎng)上訂餐系統(tǒng)設(shè)計(jì)文檔
評(píng)論
0/150
提交評(píng)論