數(shù)據(jù)庫(kù)課程設(shè)計(jì)---校園日常事務(wù)管理系統(tǒng)_第1頁(yè)
已閱讀1頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  數(shù)據(jù)庫(kù)設(shè)計(jì)論文</b></p><p>  題目:數(shù)據(jù)庫(kù)課程設(shè)計(jì)</p><p>  --校園日常事務(wù)管理系統(tǒng)</p><p><b>  數(shù)據(jù)庫(kù)課程設(shè)計(jì)</b></p><p>  --校園日常事務(wù)管理系統(tǒng)</p><p><b> 

2、 第1章引言</b></p><p><b>  1.1項(xiàng)目背景</b></p><p>  XXXX大學(xué)是一個(gè)擁有N萬(wàn)師生的大學(xué)。隨著大學(xué)的擴(kuò)招,校園人數(shù)的增多,學(xué)校領(lǐng)導(dǎo)和學(xué)生之間的溝通成為一個(gè)大大的問(wèn)題。同學(xué)們和校園領(lǐng)導(dǎo)之間需要一些信息的溝通。然而很多時(shí)候,學(xué)校領(lǐng)導(dǎo)都很忙,而且大多數(shù)同學(xué)都找不到很多領(lǐng)導(dǎo)的辦公地點(diǎn)。這給同學(xué)們和老師、領(lǐng)導(dǎo)之間的溝通帶來(lái)

3、了不便。校園日常事務(wù)管理系統(tǒng)是這樣一個(gè)網(wǎng)站:同學(xué)們遇到了生活和學(xué)習(xí)上的一些問(wèn)題可以在網(wǎng)上發(fā)布信息,老師和領(lǐng)導(dǎo)可以看到,并給同學(xué)們給出答復(fù)和解決方案。校園日常事務(wù)管理系統(tǒng)大大方便了同學(xué)與領(lǐng)導(dǎo)之間的溝通。因此開(kāi)發(fā)一款校園日常事務(wù)管理系統(tǒng)已成為一個(gè)亟待解決的問(wèn)題。</p><p>  1.2項(xiàng)目目標(biāo)及意義</p><p>  該系統(tǒng)可以幫助學(xué)??焖俚剡M(jìn)行日常事務(wù)管理,大幅度提高學(xué)校辦公的效率,方

4、便同學(xué)與領(lǐng)導(dǎo)之間的交流。學(xué)生反映的問(wèn)題能得到及時(shí)的反饋,問(wèn)題也能很快得到解決。</p><p><b>  1.3任務(wù)概述</b></p><p>  校園日常事務(wù)管理系統(tǒng)主要功能模塊及描述如下:</p><p>  1)登錄模塊 用于登錄系統(tǒng),只有登錄系統(tǒng)的用戶才能發(fā)布消息。如果沒(méi)有登錄則只能查看消息</p><p>

5、  2)消息列表模塊 顯示最新發(fā)布的消息列表,通過(guò)點(diǎn)擊消息標(biāo)題可以查看具體消息內(nèi)容。</p><p>  3)發(fā)布消息模塊 負(fù)責(zé)消息的發(fā)布,以及消息的回復(fù)。</p><p>  4)批復(fù)消息模塊 如果是用戶是領(lǐng)導(dǎo),則可以對(duì)消息進(jìn)行批復(fù),批復(fù)的內(nèi)容會(huì)是紅色字體。</p><p>  第2章軟件項(xiàng)目計(jì)劃</p><p><b>  2

6、.1問(wèn)題定義</b></p><p>  學(xué)校的學(xué)生希望能進(jìn)入系統(tǒng)能發(fā)布消息,也能回復(fù)消息,自己發(fā)布的消息能被領(lǐng)導(dǎo)看見(jiàn),然后領(lǐng)導(dǎo)看到了可以進(jìn)行批復(fù)。給出解決問(wèn)題的方法。</p><p><b>  2.2可行性分析</b></p><p>  2.2.1技術(shù)可行性分析</p><p>  現(xiàn)在計(jì)算機(jī)的普及,大

