程偲
一、緒論
(一)課題簡(jiǎn)介
財(cái)務(wù)管理是企業(yè)管理活動(dòng)中最重要的一環(huán),隨著社會(huì)信息量的與日俱增,人工管理公司財(cái)務(wù)顯然已經(jīng)跟不上社會(huì)的發(fā)展。因此,為了方便公司賬務(wù)的管理,需要有效的賬務(wù)管理軟件。
(二)系統(tǒng)概述
本系統(tǒng)使用的服務(wù)器為Tomcat服務(wù)器,使用MySql數(shù)據(jù)庫(kù)作為后臺(tái),使用Dreamweaver和MyEclipse來(lái)開(kāi)發(fā)前臺(tái)部分。
1.搭建JSP開(kāi)發(fā)平臺(tái)
在JSP開(kāi)發(fā)過(guò)程中,如果需要使用Java編寫的Java類(如JavaBeans,Servlets等),則還需要JDK等開(kāi)發(fā)工具。
JDK和Tomcat安裝后,點(diǎn)擊【開(kāi)始】,選擇【所有程序】->【Apache Tomcat 6.0】->【Monitor Tomcat】。開(kāi)啟服務(wù)器。打開(kāi)IE(或其它瀏覽器)。在地址欄輸入: http://localhost:8080。
二、概要設(shè)計(jì)
(一)總體設(shè)計(jì)
1.外部模塊設(shè)計(jì)
(1)登錄模塊:
輸入:用戶輸入用戶名和密碼
輸出:判斷用戶名和密碼是否匹配并跳轉(zhuǎn)到相應(yīng)界面
(2)賬本登記模塊:
輸入:填寫入賬單或出賬單的基本信息
輸出:判斷輸入的信息是否符合條件并顯示
三、詳細(xì)設(shè)計(jì)
(一)系統(tǒng)結(jié)構(gòu)
對(duì)于登陸同樣需要進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì),登陸模塊讀取用戶表的信息。將系統(tǒng)的操作人員劃分為兩類:普通用戶和超級(jí)用戶。
(二)登錄界面設(shè)計(jì)
1.輸入用戶名。
判斷輸入的用戶名是否存在,不存在提示重新輸入。用于登陸使用。
2.輸入密碼。
判斷密碼是否和用戶名相匹配,不匹配提示用戶重新輸入。用于登陸中輸入密碼。
3.對(duì)于用戶權(quán)限的判斷。
根據(jù)用戶信息表中的用戶等級(jí)進(jìn)行判斷。若為超級(jí)用戶,則擁有全部權(quán)限賬本登記、賬本查詢和資料維護(hù);若為普通用戶則只能進(jìn)行賬本登記、賬本查詢的操作。
(三)判斷用戶是否已經(jīng)登錄
在用戶進(jìn)行登陸時(shí),必須判斷用戶是否已經(jīng)登陸。如果已經(jīng)登陸則不需要再次登陸,如果沒(méi)有登陸,則允許用戶進(jìn)行登陸。當(dāng)用戶單擊[登陸]按鈕時(shí),首先會(huì)驗(yàn)證用戶是否填寫信息,如果沒(méi)有填寫則提示用戶填寫,如果填寫了,則判斷用戶是合法用戶。判斷用戶是否已經(jīng)登錄的代碼放在頁(yè)面lgcheck.jsp 中。具體方法如下:若用戶輸入的用戶名和密碼相匹配,則聲明一個(gè) session 變量;若用戶輸入的用戶名和密碼錯(cuò)誤,則不聲明變量。在每個(gè)網(wǎng)頁(yè)中加入獲取session 變量的語(yǔ)句,通過(guò)判斷 session 變量的值的方法來(lái)判斷用戶是否登錄。
當(dāng)判斷一個(gè)用戶是否為合法用戶時(shí),只需在數(shù)據(jù)庫(kù)中查詢出該用戶即可。如果查詢出該用戶,則說(shuō)明用戶是存在的;如果查詢不出該用戶,則說(shuō)明該用戶是不存在的。
若用戶登錄成功,給每個(gè)用戶一個(gè)session 變量,session用戶對(duì)象寄存在用戶瀏覽器里,如果在一定時(shí)間內(nèi)不進(jìn)行操作或者用戶關(guān)閉了瀏覽器進(jìn)程,系統(tǒng)會(huì)自動(dòng)注銷該用戶。關(guān)鍵代碼:
session.setAttribute("name",rs.getString("username"));
若用戶未登錄,想訪問(wèn)相關(guān)頁(yè)面,則會(huì)彈出提示登錄框“請(qǐng)先登錄!”
關(guān)鍵代碼:
在session生命周期內(nèi),可以使用session內(nèi)置對(duì)象對(duì)不同的用戶進(jìn)行頁(yè)面編程,這樣就能夠?qū)崿F(xiàn)不同用戶顯示不同的內(nèi)容。例如:當(dāng)用戶登陸后,會(huì)跳轉(zhuǎn)到一個(gè)個(gè)人界面,這個(gè)界面可能是通用界面,但是需要不同的用戶在當(dāng)前界面操作。
(四)主操作界面設(shè)計(jì)
主操作界面包括:登陸頁(yè)面能吸引用戶的眼球,良好的設(shè)計(jì)可以提高用戶的體驗(yàn)。顯示歡迎信息,用戶可進(jìn)行的基本操作菜單(賬本登記、賬本查詢、資料維護(hù))。
主操作界面代碼在文件 op_head.jsp 中,其余頁(yè)面中使用
(五)自主式訪問(wèn)控制的設(shè)置
Mysql的特權(quán)類型分兩種,分別是角色特權(quán)和數(shù)據(jù)庫(kù)對(duì)象特權(quán)。
1.角色授權(quán)與取消
GRANT<角色類型>[,<角色類型>]TO<用戶>[IDENTIFIED BY<口令>]
<角色類型>::=Connect︳Resource︳DBA
其中,connect表示該用戶可連接到DBMS,resource表示該用戶可訪問(wèn)數(shù)據(jù)庫(kù)資源;DBA表示該用戶為數(shù)據(jù)庫(kù)管理員;IDENTIFIED BY用于為用戶設(shè)置一個(gè)初始口令。
取消命令如下:
REVOKE<角色類型>[,<角色類型>] FROM<用戶>
2.數(shù)據(jù)庫(kù)對(duì)象授權(quán)與取消
GRANT<特權(quán)>ON<表名>TO<授權(quán)者>[,<授權(quán)者>][WITH GRANT OPTION]
<特權(quán)>::=ALL PRIVILEGES ︳<操作>[,<操作>]
<操作>::=SELECT︳INSERT︳DELETE︳UPDATE[(<列表名>)]
<列表名>::=<列表名>[,<列名>]
<受權(quán)者>::=PUBLIC︳<列名>
其中,WITH GRANT OPTION表示得到授權(quán)的用戶,可將其獲得的權(quán)限轉(zhuǎn)授給其他用戶;ALL PRIVILEGES表示所有的操作權(quán)限;PUBLIC表示公共組用戶,新創(chuàng)建的用戶一般都?xì)w為PUBLIC組。
四、系統(tǒng)測(cè)試
(一)服務(wù)器測(cè)試
1.將自己編寫的網(wǎng)頁(yè)放在Tomcat安裝目錄下的webapps文件夾里。例如:
E:\Apache Software Foundation\Tomcat 6.0\webapps\bs 。bs是自己新建的文件夾。
2.點(diǎn)擊【開(kāi)始】菜單,選擇【所有程序】->【Apache Tomcat
6.0】->【Monitor Tomcat】。任務(wù)欄右部彈出一個(gè)圖標(biāo) 。
此時(shí)服務(wù)器開(kāi)始工作。
3.打開(kāi)瀏覽器,在地址欄輸入http://localhost:8080 , 若能正常顯示Apache歡迎頁(yè)面,則測(cè)試成功。若不能正常顯示,檢查原因,重復(fù)前面的步驟,直到測(cè)試成功。另外,打開(kāi)瀏覽器后,也可以在地址欄中輸入http://本機(jī)IP:8080 。同一個(gè)局域網(wǎng)段內(nèi)的其他主機(jī)可以在地址欄中用輸入http://本機(jī)IP:8080 的方法訪問(wèn)。
(二)站點(diǎn)測(cè)試
1.點(diǎn)擊【開(kāi)始】菜單,選擇【運(yùn)行】。輸入 services.msc。打開(kāi)服務(wù)對(duì)話框,啟動(dòng)MySQL服務(wù)。從任務(wù)管理器中可以看到進(jìn)程中多了mysqld-nt.exe這一項(xiàng)。服務(wù)啟動(dòng)成功。
2.打開(kāi)瀏覽器,地址欄輸入http://localhost:8080/bs/login.htm,正常顯示登錄頁(yè)面,則測(cè)試成功。
(三)程序運(yùn)行測(cè)試
用戶登陸系統(tǒng),登陸成功并顯示主操作界面。測(cè)試成功。