freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于java的軟件工程試驗(yàn)項(xiàng)目開發(fā)范例(編輯修改稿)

2025-01-11 01:22 本頁面
 

【文章內(nèi)容簡介】 登 陸 與 注 銷修 改 管 理 員信 息庫 存 信 息用 戶 管 理圖 書 管 理訂 單 管 理進(jìn) 貨 管 理消 息 管 理留 言 管 理賬 目 管 理 圖 33 后臺(tái)功能模塊圖 有關(guān)數(shù)據(jù)庫 設(shè)計(jì)的幾點(diǎn)說明 在設(shè)計(jì)過程中為了便于設(shè)計(jì)程序的編寫,我們?cè)跀?shù)據(jù)庫中的基本表中添加了 13 幾個(gè)狀態(tài)位,現(xiàn)說明如下: 賬目表( account)中的 account_status: 它標(biāo)志了賬目中每一個(gè)條目的性質(zhì),屬性值有兩種: in(進(jìn)書單 )和 out(訂單 ) 。它在訂單處理完成或進(jìn)書處理完成后被填寫,在結(jié)賬操作中被讀取。 消息表( message) 中的 mess_status: 它標(biāo)志著消息的發(fā)布狀態(tài)。屬性值有: 0(不發(fā)布)和 1(正在發(fā)布)。它在消息管理模塊中被填寫,在提交消息時(shí)要檢查這一位,系統(tǒng)設(shè)定每次發(fā)布消息數(shù)不能大于五 個(gè)。 訂單表( bill)中的 bill_status: 它標(biāo)志著訂單處理狀態(tài)。屬性值有: not_pay(未付款訂單), send_book(款到,書已送出,但未收到用戶確認(rèn)), solved(訂單處理完畢)。當(dāng)為 solved 時(shí),訂單入賬。 另外數(shù)據(jù)庫中的 type 表只是一個(gè)說明表,它表明圖書類型和它的代號(hào)之間的對(duì)應(yīng)關(guān)系,不參與任何一個(gè)操作。我們?cè)O(shè)計(jì)的系統(tǒng)中,它的具體內(nèi)容如下: 表 31 類型表 類型號(hào) 類型代號(hào) 類型名 1 0_BASIC 計(jì)算機(jī) 基礎(chǔ)知識(shí) 2 0_PROGRAM 計(jì)算機(jī) 應(yīng)用編程 3 0_NET 計(jì)算機(jī) 網(wǎng)絡(luò)相關(guān) 4 1_CULTURE 其他 人文 5 1_ENGLISH 其他 英語 網(wǎng)站的關(guān)鍵部分實(shí)現(xiàn)策略 網(wǎng)上書店的主要業(yè)務(wù)流程是選書 購書 送書 入賬的過程,它是網(wǎng)站與用戶互動(dòng)的主要環(huán)節(jié),是最應(yīng)該體現(xiàn)網(wǎng)站人性化的部分,是網(wǎng)站成功與否的關(guān)鍵部分。對(duì)于這一部分,不同的設(shè)計(jì)者有著不同的實(shí)現(xiàn),下面我簡要敘述一下我們?cè)O(shè)計(jì)中對(duì)它的實(shí)現(xiàn)策略。 在用戶看來,用戶的購書環(huán)節(jié)是從選書開始的,但是在網(wǎng)站的處理中用戶的購書行為是從提交訂單開始的。在這之前,我們使用 cookie 暫時(shí)存儲(chǔ)用戶的選書信 息。只有用戶提交訂單后,我們才認(rèn)為用戶確認(rèn)了自己的購書行為,訂單被寫入網(wǎng)站的訂單表,標(biāo)注狀態(tài)為“已下單,但未付款”。但網(wǎng)站受到用戶的匯款后,開始為用戶送書。書送出后,管理員須進(jìn)入管理系統(tǒng)修改訂單狀態(tài)為“書已送出,但未受到用戶的確認(rèn)”。最后一步,用戶確認(rèn)被送書員取回時(shí),管理員修改訂單狀態(tài)為“訂單處理完畢”,系統(tǒng)將訂單寫入賬目表,然后修改圖書庫存。至此一次購書交易完成。 以上流程由圖表示如下: 14 用 戶 登 錄并 選 好 書購 買生 成 訂 單用 戶 匯 款到修 改 訂 單狀 態(tài) 并 送書用 戶 已 確認(rèn)修 改 訂 單狀 態(tài) 并 寫入 賬 目 圖 34 處理流程圖 值得注意的是,在這樣一個(gè)處理流程中, 書店管理系統(tǒng)要有兩個(gè)環(huán)節(jié)交由管理員來處理。一個(gè)是管理員收到用戶的匯款單要確認(rèn)匯款單是否符合系統(tǒng)接受的訂單,確認(rèn)無誤后,啟動(dòng)送書環(huán)節(jié)。另一個(gè)是送書完成后,書店收到用戶的確認(rèn)后才可以修改訂單狀態(tài),寫入賬目中。這兩個(gè)環(huán)節(jié)也是系統(tǒng)中的重要環(huán)節(jié),關(guān)系到管理系統(tǒng)的使用效果。所以在實(shí)際應(yīng)用中強(qiáng)化管理,以使計(jì)算機(jī)系統(tǒng)和書店的管理有機(jī)的結(jié)合起來,最大限度的發(fā)揮效力。 15 第四章 JSP 技術(shù)在網(wǎng)絡(luò)書店開發(fā)中的應(yīng)用 _______________________________________________________________________________ JSP 開發(fā)模型的選擇 Jsp 提供兩種使用模型: 模型 1 為 用戶通過瀏覽器發(fā)出一個(gè)被送到某 JSP 頁面的請(qǐng)求。在收到客戶端的請(qǐng)求后,從 JSP 頁面中編譯出的 servlet 從一個(gè) JavaBean 中請(qǐng)求信息。該 JavaBean 可以,從一個(gè) Enterprise JavaBean(tm)、數(shù)據(jù)庫或其它后端系統(tǒng)中請(qǐng)求信息。一旦 JavaBean 獲取需要的信息后,這個(gè) JSP servlet 可以查詢并以 HTML 形式在用戶響應(yīng)中顯示該信息。 ( 如左圖) 模型 1 模型 2 模型 2 代表另一種使用 JSP 頁面的方法,發(fā)送請(qǐng)求到一個(gè) Java servlet。在此例中,客戶發(fā)出一個(gè)由 Java servlet 處理的請(qǐng)求。 此 servlet,如同模型 1 中的 JSP 頁面,將從 JavaBean 或者 Enterprise JavaBean 中請(qǐng)求信息。 生成的動(dòng)態(tài)內(nèi)容將被封裝在一個(gè) JavaBean 中。此 servlet 然后調(diào)用 JSP servlet,由后者從前 面生成的 JavaBean 中獲取動(dòng)態(tài)內(nèi)容并發(fā)送到客戶端的 Web 瀏覽器上。 (如右圖) 第二種模型更適合于大型的應(yīng)用,這種結(jié)構(gòu)也有利于將顯示和數(shù)據(jù)處理分離的開發(fā)模式,但相對(duì)成本較高。由于我們是一個(gè)相對(duì)來說小型的應(yīng)用,所以我們決定采用模型一來構(gòu)建網(wǎng)站。 使用 JavaBean 提高代碼水平 16 在開發(fā)過程中,隨著編碼的深入,使用 JAVABEAN 的好處就越發(fā)顯現(xiàn)出來了。 首先,它可以簡化代碼的編寫,提高重用度。 如,處理中我們有很多頁面都需要調(diào)用時(shí)間參數(shù),在轉(zhuǎn)化成字符串型后,寫入數(shù)據(jù)庫或是在頁面中顯示出 來。在頁面中反復(fù)編寫這一處理過程不僅繁瑣而且冗長的代碼對(duì)于閱讀也是不利的。所以我們使用了 封裝了這一處理邏輯。 /** **/ package ebs。 import .*。 public class dateTransfer { private Date today。//日期參數(shù) private int year。//年 private int month。//月 private int day。//日 public void dateTransfer() { today=new Date()。 year=()+1900。//轉(zhuǎn)換成正常數(shù)字 month=()+1。 day=()。 } public String strYear() { String str_y。 ()。 str_y=(year)。 return str_y。//返回年 } public String strMonth() { ?? return str_m。//返回月 } public String strDay() 17 { ?? return str_d。//返回日 } } /** **/ 調(diào)用時(shí), ???? jsp:useBean id=today class= scope=page/ % String date=()++()++()。 % ???? 可以很容易看出代碼的可讀性得到了很大的提高。 其次, JAVABEAN 封裝了不適合在表示頁面中出現(xiàn)的處理邏輯,有利于將程序開發(fā)中的分工。 如,在購物車處理中,我們需要頻繁的從圖書信息表( BOOK_INFO)中取得數(shù)值,顯然在現(xiàn)實(shí)頁面中頻繁的出現(xiàn)這種數(shù)據(jù)庫操作是不適當(dāng)?shù)?,下面是我們定義的 ,其中包含了數(shù)據(jù)庫的連接,查詢操作,并定義了一系列函數(shù)返回所需的值。 /** **/ package ebs。 import .*。 public class Buyercar{ private String bookid=null。 //圖書編號(hào) private String bookname=null。 //書名 private String bookisbn=null。 //圖書出版號(hào) private String bookedit=null。//圖 書版本號(hào) private float bookprice=0。 //價(jià)格 private int booksum=0。 //庫存量 private static String strDBDriver=。 private static String strDBUrl=jdbc:odbc:ebookstore。 conn。 stmt。 Rst。 public Buyercar(){ //加載驅(qū)動(dòng) try{ 18 (strDBDriver)。//加載驅(qū)動(dòng) } catch( e){ (Buyercar():+())。 } } //取當(dāng)前數(shù)據(jù)庫中全部圖書信息 public ResultSet getBookList(){ String strSql=null。 try{ //建立與數(shù)據(jù)庫的連接 conn=(strDBUrl)。 stmt=()。 strSql=select * from book_info。 Rst=(strSql)。 } //捕獲異常 catch(SQLException e){ (()。+())。 } return Rst。 } //根據(jù)圖書的編號(hào)給圖書的其他信息賦值 private void getBookInfo(String BID){ String strSql=null。 bookname=null。 bookedit=null。 bookisbn=null。 //圖書出版號(hào) bookprice=0。 booksum=0。 try{ //建立和數(shù)據(jù)庫的連接 conn=(strDBUrl)。 stmt=()。 strSql=Select * from book_info where book_id=+BID。 Rst=(strSql)。 while(()){ bookname=(book_name)。 bookedit=(book_edit)。 bookisbn=(book_isbn)。 bookprice=(book_price)。 booksum=(book_sum)。 19 } } //捕獲異常 catch(SQLException e){ (():+())。 } } //給圖書的編號(hào)賦值,同時(shí)調(diào)用函數(shù)給圖書的其他信息賦值 public void setBookid(String BID){ =BID。
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1