7、學(xué)生基本都有自己的電腦,具有一定的軟硬件基礎(chǔ),會(huì)使用各種管理軟件和上網(wǎng)。學(xué)校的老師更不用說(shuō)了。新系統(tǒng)投入使用時(shí),用戶都能很輕松的上手。</p><p>  2.2.2操作可行性分析</p><p>  而整個(gè)校園日常事務(wù)管理系統(tǒng)采用最友好的交互界面,簡(jiǎn)介明了,不需要對(duì)數(shù)據(jù)庫(kù)進(jìn)行深入的了解。</p><p>  由于我們是在模擬現(xiàn)實(shí)的實(shí)際需要而開(kāi)發(fā)的系統(tǒng),作為我們的課

8、程設(shè)計(jì)課題。因此在經(jīng)濟(jì)可行性研究不給予考慮。</p><p>  由此,該系統(tǒng)的操作是可行的,能滿足校園日常事務(wù)管理的需求。</p><p>  綜合以上幾個(gè)方面,該系統(tǒng)具有很高的開(kāi)發(fā)可行性,無(wú)論是從技術(shù)上還是操作上。</p><p>  可行性分析是為了弄清所定義的項(xiàng)目是不是可能實(shí)現(xiàn)和值得進(jìn)行。這樣可以大大簡(jiǎn)化了系統(tǒng)分析和系統(tǒng)設(shè)計(jì)的過(guò)程。減少風(fēng)險(xiǎn)。</p&g

9、t;<p><b>  第3章 需求分析</b></p><p><b>  3.1功能分析</b></p><p>  對(duì)校園內(nèi)部網(wǎng)站來(lái)說(shuō),信息的及時(shí)信是要考慮的最大問(wèn)題。每個(gè)人都可以發(fā)布自己的消息,其他人員可以刷新網(wǎng)站的方式來(lái)查看最新的消息,也可以對(duì)發(fā)表的信息進(jìn)行回復(fù),管理層領(lǐng)導(dǎo)可以對(duì)學(xué)生的消息進(jìn)行批復(fù)。具體的角色功能如下所示

10、:</p><p>  學(xué)生角色(普通用戶):</p><p><b>  發(fā)布新消息</b></p><p><b>  回復(fù)已經(jīng)發(fā)布的消息</b></p><p><b>  查看所有消息</b></p><p><b>  管理層領(lǐng)導(dǎo)角色

11、:</b></p><p><b>  發(fā)布新消息</b></p><p><b>  回復(fù)已經(jīng)發(fā)布的消息</b></p><p><b>  批復(fù)已經(jīng)發(fā)布的消息</b></p><p><b>  查看所有消息</b></p>

12、<p>  3.2 軟硬件環(huán)境需求</p><p>  根據(jù)系統(tǒng)的基本功能需求,以及客戶的信息系統(tǒng)環(huán)境,計(jì)劃采用瀏覽器/服務(wù)器模式來(lái)構(gòu)建管理系統(tǒng)。本項(xiàng)目計(jì)劃采用J2EE技術(shù)來(lái)開(kāi)發(fā)。</p><p>  由于本系統(tǒng)不涉及復(fù)雜的數(shù)據(jù)分析和處理,為了節(jié)約開(kāi)發(fā)成本和降低開(kāi)發(fā)難度,計(jì)劃采用JSP Model2結(jié)構(gòu)來(lái)開(kāi)發(fā),具體的軟硬件環(huán)境要求如下。</p><p>

13、  (1)硬件環(huán)境:采用普通辦公用個(gè)人計(jì)算機(jī)作為服務(wù)器即可。</p><p>  (2)操作系統(tǒng):可以采用Windows XP以上系統(tǒng)。</p><p> ?。?)數(shù)據(jù)庫(kù)系統(tǒng):采用MySQL 5.0即可。</p><p>  (4)Web服務(wù)器:采用Tomcat 5以上系統(tǒng)。</p><p>  (5)Java運(yùn)行環(huán)境:采用JRE 1.5以上

14、中文版本。</p><p>  (6)客戶端:采用瀏覽器工具即可。</p><p> ?。?)開(kāi)發(fā)工具:MyEclipse 8.6。</p><p><b>  第4章 系統(tǒng)設(shè)計(jì)</b></p><p>  4.1繪制用例圖設(shè)計(jì)系統(tǒng)功能</p><p>  校園日常管理系統(tǒng)一共包含兩種用戶角色,分

15、別是管理層領(lǐng)導(dǎo)、學(xué)生。下面來(lái)分析這兩個(gè)角色所對(duì)應(yīng)的用例圖。</p><p>  從前面的功能分析可以看出管理層領(lǐng)導(dǎo)和學(xué)生的功能非常類(lèi)似,不同的是管理層領(lǐng)導(dǎo)多了一個(gè)批復(fù)已發(fā)布消息的功能。所以可以得出管理層領(lǐng)導(dǎo)繼承了學(xué)生的功能,其關(guān)系如4.1.1圖所示</p><p><b>  圖4.1.1</b></p><p>  學(xué)生可以發(fā)布新消息、回復(fù)已

16、經(jīng)發(fā)布的消息、查看所有消息。其用例圖如圖所示</p><p>  管理層領(lǐng)導(dǎo)可以發(fā)布新消息、回復(fù)已經(jīng)發(fā)布的消息、查看所有消息以及批復(fù)已經(jīng)發(fā)布的消息,其用例圖如圖4.1.2圖所示。</p><p><b>  圖4.1.2</b></p><p><b>  4.2系統(tǒng)流程圖</b></p><p>

17、  本系統(tǒng)需要對(duì)普通用戶身份進(jìn)行驗(yàn)證,驗(yàn)證過(guò)后再判斷用戶是普通用戶還是管理層領(lǐng)導(dǎo),如果是普通用戶,可以發(fā)布新消息、回復(fù)已經(jīng)發(fā)布的消息、查看所有消息;如果是管理層領(lǐng)導(dǎo)則會(huì)有一個(gè)更高級(jí)的功能,那就是批復(fù)消息。系統(tǒng)流程圖如4.2.1圖所示。</p><p><b>  圖4.2.1</b></p><p>  第5章 數(shù)據(jù)庫(kù)設(shè)計(jì)</p><p> 

18、 5.1數(shù)據(jù)庫(kù)分析與設(shè)計(jì)</p><p>  5.1.1數(shù)據(jù)庫(kù)分析</p><p>  本系統(tǒng)采用MySQL5.0作為后臺(tái)數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)名為db_affairmanage。數(shù)據(jù)庫(kù)中一共包含4張表,用來(lái)儲(chǔ)存不同的信息,詳細(xì)信息如圖5.1.1.1圖所示</p><p><b>  圖5.1.1.1</b></p><p> 

19、 5.1.2數(shù)據(jù)庫(kù)概念設(shè)計(jì)</p><p>  本系統(tǒng)一共規(guī)劃出4個(gè)實(shí)體,分別是人員信息實(shí)體、消息信息實(shí)體、消息回復(fù)實(shí)體以及消息批復(fù)實(shí)體。</p><p>  只有校園內(nèi)部人員才可以使用該系統(tǒng),因此需要在數(shù)據(jù)庫(kù)中建立一個(gè)人員信息表,用來(lái)儲(chǔ)存員工的相關(guān)信息。人員信息實(shí)體E-R圖如下圖所示。</p><p>  圖5.1.2.1用戶信息實(shí)體E-R圖</p>

20、<p>  圖5.1.2.2消息信息實(shí)體E-R圖</p><p>  圖5.1.2.3消息回復(fù)實(shí)體E-R圖</p><p>  圖5.1.2.消息批復(fù)實(shí)體E-R圖</p><p>  5.1.3數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)</p><p><b>  用戶信息表</b></p><p><

21、b>  消息信息表:</b></p><p><b>  消息回復(fù)表</b></p><p><b>  消息批復(fù)表</b></p><p>  5.2繪制表之間的關(guān)系E-R圖</p><p>  表之間的關(guān)系E-R圖如圖5.2.1圖所示</p><p>&

22、lt;b>  圖5.2.1</b></p><p>  5.3用于建表的SQL語(yǔ)句</p><p>  以下是用MySQL-Front建立好數(shù)據(jù)庫(kù)后導(dǎo)出的SQL語(yǔ)句。</p><p>  # Host: localhost Database: db_affairmanage</p><p>  # ----------

23、--------------------------------------------</p><p>  # Server version 5.1.46-community</p><p><b>  #</b></p><p>  # Source for table tb_criticism</p><p>&l

24、t;b>  #</b></p><p>  DROP TABLE IF EXISTS `tb_criticism`;</p><p>  CREATE TABLE `tb_criticism` (</p><p>  `criticismID` int(11) NOT NULL AUTO_INCREMENT,</p><p>

25、;  `criticismContent` text,</p><p>  `employeeID` int(11) DEFAULT NULL,</p><p>  `criticismTime` datetime DEFAULT NULL,</p><p>  `messageID` int(11) DEFAULT NULL,</p><p&g

26、t;  PRIMARY KEY (`criticismID`),</p><p>  KEY `employeeID` (`employeeID`),</p><p>  KEY `messageID` (`messageID`)</p><p>  ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=gb2312 CO

27、MMENT='???¢?ú?′±í';</p><p><b>  #</b></p><p>  # Dumping data for table tb_criticism</p><p><b>  #</b></p><p>  LOCK TABL

28、ES `tb_criticism` WRITE;</p><p>  /*!40000 ALTER TABLE `tb_criticism` DISABLE KEYS */;</p><p>  INSERT INTO `tb_criticism` VALUES (1,'<p>早點(diǎn)睡覺(jué)</p>',123,'2011-11-26 21:17:5

29、4',23);</p><p>  INSERT INTO `tb_criticism` VALUES (2,'<p>允許請(qǐng)假</p>',123,'2011-11-26 21:18:25',24);</p><p>  INSERT INTO `tb_criticism` VALUES (3,'<p>好的,

30、會(huì)盡快修復(fù)</p>',123,'2011-11-26 21:21:42',25);</p><p>  /*!40000 ALTER TABLE `tb_criticism` ENABLE KEYS */;</p><p>  UNLOCK TABLES;</p><p><b>  #</b></p&

31、gt;<p>  # Source for table tb_employee</p><p><b>  #</b></p><p>  DROP TABLE IF EXISTS `tb_employee`;</p><p>  CREATE TABLE `tb_employee` (</p><p> 

32、 `employeeID` int(11) NOT NULL DEFAULT '0',</p><p>  `employeeName` varchar(20) DEFAULT NULL,</p><p>  `employeeSex` bit(1) DEFAULT NULL,</p><p>  `employeeBirth` date DEFAU

33、LT NULL,</p><p>  `employeePhone` varchar(20) DEFAULT NULL,</p><p>  `employeePlace` varchar(50) DEFAULT NULL,</p><p>  `joinTime` date DEFAULT NULL,</p><p>  `password

34、` varchar(20) DEFAULT NULL,</p><p>  `isLead` bit(1) DEFAULT NULL,</p><p>  PRIMARY KEY (`employeeID`)</p><p>  ) ENGINE=InnoDB DEFAULT CHARSET=gb2312 COMMENT='?±1¤D??

35、¢±í';</p><p><b>  #</b></p><p>  # Dumping data for table tb_employee</p><p><b>  #</b></p><p>  LOCK TABLES `tb_employee` WRITE;&

36、lt;/p><p>  /*!40000 ALTER TABLE `tb_employee` DISABLE KEYS */;</p><p>  INSERT INTO `tb_employee` VALUES (123,'蘇宇',b'1','1989-01-12','13550119405','成都','

37、;2008-01-11','123456',b'1');</p><p>  /*!40000 ALTER TABLE `tb_employee` ENABLE KEYS */;</p><p>  UNLOCK TABLES;</p><p><b>  #</b></p><p&g

38、t;  # Source for table tb_message</p><p><b>  #</b></p><p>  DROP TABLE IF EXISTS `tb_message`;</p><p>  CREATE TABLE `tb_message` (</p><p>  `messageID` in

39、t(11) NOT NULL AUTO_INCREMENT,</p><p>  `messageTitle` varchar(50) DEFAULT NULL,</p><p>  `messageContent` text,</p><p>  `employeeID` int(11) DEFAULT NULL,</p><p>  `p

40、ublishTime` datetime DEFAULT NULL,</p><p>  PRIMARY KEY (`messageID`),</p><p>  KEY `employeeID` (`employeeID`)</p><p>  ) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=gb2312 COM

41、MENT='???¢±í';</p><p><b>  #</b></p><p>  # Dumping data for table tb_message</p><p><b>  #</b></p><p>  LOCK TABLES `tb_messa

42、ge` WRITE;</p><p>  /*!40000 ALTER TABLE `tb_message` DISABLE KEYS */;</p><p>  INSERT INTO `tb_message` VALUES (1,'222222','22222222222222',123,'2011-11-11');</p>

43、<p>  INSERT INTO `tb_message` VALUES (22,'看能不能發(fā)布中文信息','<p>看能不能發(fā)布中文信息</p>',123,'2011-11-26 20:54:40');</p><p>  INSERT INTO `tb_message` VALUES (23,'寢室斷電了怎么辦'

44、;,'<p>寢室斷電了怎么辦</p>',123,'2011-11-26 21:17:43');</p><p>  INSERT INTO `tb_message` VALUES (24,'由于生病請(qǐng)假','<p>由于生病請(qǐng)假</p>',123,'2011-11-26 21:18:16'

45、);</p><p>  INSERT INTO `tb_message` VALUES (25,'6B401的投影儀壞了','<p>6B401的投影儀壞了,影響了我們正常的上課</p>',123,'2011-11-26 21:21:16');</p><p>  /*!40000 ALTER TABLE `tb_me

46、ssage` ENABLE KEYS */;</p><p>  UNLOCK TABLES;</p><p><b>  #</b></p><p>  # Source for table tb_reply</p><p><b>  #</b></p><p>  DR

47、OP TABLE IF EXISTS `tb_reply`;</p><p>  CREATE TABLE `tb_reply` (</p><p>  `replyID` int(11) NOT NULL AUTO_INCREMENT,</p><p>  `replyContent` text,</p><p>  `employeeID

48、` int(11) DEFAULT NULL,</p><p>  `replyTime` datetime DEFAULT NULL,</p><p>  `messageID` int(11) DEFAULT NULL,</p><p>  PRIMARY KEY (`replyID`),</p><p>  KEY `employeeI

49、D` (`employeeID`),</p><p>  KEY `messageID` (`messageID`)</p><p>  ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=gb2312 COMMENT='???¢???′±í';</p><p><b>  

50、#</b></p><p>  # Dumping data for table tb_reply</p><p><b>  #</b></p><p>  LOCK TABLES `tb_reply` WRITE;</p><p>  /*!40000 ALTER TABLE `tb_reply` DIS

51、ABLE KEYS */;</p><p>  INSERT INTO `tb_reply` VALUES (1,'adfsdfasdfsdfasdfs',123,'2011-11-22',1);</p><p>  INSERT INTO `tb_reply` VALUES (2,'<p>就是,我們也影響了</p>'

52、,123,'2011-11-26 21:21:29',25);</p><p>  /*!40000 ALTER TABLE `tb_reply` ENABLE KEYS */;</p><p>  UNLOCK TABLES;</p><p><b>  #</b></p><p>  # Forei

53、gn keys for table tb_criticism</p><p><b>  #</b></p><p>  ALTER TABLE `tb_criticism`</p><p>  ADD CONSTRAINT `tb_criticism_ibfk_1` FOREIGN KEY (`employeeID`) REFERENCES

54、`tb_employee` (`employeeID`),</p><p>  ADD CONSTRAINT `tb_criticism_ibfk_2` FOREIGN KEY (`messageID`) REFERENCES `tb_message` (`messageID`);</p><p><b>  #</b></p><p>  #

55、 Foreign keys for table tb_message</p><p><b>  #</b></p><p>  ALTER TABLE `tb_message`</p><p>  ADD CONSTRAINT `tb_message_ibfk_1` FOREIGN KEY (`employeeID`) REFERENCES

56、 `tb_employee` (`employeeID`);</p><p><b>  #</b></p><p>  # Foreign keys for table tb_reply</p><p><b>  #</b></p><p>  ALTER TABLE `tb_reply`&l

57、t;/p><p>  ADD CONSTRAINT `tb_reply_ibfk_1` FOREIGN KEY (`employeeID`) REFERENCES `tb_employee` (`employeeID`),</p><p>  ADD CONSTRAINT `tb_reply_ibfk_2` FOREIGN KEY (`messageID`) REFERENCES `tb_me

58、ssage` (`messageID`);</p><p>  第6章 程序界面說(shuō)明</p><p><b>  6.1系統(tǒng)演示</b></p><p>  打開(kāi)瀏覽器在首頁(yè)輸入http://localhost/cdutmanage/index.jsp,打開(kāi)系統(tǒng)首頁(yè)。</p><p><b>  首頁(yè)<

59、/b></p><p>  在首頁(yè)中能夠顯示用戶的身份信息及當(dāng)前最新的消息列表,如果要顯示用戶的身份信息就必須先進(jìn)行身份驗(yàn)證,單擊首頁(yè)導(dǎo)航欄的“身份識(shí)別”鏈接,頁(yè)面將跳轉(zhuǎn)到身份識(shí)別頁(yè),在該頁(yè)面中輸入用戶的編號(hào)以及預(yù)設(shè)的系統(tǒng)口令,單擊“提交”按鈕即可完成身份識(shí)別,識(shí)別完成后,系統(tǒng)將跳轉(zhuǎn)到首頁(yè),并顯示員工的身份信息,如6.1.1圖所示。</p><p><b>  圖6.1.1

60、</b></p><p><b>  登錄界面</b></p><p>  登錄頁(yè)面輸入用戶的編號(hào)和口令,如6.1.2圖所示。</p><p><b>  圖6.1.2</b></p><p><b>  消息列表界面</b></p><p>

61、;  消息列表頁(yè)面中列出了當(dāng)前最新的5條消息,如果需要查看其他消息,可以使用“上一頁(yè)”,“下一頁(yè)”鏈接。如果希望查看消息的內(nèi)容,只需要單擊消息的標(biāo)題即可進(jìn)入消息的詳細(xì)內(nèi)容頁(yè)面,如6.1.3圖所示。</p><p><b>  圖6.1.3</b></p><p><b>  發(fā)布消息的界面</b></p><p>  可以

62、單擊導(dǎo)航欄中的“發(fā)布新消息”鏈接來(lái)發(fā)布消息。在發(fā)布消息時(shí),需要填寫(xiě)消息標(biāo)題和消息內(nèi)容兩部分內(nèi)容,對(duì)于消息內(nèi)容可以使用編輯器調(diào)整字體大小、顏色、背景顏色等,還可以插入表情圖片,如6.1.4圖所示。</p><p><b>  圖6.1.4</b></p><p><b>  消息內(nèi)容界面</b></p><p>  在消息列

63、表里單擊消息標(biāo)題,即可跳轉(zhuǎn)到詳細(xì)消息的頁(yè)面,其中領(lǐng)導(dǎo)批復(fù)的內(nèi)容自動(dòng)變成紅色字體。如6.1.5圖所示</p><p><b>  圖6.1.5</b></p><p>  6.2文件夾組織結(jié)構(gòu):</p><p><b>  如6.2.1圖:</b></p><p><b>  6.2.1圖&

64、lt;/b></p><p><b>  文件結(jié)構(gòu)說(shuō)明:</b></p><p>  Src—用于保存Java類(lèi)的源文件</p><p>  Com.sanqing.bean—用于保存所有的VO類(lèi)</p><p>  Com.sanqing.dao—用于保存所有的數(shù)據(jù)庫(kù)操作接口</p><p&g

65、t;  Com.sanqing.daoImpl—用于保存所有的數(shù)據(jù)庫(kù)操作類(lèi)</p><p>  Com.sanqing.factory—用于保存所有的數(shù)據(jù)庫(kù)操作工廠</p><p>  Com.sanqing.servlet—用于保存所有的Servlet類(lèi)</p><p>  Com.sanqing.util—用于保存所有的工具類(lèi)</p><p&

66、gt;<b>  WebRoot</b></p><p>  Css—用于保存所有CSS文件</p><p>  Fckeditor—用于保存FCKeditor所需的文件</p><p>  Images—用于保存所有的圖片</p><p><b>  WEB-INF</b></p>

67、<p>  Classes—用于保存編譯后的class文件</p><p>  Lib--用于保存項(xiàng)目所需的庫(kù)文件</p><p>  此項(xiàng)目用的是JSP Model2模式開(kāi)發(fā)。在Model 2中所有的開(kāi)發(fā)都是以Servlet為主體展開(kāi)的,由Servlet接收所有的客戶端請(qǐng)求,然后根據(jù)請(qǐng)求調(diào)用相應(yīng)的JavaBean,并將所有的顯示結(jié)果交給JSP完成,也就是俗稱(chēng)的MVC設(shè)計(jì)模式。在

68、本程序中也運(yùn)用到了工廠設(shè)計(jì)模式。</p><p><b>  MVC設(shè)計(jì)模式</b></p><p>  MVC是一個(gè)設(shè)計(jì)模式,它強(qiáng)制性地使用應(yīng)用程序的輸入、處理和輸出分開(kāi)。MVC設(shè)計(jì)模式被分成3個(gè)核心層,即模型層、顯示層和控制層。它們和自處理自己的任務(wù),各層的任務(wù)如下。</p><p>  顯示層(View):主要負(fù)責(zé)接收Servlet傳遞的

69、內(nèi)容,并且調(diào)用JavaBean,將內(nèi)容顯示給用戶。</p><p>  控制層(Controller):主要負(fù)責(zé)所有的用戶請(qǐng)求參數(shù),判斷請(qǐng)求參數(shù)是否合法,根據(jù)請(qǐng)求的類(lèi)型調(diào)用JavaBean執(zhí)行操作并將最終的處理結(jié)果交由顯示層進(jìn)行顯示。</p><p>  模型層(Model):完成一個(gè)獨(dú)立的業(yè)務(wù)操作組件,一般都是以JavaBean或者EJB形式進(jìn)行定義的。</p><p

70、><b>  工廠設(shè)計(jì)模式</b></p><p>  在我們實(shí)例化對(duì)象時(shí),我們就要考慮到使用工廠模式,工廠模式是通過(guò)定義一個(gè)類(lèi),在該類(lèi)中定義一個(gè)靜態(tài)的供外部調(diào)用的方法,該方法返回所需實(shí)例化的對(duì)象,于是當(dāng)我們要實(shí)例化對(duì)象是只需調(diào)用該方法就可以了,當(dāng)所需調(diào)用的對(duì)象發(fā)生變化時(shí)外部的代碼就不需要修改。</p><p>  在項(xiàng)目的實(shí)體層的基類(lèi)中的提供創(chuàng)建實(shí)例方法時(shí),我

71、們就用到了工廠設(shè)計(jì)模式,在每次創(chuàng)建實(shí)例時(shí),我們都要工廠化一個(gè)對(duì)象,于是我們把實(shí)例化對(duì)象放到方法中去完成。當(dāng)對(duì)象包含有參數(shù)的構(gòu)造函數(shù)時(shí),外部也不需要添加,可以在工廠內(nèi)部將參數(shù)賦給構(gòu)造函數(shù),返回該對(duì)象,而外部只需要調(diào)用該工廠的方法,滿足了開(kāi)閉原則。工廠模式的另一個(gè)特點(diǎn)是可以通過(guò)條件判斷來(lái)約束是否返回對(duì)象實(shí)例,如果不滿足條件則返回空值。大大提高了安全性和對(duì)對(duì)象的控制能力。</p><p><b>  結(jié)束語(yǔ)&

72、lt;/b></p><p>  這個(gè)項(xiàng)目的完整開(kāi)發(fā)使我的基于B/S架構(gòu)的java web軟件開(kāi)發(fā)有了極大的認(rèn)識(shí),我也認(rèn)識(shí)到數(shù)據(jù)庫(kù)永遠(yuǎn)是軟件開(kāi)發(fā)中最重要的一層,數(shù)據(jù)庫(kù)在軟件開(kāi)發(fā)中的地位就像建造高樓大廈時(shí)的底部打地基,是最初的工作也是最關(guān)鍵的工作。在一個(gè)強(qiáng)大的數(shù)據(jù)庫(kù)的支持下,軟件開(kāi)發(fā)會(huì)變的非常便利。</p><p>  通過(guò)這個(gè)項(xiàng)目的開(kāi)發(fā),我深深體會(huì)到了作為一個(gè)軟件開(kāi)發(fā)人員的艱辛,我們

73、要做到的不僅僅是完成項(xiàng)目的單一功能需求,我們要開(kāi)發(fā)的事能夠適應(yīng)需求不斷變化的軟件開(kāi)發(fā),隨著時(shí)代的發(fā)展,軟件系統(tǒng)需要不斷的更新,如果每次更新的工作量都大到和重新制作該軟件一樣的化,這樣的軟件是沒(méi)有任何價(jià)值的。作為一個(gè)初入軟件行業(yè)的新人,我深深的體會(huì)到了這一點(diǎn)。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1]. 李興華 《Java開(kāi)發(fā)實(shí)戰(zhàn)經(jīng)典》

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論