版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 湖 南 科 技 大 學(xué)</p><p> 畢 業(yè) 設(shè) 計(jì)( 論 文 )</p><p> 二〇一一 年 六 月 一 日</p><p> 題目機(jī)械工藝圖紙管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p> 作者</p><p> 學(xué)院計(jì)算機(jī)科學(xué)與工程</p><p> 專業(yè)
2、計(jì)算機(jī)科學(xué)與技術(shù)</p><p> 學(xué)號(hào)0705010309</p><p> 指導(dǎo)教師</p><p> 湖 南 科 技 大 學(xué)</p><p> 畢業(yè)設(shè)計(jì)(論文)任務(wù)書</p><p> 計(jì)算機(jī)科學(xué)與工程 學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù) 系(教研室)</p><p>
3、系(教研室)主任: (簽名) 年 月 日</p><p> 學(xué)生姓名: 學(xué)號(hào): 0705010309 專業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) </p><p> 1 設(shè)計(jì)(論文)題目及專題: 機(jī)械工藝圖紙管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) </p><p> 2 學(xué)生設(shè)計(jì)(論文)時(shí)
4、間:自 2011 年 03 月 01 日開始至 2011 年 06 月 01 日止</p><p> 3 設(shè)計(jì)(論文)所用資源和參考資料:</p><p> Struts2深入詳解 孫鑫 著 電子工業(yè)出版社出版 2008-7</p><p> Hibernate 官網(wǎng)http://www.hibernate.org/ </p><p&g
5、t; Struts2 官網(wǎng)http://struts.apache.org/</p><p> 4 設(shè)計(jì)(論文)應(yīng)完成的主要內(nèi)容:</p><p> 5 提交設(shè)計(jì)(論文)形式(設(shè)計(jì)說(shuō)明與圖紙或論文等)及要求:</p><p> 6 發(fā)題時(shí)間: 2011 年 03 月 01 日</p><p> 指導(dǎo)教師:
6、 (簽名)</p><p> 學(xué) 生: (簽名)</p><p> 湖 南 科 技 大 學(xué)</p><p> 畢業(yè)設(shè)計(jì)(論文)指導(dǎo)人評(píng)語(yǔ)</p><p> [主要對(duì)學(xué)生畢業(yè)設(shè)計(jì)(論文)的工作態(tài)度,研究?jī)?nèi)容與方法,工作量,文獻(xiàn)應(yīng)用,創(chuàng)新性,實(shí)用性,科學(xué)性,文本(圖紙)規(guī)范程度,存在的不足等進(jìn)
7、行綜合評(píng)價(jià)]</p><p> 指導(dǎo)人: (簽名)</p><p><b> 年 月 日</b></p><p> 指導(dǎo)人評(píng)定成績(jī): </p><p> 湖 南 科 技 大 學(xué)</p><p> 畢業(yè)設(shè)計(jì)(論文)評(píng)閱人評(píng)語(yǔ)</p>
8、;<p> [主要對(duì)學(xué)生畢業(yè)設(shè)計(jì)(論文)的文本格式、圖紙規(guī)范程度,工作量,研究?jī)?nèi)容與方法,實(shí)用性與科學(xué)性,結(jié)論和存在的不足等進(jìn)行綜合評(píng)價(jià)]</p><p> 評(píng)閱人: (簽名)</p><p><b> 年 月 日</b></p><p> 評(píng)閱人評(píng)定成績(jī): </p&g
9、t;<p> 湖 南 科 技 大 學(xué)</p><p> 畢業(yè)設(shè)計(jì)(論文)答辯記錄</p><p> 日期: </p><p> 學(xué)生: 學(xué)號(hào): 0705010309 班級(jí): 07050103 </p><p> 題
10、目: 機(jī)械工藝圖紙管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) </p><p> 提交畢業(yè)設(shè)計(jì)(論文)答辯委員會(huì)下列材料:</p><p> 1 設(shè)計(jì)(論文)說(shuō)明書共頁(yè)</p><p> 2 設(shè)計(jì)(論文)圖 紙共頁(yè)</p><p> 3 指導(dǎo)人、評(píng)閱人評(píng)語(yǔ)共頁(yè)&
11、lt;/p><p> 畢業(yè)設(shè)計(jì)(論文)答辯委員會(huì)評(píng)語(yǔ):</p><p> [主要對(duì)學(xué)生畢業(yè)設(shè)計(jì)(論文)的研究思路,設(shè)計(jì)(論文)質(zhì)量,文本圖紙規(guī)范程度和對(duì)設(shè)計(jì)(論文)的介紹,回答問(wèn)題情況等進(jìn)行綜合評(píng)價(jià)]</p><p> 答辯委員會(huì)主任: (簽名)</p><p> 委員: (
12、簽名)</p><p><b> ?。ê灻?lt;/b></p><p><b> ?。ê灻?lt;/b></p><p><b> ?。ê灻?lt;/b></p><p> 答辯成績(jī): </p><p> 總評(píng)成績(jī): <
13、;/p><p><b> 摘 要</b></p><p> 隨著科技的發(fā)展, 時(shí)代的進(jìn)步,工業(yè)生產(chǎn)管理慢慢由原始的人工管理向智能化管理轉(zhuǎn)變。長(zhǎng)沙天鵝泵業(yè)有限公司在生產(chǎn)水泵的過(guò)程中,由于機(jī)械圖紙?zhí)?,人工管理起?lái)比較困難,不得不考慮采用科學(xué)化的管理方式。</p><p> 本論文主要闡述了如何利用J2EE的Struts和Hibernate
14、框架開發(fā)一個(gè)性能優(yōu)越、可擴(kuò)展性強(qiáng)和安全可靠穩(wěn)定的機(jī)械工藝圖紙管理系統(tǒng)。同時(shí)還論述了該機(jī)械工藝圖紙管理系統(tǒng)具體功能的實(shí)現(xiàn)過(guò)程,主要包括數(shù)據(jù)庫(kù)的設(shè)計(jì),圖紙管理功能、工藝卡管理功能,用戶管理,角色管理,通知管理,上傳功能,下載功能等等。</p><p> 本機(jī)械工藝圖紙管理系統(tǒng)界面美觀,簡(jiǎn)潔大方,容易操作,比較實(shí)用。</p><p> 關(guān)鍵詞: Struts;Hibernate;機(jī)械工藝圖紙
15、管理系統(tǒng);</p><p><b> Abstract</b></p><p> With the development of science and technology and the progress of the times, industrial production management gradually changes from original
16、 artificial management to the intelligent management. Due to too many mechanical drawings, it is too difficult for Tianepump to adopt artificial management in the process of producing water pumps, so The Changsha Tianepu
17、mp has to take the use of scientific management into account to manage mechanical drawings and process card. </p><p> This article mainly expounds how to use J2EE ’s Struts and Hibernate framework to devel
18、op a secure, reliable and stable mechanical process drawings management system with superior performance and high scalability. It also discusses the implementation procedure of specific function of the system, includin
19、g the design of database, the function of drawing management and process card management, the user management, the role management, the notification management, uploading and downloading, etc.</p><p> The m
20、echanical process drawings management system is artistic and succinct in interface. It is also easily-operated and practical.</p><p> Keywords: Struts; Hibernate; drawing management system.</p><
21、p><b> 目錄</b></p><p> 第一章 緒 論- 1 -</p><p> 1.1 項(xiàng)目背景分析- 1 -</p><p> 1.2 論文的主要內(nèi)容- 1 -</p><p> 1.3 論文的結(jié)構(gòu)- 2 -</p><p> 第二章 相關(guān)技術(shù)簡(jiǎn)介- 3
22、 -</p><p> 2.1 Struts2技術(shù)簡(jiǎn)介- 3 -</p><p> 2.2 hibernate技術(shù)簡(jiǎn)介- 5 -</p><p> 第三章 需求分析- 9 -</p><p> 3.1目標(biāo)定義- 9 -</p><p> 3.2 系統(tǒng)功能需求- 9 -</p><
23、;p> 3.3可行性研究- 10 -</p><p> 3.4系統(tǒng)環(huán)境要求- 10 -</p><p> 第四章 概要設(shè)計(jì)- 12 -</p><p> 4.1 架構(gòu)設(shè)計(jì)- 12 -</p><p> 4.2 功能模塊設(shè)計(jì)- 12 -</p><p> 4.3 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)- 13 -&
24、lt;/p><p> 4.3.1 圖數(shù)據(jù)庫(kù)設(shè)計(jì)規(guī)范- 13 -</p><p> 4.3.2 ER關(guān)系圖設(shè)計(jì)- 14 -</p><p> 4.3.3 ER圖補(bǔ)充- 14 -</p><p> 4.3.3 數(shù)據(jù)庫(kù)表設(shè)計(jì)- 16 -</p><p> 第五章 詳細(xì)設(shè)計(jì)- 19 -</p>
25、<p> 5.1 系統(tǒng)配置- 19 -</p><p> 5.1.1 應(yīng)用層配置- 19 -</p><p> 5.1.2 數(shù)據(jù)庫(kù)連接配置- 22 -</p><p> 5.2用戶注冊(cè)登錄模塊- 23 -</p><p> 5.3權(quán)限控制設(shè)計(jì)- 24 -</p><p> 5.4圖紙信息
26、管理模塊的實(shí)現(xiàn)- 25 -</p><p> 5.4.1 設(shè)計(jì)目的- 25 -</p><p> 5.4.2 視圖層設(shè)計(jì)- 26 -</p><p> 5.4.3 業(yè)務(wù)層處理- 28 -</p><p> 5.4.4 數(shù)據(jù)層處理- 30 -</p><p> 第六章 總結(jié)與展望- 33 -<
27、;/p><p> 參考文獻(xiàn)- 34 -</p><p> 致 謝- 35 -</p><p><b> 第一章 緒 論</b></p><p> 1.1 項(xiàng)目背景分析</p><p> 受長(zhǎng)沙天鵝泵業(yè)股份有限公司的委托,幫忙開發(fā)一個(gè)機(jī)械工業(yè)圖紙管理系統(tǒng) 。由于該公司加工水泵的過(guò)程中,先
28、需要一個(gè)機(jī)械圖紙,機(jī)械根據(jù)圖紙上的信息描述來(lái)加工水泵的部件。由于水泵型號(hào)多,機(jī)械圖紙?jiān)O(shè)計(jì)工程師們工作量也就比較大,設(shè)計(jì)出來(lái)的機(jī)械工藝圖紙想當(dāng)多,結(jié)果給水泵加工過(guò)程造成了一個(gè)想當(dāng)嚴(yán)重的問(wèn)題。加工過(guò)程中,弄不清那個(gè)圖紙對(duì)應(yīng)哪一個(gè)型號(hào)的水泵了。或者是加工完某一型號(hào)的水泵之后用過(guò)了這一型號(hào)的圖紙之后,隔了一段時(shí)間 又需要再加工該類型號(hào)的水泵時(shí)找不到這個(gè)型號(hào)的圖紙了。不得不再次求助于機(jī)械工藝圖紙?jiān)O(shè)計(jì)師重新設(shè)計(jì)圖紙。這顯然是管理上的失誤,才給工藝圖
29、紙?jiān)O(shè)計(jì)師造成額外的工作。當(dāng)然也不能全怪管理員了。主要是沒(méi)有一個(gè)合適的管理工具。因此,開發(fā)一個(gè)合適的機(jī)械工藝圖紙管理系統(tǒng)是很有必要的??梢詼p輕管理員的工作,機(jī)械圖紙?jiān)O(shè)計(jì)師的工作,同時(shí)也方便水泵加工過(guò)程中查找圖紙的方便。</p><p> 1.2 論文的主要內(nèi)容</p><p> 本文將闡述一個(gè)基于J2EE技術(shù)的機(jī)械工藝圖紙管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),主要實(shí)現(xiàn)工藝圖紙的管理(上傳圖紙、下載圖紙、
30、搜索查詢圖紙),機(jī)械工藝卡的管理(上傳工藝卡、下載工藝卡、搜索查詢工藝卡等)其目的是給長(zhǎng)沙天鵝泵業(yè)有限公司提供一個(gè)圖紙管理系統(tǒng),方便水泵加工過(guò)程中圖紙模板的查找,保證圖紙的唯一性,減少公司管理層得工作量的一個(gè)信息平臺(tái)。</p><p> 該機(jī)械工藝圖紙管理系統(tǒng)應(yīng)該具備如下功能:發(fā)布圖紙信息功能,修改圖紙信息功能,上傳圖紙功能,下載圖紙功能, 搜索查詢圖紙功能;發(fā)布工藝卡信息功能,修改工藝卡信息功能,上傳工藝卡功
31、能,下載工藝卡功能,搜索查詢工藝卡功能;用戶組管理功能;用戶管理功能;消息通知管理功能等。</p><p> 文章將首先闡述機(jī)械工藝圖紙管理系統(tǒng)分析部分,包括可行性分析、需求分析、業(yè)務(wù)流程分析等;系統(tǒng)概要設(shè)計(jì)部分將主要介紹該系統(tǒng)的總體設(shè)計(jì)、功能設(shè)計(jì)、架構(gòu)設(shè)計(jì)以及數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì);系統(tǒng)詳細(xì)設(shè)計(jì)部分將說(shuō)明整個(gè)系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì),接口設(shè)計(jì)以及幾個(gè)主要功能模塊的流程圖與算法以及其各自的實(shí)現(xiàn)代碼,并對(duì)實(shí)現(xiàn)該論壇的一些關(guān)鍵技術(shù)和
32、組件進(jìn)行簡(jiǎn)單的介紹;最后論文將對(duì)整個(gè)系統(tǒng)的設(shè)計(jì)過(guò)程與結(jié)果進(jìn)行總結(jié),總結(jié)該系統(tǒng)的不足之處,并對(duì)這些不足之處提出修改意見;其次就是對(duì)該系統(tǒng)的未來(lái)進(jìn)行展望,看還有哪些技術(shù)值得改進(jìn)可以使得運(yùn)行效率更高。</p><p><b> 1.3 論文的結(jié)構(gòu)</b></p><p> 第二章為相關(guān)技術(shù)的介紹,首先介紹本機(jī)械工藝圖紙管理系統(tǒng)中所用的到Stuts2技術(shù),然后在介紹Hib
33、ernate技術(shù)。</p><p> 第三章為整個(gè)系統(tǒng)需求分析,將包括系統(tǒng)的目標(biāo)定義、系統(tǒng)的功能需求分析、系統(tǒng)的可行性分析、系統(tǒng)開發(fā)環(huán)境等方面進(jìn)行簡(jiǎn)要介紹。</p><p> 第四章為概要設(shè)計(jì),將包括系統(tǒng)架構(gòu)設(shè)計(jì),系統(tǒng)功能模塊設(shè)計(jì)與數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)三個(gè)大的方面。</p><p> 第五章為整個(gè)機(jī)械工藝圖紙管理系統(tǒng)的詳細(xì)設(shè)計(jì),在這一章論文將列出3到4個(gè)模塊進(jìn)行詳細(xì)講
34、解,其它的功能模塊則進(jìn)行簡(jiǎn)單說(shuō)明。另外論文將詳細(xì)闡述本機(jī)械工藝圖紙管理系統(tǒng)的關(guān)鍵技術(shù)是如何實(shí)現(xiàn)的。</p><p> 第六章為最后一章,論文將在這一章對(duì)整個(gè)系統(tǒng)的開發(fā)過(guò)程中所學(xué)到的知識(shí)與經(jīng)驗(yàn)進(jìn)行總結(jié),總結(jié)還有那些不足之處以及仍然可以進(jìn)行改進(jìn)的地方。</p><p> 第二章 相關(guān)技術(shù)簡(jiǎn)介</p><p> 2.1 Struts2技術(shù)簡(jiǎn)介</p>
35、<p> Struts2 是一種JSP Model2模式的框架。JSP Model2 模式示意圖如圖2.1所示,是由sun公司又推出了一種架構(gòu)模式。這個(gè)模式是結(jié)合了servlet,JSP,javabean的優(yōu)點(diǎn)推出的一種模式。這個(gè)模式分為三部分servlet,JSP,javabean。servlet做的事情是控制到底最后顯示哪個(gè)JSP頁(yè)面給用戶、JSP做的就是響應(yīng)用戶請(qǐng)求,把結(jié)果數(shù)據(jù)展現(xiàn)給用戶、而javabean做的就不單
36、單是對(duì)數(shù)據(jù)庫(kù)的數(shù)據(jù)的存取了,這里復(fù)雜的業(yè)務(wù)功能和邏輯處理都交給了它處理。從它的設(shè)計(jì)結(jié)構(gòu)就可以看出JSP Model2的優(yōu)點(diǎn)。由于它在設(shè)計(jì)上很好的分工,也就是做顯示的是JSP,做邏輯處理的是javabean,做控制的是servlet。這樣分工以后,對(duì)我們開發(fā)人員來(lái)說(shuō),就可以很好的做自己的開發(fā)工作了,而美工人員也不必了解和看懂業(yè)務(wù)邏輯處理代碼,在很大的層次上提高開發(fā)的效率。</p><p> 圖2.1 JSP M
37、odel2 模式示意圖</p><p> 事實(shí)上Struts2就是一個(gè)大的Servlet,所有的請(qǐng)求都會(huì)通過(guò)這個(gè)Servlet就行轉(zhuǎn)發(fā)到相應(yīng)的action 中就行處理。它是一個(gè)典型的MVC模式框架。雖然Struts2號(hào)稱是一個(gè)全新的框架,但這僅僅是相對(duì)Struts 1而言。Struts 2 與Struts1相比,確實(shí)有很多革命性的改進(jìn),但它并不是新發(fā)布的新框架,而是在另一個(gè)赫赫有名的框架:WebWork基礎(chǔ)上發(fā)
38、展起來(lái)的。從某種程度上來(lái)講,Struts2沒(méi)有繼承Struts1的血統(tǒng),而是繼承WebWork的血統(tǒng)?;蛘哒f(shuō),WebWork衍生出了Struts2,而不是Struts1衍生了Struts2.因?yàn)镾truts2是WebWork的升級(jí),而不是一個(gè)全新的框架,因此穩(wěn)定性、性能等各方面都有很好的保證:而且吸收了Struts 1和WebWork兩者的優(yōu)勢(shì),因此,是一個(gè)非常值得期待的框架。</p><p> Apache
39、Struts2是一個(gè)優(yōu)雅的,可擴(kuò)展的JAVA EE web框架??蚣茉O(shè)計(jì)的目標(biāo)貫穿整個(gè)開發(fā)周期,從開發(fā)到發(fā)布,包括維護(hù)的整個(gè)過(guò)程。Apache Struts 2即是之前大家所熟知的WebWork 2.在經(jīng)歷了幾年的各自發(fā)展后,WebWork和Struts社區(qū)決定合二為一,也即是Struts 2。Struts2的工作流程示意圖如圖2.2所示。</p><p><b> 它的整個(gè)工作過(guò)程:</b&g
40、t;</p><p> 1、當(dāng)Servlet容器接收到一個(gè)Httprequest請(qǐng)求之后,將請(qǐng)求交給在web.xml中配置的過(guò)濾器StrutsPrepareAndExecuteFilter,調(diào)用它的dofilter方法。</p><p> 2、StrutsPrepareAndExecuteFilter詢問(wèn)ActionMapper,以便確定這個(gè)請(qǐng)求是否有對(duì)應(yīng)的Action調(diào)用。</
41、p><p> 3、ActionMaper返回一個(gè)描述Action調(diào)用的ActionMapping對(duì)象。</p><p> 4、StrutsPrepareAndExecuteFilter調(diào)用Dispatcher類的serviceAction()方法。</p><p> 5、Dispatcher調(diào)用ActionProxy的execute()方法。</p>
42、<p> 6、ActionProxy設(shè)置ActionProxy對(duì)象的執(zhí)行上下文,然后調(diào)用其invoke()方法。</p><p> 7、ActionInvocation的invoke()方法從攔截器中查找尚未執(zhí)行的攔截器,然后調(diào)用它的intercept(invocation()方法。并將自身的引用對(duì)象的引用最為參數(shù)傳遞給攔截器。</p><p> 8、攔截器完成某系預(yù)處理
43、工作之后,反過(guò)來(lái)調(diào)用ActionInvocation的invoke()方法。ActionInvocation維護(hù)自己的狀態(tài),所以它知道哪些攔截器已經(jīng)被執(zhí)行了,如果還沒(méi)有別執(zhí)行的攔截器,就繼續(xù)執(zhí)行它的intercept(invocation()方法。</p><p> 9、如果所以的攔截器都已經(jīng)執(zhí)行過(guò)了,就調(diào)用Action實(shí)例的execute()方法(如果沒(méi)有在struts.xml文件中設(shè)置其他方法,否則執(zhí)行其他
44、方法)。</p><p> 10、ActionInvocation根據(jù)Action執(zhí)行返還的結(jié)果碼,查找對(duì)應(yīng)的Result,調(diào)用Result的execute(invocation),將結(jié)果呈現(xiàn)給用戶。</p><p> 11、ActionInvocation的invoke()方法將控制權(quán)返還給攔截器映射中的最后一個(gè)攔截器,該攔截器完成所有 的后期處理工作,如此反復(fù),知道所有的攔截器都成
45、返回。</p><p> 12、ActionInvocation的invoke()方法執(zhí)行完畢之后,向ActionProxy返回一個(gè)String類型的結(jié)果碼,最后,ActionProxy清理狀態(tài)并返回。</p><p> 圖2.2 Struts2的工作流程示意圖</p><p> 2.2 hibernate技術(shù)簡(jiǎn)介</p><p>
46、 Hibernate是一個(gè)開放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù)。 Hibernate可以應(yīng)用在任何使用JDBC的場(chǎng)合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。 </p><p>
47、; Hibernate的核心接口一共有5個(gè),分別為:Session、SessionFactory、Transaction、Query和Configuration。這5個(gè)核心接口在任何開發(fā)中都會(huì)用到。通過(guò)這些接口,不僅可以對(duì)持久化對(duì)象進(jìn)行存取,還能夠進(jìn)行事務(wù)控制。下面對(duì)這五個(gè)核心接口分別加以介紹。 </p><p> ①、Session接口:Session接口負(fù)責(zé)執(zhí)行被持久化對(duì)象的CRUD操作(CRUD的任務(wù)是
48、完成與數(shù)據(jù)庫(kù)的交流,包含了很多常見的SQL語(yǔ)句。)。但需要注意的是Session對(duì)象是非線程安全的。同時(shí),Hibernate的session不同于JSP應(yīng)用中的HttpSession。這里當(dāng)使用session這個(gè)術(shù)語(yǔ)時(shí),其實(shí)指的是Hibernate中的session,而以后會(huì)將HttpSession對(duì)象稱為用戶session。 </p><p> ?、?、SessionFactory接口:SessionFactor
49、y接口負(fù)責(zé)初始化Hibernate。它充當(dāng)數(shù)據(jù)存儲(chǔ)源的代理,并負(fù)責(zé)創(chuàng)建Session對(duì)象。這里用到了工廠模式。需要注意的是SessionFactory并不是輕量級(jí)的,因?yàn)橐话闱闆r下,一個(gè)項(xiàng)目通常只需要一個(gè)SessionFactory就夠,當(dāng)需要操作多個(gè)數(shù)據(jù)庫(kù)時(shí),可以為每個(gè)數(shù)據(jù)庫(kù)指定一個(gè)SessionFactory。 </p><p> ③、Configuration接口:Configuration接口負(fù)責(zé)配置并
50、啟動(dòng)Hibernate,創(chuàng)建SessionFactory對(duì)象。在Hibernate的啟動(dòng)的過(guò)程中,Configuration類的實(shí)例首先定位映射文檔位置、讀取配置,然后創(chuàng)建SessionFactory對(duì)象。 </p><p> ④、Transaction接口:Transaction接口負(fù)責(zé)事務(wù)相關(guān)的操作。它是可選的,開發(fā)人員也可以設(shè)計(jì)編寫自己的底層事務(wù)處理代碼。 </p><p> ?、?/p>
51、、Query和Criteria接口: Query和Criteria接口負(fù)責(zé)執(zhí)行各種數(shù)據(jù)庫(kù)查詢。它可以使用HQL語(yǔ)言或原生的SQL語(yǔ)句兩種表達(dá)方式。HQL語(yǔ)言是一種面向?qū)ο蟮牟樵冋Z(yǔ)句,它更容易讓程序員所接受,同時(shí)HQL語(yǔ)言還屏蔽了不同SQL語(yǔ)言之間的差異。 </p><p> Hibernate的工作原理。</p><p> Hibernate 首先進(jìn)行初始化.讀取Hibernate 的
52、配置信息然后再創(chuàng)建Session Factory。步驟如下:</p><p> 1)創(chuàng)建Configeration類的實(shí)例。它的構(gòu)造方法:將配置信息(Hibernate config.xml)讀入到內(nèi)存。一個(gè)Configeration 實(shí)例代表Hibernate 所有Java類到Sql數(shù)據(jù)庫(kù)映射的集合。</p><p> 2)創(chuàng)建SessionFactory實(shí)例,把Configerat
53、ion 對(duì)象中的所有配置信息拷貝到SessionFactory的緩存中。SessionFactory的實(shí)例代表一個(gè)數(shù)據(jù)庫(kù)存儲(chǔ)員源,創(chuàng)建后不再與Configeration 對(duì)象關(guān)聯(lián)。緩存(cache):指Java對(duì)象的屬性(通常是一些集合類型的屬性--占用內(nèi)存空間。 SessionFactory的緩存中:Hibernate 配置信息。OR映射元數(shù)據(jù)。緩存-大:重量級(jí)對(duì)象 ?。狠p量級(jí)對(duì)象</p><p> 3)調(diào)用
54、SessionFactory創(chuàng)建Session的方法。1、用戶自行提供JDBC連接。 Connection con=dataSource.getConnection(); Session s=sessionFactory.openSession(con);2、讓SessionFactory提供連接 Session s=sessionFactory.openSessio
55、n();</p><p> 4)通過(guò)Session 接口提供的各種方法來(lái)操縱數(shù)據(jù)庫(kù)訪問(wèn)。</p><p> Hibernate 的緩存體系。</p><p> 一級(jí)緩存:Session 有一個(gè)內(nèi)置的緩存,其中存放了被當(dāng)前工作單元加載的對(duì)象。每個(gè)Session 都有自己獨(dú)立的緩存,且只能被當(dāng)前工作單元訪問(wèn)。</p><p> 二級(jí)緩存:
56、SessionFactory的外置的可插拔的緩存插件。其中的數(shù)據(jù)可被多個(gè)Session共享訪問(wèn)。SessionFactory的內(nèi)置緩存:存放了映射元數(shù)據(jù),預(yù)定義的Sql語(yǔ)句。</p><p> Hibernate 中Java對(duì)象的狀態(tài)</p><p> 臨時(shí)狀態(tài) (transient)。特征: (1)不處于Session 緩存中、(2)數(shù)據(jù)庫(kù)中沒(méi)有對(duì)象記錄。Ja
57、va如何進(jìn)入臨時(shí)狀態(tài):(1)通過(guò)new語(yǔ)句剛創(chuàng)建一個(gè)對(duì)象時(shí)、(2) 當(dāng)調(diào)用Session 的delete()方法,從Session 緩存中刪除一個(gè)對(duì)象時(shí)。</p><p> 持久化狀態(tài)(persisted)。特征:(1)處于Session 緩存中、(2)持久化對(duì)象數(shù)據(jù)庫(kù)中設(shè)有對(duì)象記錄、(3)Session 在特定時(shí)刻會(huì)保持二者同步。Java如何進(jìn)入持久化狀態(tài):(1)Session 的save()把臨時(shí)
58、->持久化狀態(tài)、(2)Session 的load()、get()方法返回的對(duì)象、(3)Session 的find()返回的list集合中存放的對(duì)象、(4) Session 的update(),saveOrupdate()使游離->持久化</p><p> 游離狀態(tài)(detached)。特征:(1)不再位于Session 緩存中、(2)游離對(duì)象由持久化狀態(tài)轉(zhuǎn)變而來(lái),數(shù)據(jù)庫(kù)中可能還
59、有對(duì)應(yīng)記錄。Java如何進(jìn)入持久化狀態(tài)-》游離狀態(tài):(1)Session 的close()方法、(2)Session 的evict()方法,從緩存中刪除一個(gè)對(duì)象,提高性能。</p><p> 所謂Hibernate的基本工作原理,換言之,也就是Hibernate大體的工作流程。其基本工作流程示意圖如2-3:</p><p> 圖2.3 Hibernate工作流程示意圖</p&g
60、t;<p><b> 其工作流程如下:</b></p><p> 1.實(shí)例化Configeration對(duì)象,讀取hibernate.cfg.xml文件的配置內(nèi)容,并根據(jù)相關(guān)的需求建好表或者和表建立好映射關(guān)系</p><p> 2.通過(guò)實(shí)例化的Configeration對(duì)象就可以建立sessionFactory實(shí)例</p><p&
61、gt; 3.通過(guò)sessionFactory實(shí)例,創(chuàng)建或者打開session對(duì)象。.</p><p> 4.得到session之后,創(chuàng)建事務(wù)Transation對(duì)象。</p><p> 5. 進(jìn)行相關(guān)的持久化操作,調(diào)用save、saveOrUpdate、delete、get等方法對(duì)數(shù)據(jù)庫(kù)進(jìn)行增刪改查操作。除了比較復(fù)雜的全文搜索外,簡(jiǎn)單的操作都可以通過(guò)hibernate封裝好的sess
62、ion內(nèi)置方法來(lái)實(shí)現(xiàn)。</p><p> 6.提交事務(wù),對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行更新,同步hibernate緩存和數(shù)據(jù)庫(kù)的記錄。</p><p> 7. 關(guān)閉Session對(duì)象。一旦一個(gè)事物執(zhí)行結(jié)束,則關(guān)閉Session對(duì)象。釋放內(nèi)存服務(wù)器資源。</p><p> 8. 關(guān)閉SesstionFactory。SessionFactory的啟動(dòng)過(guò)程是非常耗時(shí)間的,所以一般
63、不會(huì)在進(jìn)行每一次數(shù)據(jù)庫(kù)操作都把SessionFactory關(guān)閉,這樣會(huì)嚴(yán)重的影響系統(tǒng)的性能的。系統(tǒng)一般在服務(wù)器第一次啟動(dòng)的時(shí)候?qū)嵗粋€(gè)SessionFactory實(shí)例對(duì)象并存儲(chǔ)到內(nèi)存中,以后要用到得時(shí)候直接從內(nèi)存中去取就行了。加快系統(tǒng)訪問(wèn)數(shù)據(jù)庫(kù)的性能。所以當(dāng)關(guān)閉Session對(duì)象的時(shí)候也就意味著一個(gè)數(shù)據(jù)庫(kù)操作流程的結(jié)束了。</p><p><b> 第三章 需求分析</b></p
64、><p><b> 3.1目標(biāo)定義</b></p><p> 本系統(tǒng)的開發(fā)主要是由于受長(zhǎng)沙天鵝泵業(yè)股份有限公司的委托,幫忙開發(fā)一個(gè)機(jī)械工業(yè)圖紙管理系統(tǒng)解,解決圖紙凌亂而不好管理的問(wèn)題,方便長(zhǎng)沙天鵝泵業(yè)公司管理人員管理機(jī)械圖紙和工藝卡,同時(shí)也方便水泵生產(chǎn)過(guò)程中的技術(shù)工人,查找機(jī)械圖紙和工藝卡。</p><p> 由于該公司加工水泵的過(guò)程中,先需
65、要一個(gè)機(jī)械圖紙,機(jī)械根據(jù)圖紙上的信息描述來(lái)加工水泵的部件。由于水泵型號(hào)多,機(jī)械圖紙?jiān)O(shè)計(jì)工程師們工作量也就比較大,設(shè)計(jì)出來(lái)的機(jī)械工藝圖紙想當(dāng)多,結(jié)果給水泵加工過(guò)程造成了一個(gè)想當(dāng)嚴(yán)重的問(wèn)題。加工過(guò)程中,弄不清那個(gè)圖紙對(duì)應(yīng)哪一個(gè)型號(hào)的水泵了?;蛘呤羌庸ね昴骋恍吞?hào)的水泵之后用過(guò)了這一型號(hào)的圖紙之后,隔了一段時(shí)間 又需要再加工該類型號(hào)的水泵時(shí)找不到這個(gè)型號(hào)的圖紙了。不得不再次求助于機(jī)械工藝圖紙?jiān)O(shè)計(jì)師重新設(shè)計(jì)圖紙。主要是由于沒(méi)有一個(gè)合適的文件管理工
66、具,才給工藝圖紙?jiān)O(shè)計(jì)師造成額外的工作。因此,受此重托,我著手開發(fā)這個(gè)機(jī)械工藝圖紙管理系統(tǒng)。主要目的有以下幾個(gè)點(diǎn):</p><p> 1、方便機(jī)械工藝圖紙的管理,避免造成圖紙凌亂不堪,造成找不到機(jī)械圖紙和工藝的現(xiàn)象,減輕管理員的工作量。</p><p> 2、為水泵加工技術(shù)人員提供一個(gè)性能優(yōu)越的,實(shí)用且方便的機(jī)械圖紙和工藝卡下載的平臺(tái)。</p><p> 3、為
67、圖紙?jiān)O(shè)計(jì)師們提供一個(gè)方便而快捷的圖紙上傳功能。大大減輕了設(shè)計(jì)師的工作量。</p><p> 3.2 系統(tǒng)功能需求</p><p> 對(duì)于這個(gè)圖紙管理系統(tǒng)來(lái)說(shuō),主要是為了實(shí)現(xiàn)進(jìn)行查找圖紙,下載圖紙,當(dāng)然只有管理員,系統(tǒng)管理員 ,具有上傳圖紙的權(quán)限,已經(jīng)對(duì)圖紙進(jìn)行增刪查改等功能,對(duì)圖紙進(jìn)行管理。還有對(duì)工藝卡的查找,增加,刪除,修改,上傳,下載等功能。所以,本系統(tǒng)將包含如下功能:</p
68、><p> 1、用戶登錄,退出,注冊(cè)等功能。</p><p> 2、系統(tǒng)用戶類別管理功能:系統(tǒng)管理員可以添加,修改,刪除,查找用戶類別等功能。</p><p> 3、系統(tǒng)用戶信息管理功能:包括修改用戶密碼,是否將其設(shè)定為管理員,是否刪除該用戶,添加新用戶等功能。</p><p> 4、權(quán)限管理功能:系統(tǒng)管理員可以設(shè)定每一個(gè)用戶類別的系統(tǒng)訪
69、問(wèn)權(quán)限。包括添加新的權(quán)限,刪除權(quán)限,修改用戶類別權(quán)限等。本系統(tǒng)默認(rèn)分以下三種權(quán)限(限可以動(dòng)態(tài)添加)。(1)、系統(tǒng)管理員:系統(tǒng)管理員主要負(fù)責(zé)本系統(tǒng)的管理,具有所有功能的權(quán)限。例如:權(quán)限管理(其它身份不具有這個(gè)權(quán)限);(2)、管理員:具有對(duì)圖紙等信息增刪改查都功能。;(2)普通會(huì)員:只具有下載查看圖紙的功能。不能在系統(tǒng)中添加,修改,刪除圖紙信息 但是可以修改自己個(gè)人信息,如:登陸密碼,其它個(gè)人資料信息等。還可以發(fā)布消息。這些權(quán)限 只是一個(gè)默
70、認(rèn)的值 ,現(xiàn)場(chǎng)可以根據(jù)具體需求 以系統(tǒng)管理員身份進(jìn)入系統(tǒng) 動(dòng)態(tài)修改,添加,刪除權(quán)限。</p><p> 5、用戶發(fā)布通知的功能:用戶登錄到后臺(tái)可以看到最新發(fā)布的通知。用戶也可以發(fā)布通知 ,修改通知,刪除通知,查找通知。但是(修改和刪除操作,只能增對(duì)自己的發(fā)布的通知進(jìn)行操作)。通過(guò)這個(gè)通知功能,管理員上傳新圖紙,修改圖紙 之后,就能方便的通知下大家。</p><p> 6、圖紙管理功能:
71、系統(tǒng)默認(rèn)普通用戶只能瀏覽下載圖紙的功能,管理員,系統(tǒng)管理員才具有對(duì)圖紙進(jìn)行增加圖紙,修改圖紙信息,刪除圖紙,上傳圖紙,下載圖紙的功能。</p><p> 7、工藝卡管理功能:系統(tǒng)默認(rèn)普通用戶只能瀏覽下載工藝卡的功能,管理員,系統(tǒng)管理員才具有對(duì)工藝卡進(jìn)行增加工藝卡信息,修改工藝卡信息,刪除工藝卡信息及文件,上傳工藝卡,下載工藝卡的功能。</p><p><b> 3.3可行性
72、研究</b></p><p><b> 技術(shù)可行性分析:</b></p><p> Struts2、Hibernate、JSTL、OGNL、AJAX等這些技術(shù)都是經(jīng)過(guò)前人無(wú)數(shù)次試驗(yàn)通過(guò)的,就技術(shù)層面上來(lái)講,用它們實(shí)現(xiàn)一個(gè)小型的內(nèi)容管理系統(tǒng)是搓搓有余的;而類似這種管理系統(tǒng)系統(tǒng)在互聯(lián)網(wǎng)上已經(jīng)有過(guò)相當(dāng)多的成功的案例了,所以不論是就技術(shù)而言還是就系統(tǒng)本身而言都
73、是具有可行性的。</p><p><b> 經(jīng)濟(jì)可行性分析:</b></p><p> 該小型內(nèi)容管理系統(tǒng)全程由個(gè)人開發(fā),所以不存在支付他人開發(fā)費(fèi)用;只是時(shí)間的問(wèn)題開銷問(wèn)題。而這系統(tǒng)可以給長(zhǎng)沙天鵝泵業(yè)公司圖紙管理帶來(lái)極大的方便,因此在經(jīng)濟(jì)上是具有可行性的。</p><p><b> 3.4系統(tǒng)環(huán)境要求</b><
74、;/p><p> 本系統(tǒng)在Window XP 系統(tǒng)上開發(fā)??梢浦驳蕉喾N平臺(tái)上運(yùn)行。是個(gè)跨平臺(tái)的軟件,只需要安裝jdk1.5以上版本 ,mysql5 數(shù)據(jù)庫(kù) tomcat 或者jboss 等jsp服務(wù)器。開發(fā)工具:MyEclipse 7.5 。系統(tǒng)GUI/LOGO輔助設(shè)計(jì)工具:photoshop CS5,dreamweaver CS5。</p><p> 服務(wù)器至少要雙核以上處理器,li
75、nux或者windows操作系統(tǒng)。安裝了JDK1.5版本以上,tomcat或者Jboss服務(wù)器。</p><p> 系統(tǒng)性能要求必須滿足同時(shí)在線的系統(tǒng)用戶至少能承受300人。300個(gè)在線用戶對(duì)圖紙的查找,下載,工藝卡的查找,下載等。</p><p><b> 第四章 概要設(shè)計(jì)</b></p><p><b> 4.1 架構(gòu)設(shè)計(jì)
76、</b></p><p> 本機(jī)械工藝圖紙管理系統(tǒng)采用B/S模式架構(gòu)。B/S是Brower/Server的縮寫,客戶機(jī)上只要安裝一個(gè)瀏覽器(Browser),如Netscape Navigator或Internet Explorer,服務(wù)器安裝Oracle、Sybase、Informix 、SQL Server或 MySQL等數(shù)據(jù)庫(kù)。瀏覽器通過(guò)Web Server 同數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)交互。</p
77、><p> 我們采用基于B/S結(jié)構(gòu)的三層應(yīng)用模型來(lái)實(shí)現(xiàn)機(jī)械工藝圖紙管理系統(tǒng)。目前,在Internet應(yīng)用體系結(jié)構(gòu)中,事物處理被劃分為3層,即Web Browser—Internet Server—Database Server。在這種體系結(jié)構(gòu)中,業(yè)務(wù)的表達(dá)通過(guò)簡(jiǎn)單的Web Browser來(lái)實(shí)現(xiàn),用戶通過(guò)Web Browser提交表單,把信息傳遞給Internet Server,Internet Server根據(jù)用戶
78、的請(qǐng)求,分析出要求數(shù)據(jù)庫(kù)服務(wù)器進(jìn)行的查詢,交給數(shù)據(jù)庫(kù)服務(wù)器去執(zhí)行,Database Server把查詢的結(jié)果反饋給Internet Server,在由Internet Server用標(biāo)準(zhǔn)的HTML語(yǔ)言反饋給Web Browser。</p><p> 三層應(yīng)用模型同傳統(tǒng)的C/S(Client/Server)模型相比,提高了系統(tǒng)的可擴(kuò)展性、安全性和可重用性。它將應(yīng)用邏輯與用戶界面和數(shù)據(jù)訪問(wèn)相剝離,這樣便使系統(tǒng)的維護(hù)
79、變得簡(jiǎn)單,同時(shí)可以通過(guò)采用組件技術(shù),降低數(shù)據(jù)庫(kù)服務(wù)器的負(fù)擔(dān),從而提高性能。</p><p> B/S技術(shù)成本較低,一般只需安裝、配備在服務(wù)器上。在客戶機(jī)上的工作較少,故降低了開發(fā)及管理成本。而C/S的應(yīng)用不論是安裝、配備還是升級(jí),都需要在所有的客戶機(jī)上實(shí)施。</p><p> B/S技術(shù)維護(hù)工作主要集中在服務(wù)器端,客戶端的維護(hù)工作量十分少。而C/S結(jié)構(gòu)中客戶機(jī)和服務(wù)器的維護(hù)工作量都較大
80、。Web Browser技術(shù)簡(jiǎn)明易用,一旦用戶掌握了Web Browser的用法,也就掌握了使用系統(tǒng)上各種信息資源的鑰匙。</p><p> 4.2 功能模塊設(shè)計(jì)</p><p> 為了實(shí)現(xiàn)機(jī)械圖紙和工藝卡的上傳,下載,保證機(jī)械圖紙和工藝卡的唯一性。根據(jù)需求分析,得出了該系統(tǒng)所需要實(shí)現(xiàn)的功能,系統(tǒng)功能模塊示意圖如圖4.1所示。主要有以下幾個(gè)功能模塊:</p><p&
81、gt; 1、用戶登錄,退出,注冊(cè)等功能;</p><p> 2、用戶信息管理功能,包括修改用戶密碼,是否將其設(shè)定為管理員,是否刪除該用戶,添加用戶等,查詢用戶等功能;</p><p> 3、用戶類別管理功能,包括添加新的用戶類別,修改用戶類別,刪除用戶類別等;</p><p> 4、消息通知的發(fā)布功能,用戶登錄系統(tǒng)后可以查看其他所有用戶發(fā)布的通知的功能,系統(tǒng)
82、管理員還具有對(duì)通知進(jìn)行刪除的功能,其他用戶只能刪除自己發(fā)布的通知的功能;</p><p> 5、權(quán)限管理功能功能,系統(tǒng)管理員可以動(dòng)態(tài)的修改用戶各個(gè)類別的權(quán)限的功能,包括添加新的權(quán)限,取消,查看某個(gè)類別的權(quán)限等功能;</p><p> 6、圖紙類別管理員功能。管理員,系統(tǒng)管理員可以增加機(jī)械圖紙類別信息,修改機(jī)械圖紙類別信息,刪除機(jī)械圖紙類別信息等;當(dāng)圖紙類別存在子目錄的時(shí)候不能進(jìn)行刪除操
83、作;</p><p> 7、機(jī)械圖紙管理功能,管理員,系統(tǒng)管理員可以增加機(jī)械圖紙信息,修改機(jī)械圖紙信息,刪除機(jī)械圖紙信息,上傳機(jī)械圖紙,下載機(jī)械圖紙等功能;</p><p> 8、機(jī)械工藝卡管理功能,管理員,系統(tǒng)管理員可以增加機(jī)械工藝卡信息,修改機(jī)械工藝卡信息,刪除機(jī)械工藝卡信息,上傳工藝卡,下載機(jī)械工藝卡等功能;</p><p> 圖4.1 機(jī)械工藝圖紙管
84、理系統(tǒng)功能模塊示意圖</p><p> 4.3 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)</p><p> 4.3.1 圖數(shù)據(jù)庫(kù)設(shè)計(jì)規(guī)范</p><p> 在概念設(shè)計(jì)中,通常用四種方法:</p><p> 自頂向下:首先定義全局概念結(jié)構(gòu)的框架,然后逐步細(xì)化;自底向上:首先定義各局部應(yīng)用的概念結(jié)構(gòu),然后將他們集成起來(lái),得到全局概念結(jié)構(gòu);逐步擴(kuò)張: 首先定義最核心的
85、概念結(jié)構(gòu),然后向外擴(kuò)充,直至總體概念結(jié)構(gòu);混合策略: 即自頂向下和自底向上相結(jié)合,用自頂向下策略設(shè)計(jì)一個(gè)全局概念。結(jié)構(gòu)的框架,以它為骨架集成由自底向上策略中設(shè)計(jì)的各局部概念結(jié)構(gòu)</p><p> 在物理結(jié)構(gòu)設(shè)計(jì)階段首先分兩步走:</p><p> 確定數(shù)據(jù)庫(kù)的物理結(jié)構(gòu),在關(guān)系數(shù)據(jù)庫(kù)中主要是指存取方法和存儲(chǔ)結(jié)構(gòu)。 對(duì)物理結(jié)構(gòu)的評(píng)價(jià)是時(shí)間和空間效率.</p><p>
86、; 選取正確的關(guān)系模式存取方法,常用的有:存取索引方法。聚簇存取。</p><p> HASH存取方法等。</p><p> 4.3.2 E-R關(guān)系圖設(shè)計(jì)</p><p> E-R完整實(shí)體圖如(圖4.2)</p><p> 圖4.2 E-R完整實(shí)體圖</p><p> 4.3.3 E-R圖補(bǔ)充</p
87、><p> 信息實(shí)體,主要屬性有:ID、消息標(biāo)題、消息內(nèi)容、消息發(fā)布人ID、修改時(shí)間、發(fā)布時(shí)間。實(shí)體圖如(圖4.3)</p><p><b> 圖4.3信息實(shí)體</b></p><p> 圖紙類別實(shí)體,主要屬性有:類別ID、類別名稱;類別描述。實(shí)體圖如(圖4.4)</p><p> 圖4.4圖紙類別實(shí)體</p&
88、gt;<p> 圖紙信息實(shí)體,主要屬性有:圖紙ID、圖紙?jiān)O(shè)計(jì)者、修改時(shí)間、圖紙類別ID、圖紙編號(hào)、圖紙名、排序、圖紙描述、圖紙路徑。實(shí)體圖如(圖4.5)</p><p> 圖4.5圖紙信息實(shí)體</p><p> 工藝卡實(shí)體,如圖4.6工藝卡實(shí)體圖,主要屬性有:工藝卡ID、產(chǎn)品型號(hào)、產(chǎn)品名稱、工藝卡類別、工藝類別、零件號(hào)、零件名稱、總頁(yè)數(shù)、頁(yè)序號(hào)、存儲(chǔ)路徑、工藝卡描述、材
89、料牌號(hào)。</p><p><b> 圖4.6工藝卡實(shí)體</b></p><p> 權(quán)限控制實(shí)體,主要屬性:ID、控制路徑、角色I(xiàn)D、角色描述。實(shí)體圖如圖4.7所示。</p><p><b> 圖4.7</b></p><p> 角色實(shí)體,主要屬性有:ID、角色名、角色描述。實(shí)體圖如(圖4.8
90、)</p><p> 圖4.8權(quán)限控制實(shí)體</p><p> 用戶信息實(shí)體,主要屬性有:用戶ID、年齡、工號(hào)、登陸密碼、職位、等級(jí)、真實(shí)姓名、登陸名、角色I(xiàn)D 。實(shí)體圖如(圖4.9)</p><p> 圖4.9用戶信息實(shí)體</p><p> 4.3.3 數(shù)據(jù)庫(kù)表設(shè)計(jì)</p><p> Infotable 用
91、來(lái)存儲(chǔ)信息的表。</p><p> Infotable 表</p><p> Mapcatetable表 用來(lái)存儲(chǔ)工藝圖紙類別的表圖紙類別的表。</p><p> mapCatetable 表</p><p> mapinfotable 表用來(lái)存儲(chǔ)工藝圖紙信息的表。</p><p> mapinfotable
92、 表</p><p> opercardtable表用來(lái)存儲(chǔ)工藝卡的表。</p><p> opercardtable表</p><p> Permissiontable 表 用來(lái)存儲(chǔ)權(quán)限的表。</p><p> Permissiontable表</p><p> Roletable表,用來(lái)存儲(chǔ)角信息的表。&
93、lt;/p><p> Roletable表</p><p> Usertable表,用來(lái)存儲(chǔ)用戶信息的表。</p><p> Usertable表</p><p><b> 第五章 詳細(xì)設(shè)計(jì)</b></p><p><b> 5.1 系統(tǒng)配置</b></p>
94、;<p> 5.1.1 應(yīng)用層配置</p><p> 本機(jī)械工藝圖紙管理系統(tǒng)采用目前流行的Struts2框架進(jìn)行開發(fā)。先來(lái)看看Struts2框架是如何配置到應(yīng)用程序中的。</p><p> 在WEB-INF/web.xml文件的配置如下:</p><p><b> <filter></b></p>
95、<p> <filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></p><p> </filter><!-- stru
96、ts2.1.8的過(guò)濾器配置文件 --></p><p> <filter-mapping></p><p> <filter-name>struts2</filter-name></p><p> <url-pattern>/*</url-pattern></p><p>
97、; </filter-mapping><!-- struts2.1.8過(guò)濾器的映射 --></p><p> 當(dāng)加入這個(gè)配置到web.xml文件之后,在瀏覽器中敲入的訪系統(tǒng)的所有請(qǐng)求路徑都會(huì)經(jīng)過(guò)org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter這個(gè)filter進(jìn)行過(guò)濾。由這個(gè)過(guò)濾器進(jìn)行轉(zhuǎn)發(fā)相應(yīng)的請(qǐng)求
98、,進(jìn)入Struts2的工作流程中。這就是算是把Struts2框架配置到程序中了。</p><p> 在WebRoot\WEB-INF\classes\struts.xml文件中的配置如下:</p><p> <constant name="struts.devMode" value="true"/></p><p&
99、gt; <constant name="struts.ognl.allowStaticMethodAccess" value="true"/></p><p> <constant name="struts.multipart.maxSize" value="20971520"></constant&
100、gt;</p><p> <package name="struts-access" extends="struts-default"></p><p> <interceptors></p><p> <interceptor name="access" </p
101、><p> class="com.tianepump.interceptors.AccessInterceptor"></p><p> </interceptor></p><p> <interceptor-stack name="permissionStack"></p>&
102、lt;p> <interceptor-ref name="defaultStack"/></p><p> <interceptor-ref name="access" /></p><p> </interceptor-stack></p><p> </interce
103、ptors></p><p> <default-interceptor-ref name="permissionStack"/></p><p> <global-results></p><p> <result name="error">/error.jsp</res
104、ult></p><p> <result name="login">/login.jsp</result></p><p> </global-results></p><p> <action name="index"></p><p>
105、 <result>/WEB-INF/index.jsp</result></p><p><b> </action></b></p><p> </package></p><p> <include file="user.xml"/></p>
106、<p> <include file="role.xml"/></p><p> <include file="opercard.xml"/></p><p> <include file="map.xml"/></p><p> <includ
107、e file="info.xml"/></p><p> <include file="permission.xml"/></p><p> <include file="download.xml"/></p><p> 其中struts.devMode配置開發(fā)模式常量,
108、值為true,說(shuō)明是開發(fā)模式,當(dāng)為true時(shí),在開發(fā)的過(guò)程中,一旦修改某個(gè)文件會(huì)自動(dòng)的編譯到tomcat的目錄下的。不必手工編譯。方便開發(fā)的工作;struts.multipart.maxSize常量用來(lái)配置控制上傳文件的大小的,單位是byte; <package name="struts-access" extends="struts-default">配置權(quán)限控制訪問(wèn)包,但請(qǐng)求訪問(wèn)
109、需要需要受權(quán)限控制時(shí)繼承個(gè)包就可以了,就會(huì)經(jīng)過(guò)這個(gè)自定義攔截器;<include file="xx.xml"/>引入其他配置文件,為了防止配置文件的臃腫,一般都把每個(gè)模塊寫的配置信息寫到一個(gè)獨(dú)立的xml文件中,方便團(tuán)隊(duì)開發(fā)過(guò)程中修改。</p><p> 在其他配置文件中配置了各個(gè)請(qǐng)求的訪問(wèn)路徑及對(duì)用的處理控制器(Action)。下面是WebRoot\WEB-INF\classes
110、\mapinfo.xml文件的配置情況:</p><p> <!-- mapInfo 配置部分 --></p><p> <package name="mapInfo" extends="struts-access" namespace="/"></p><p> <gl
111、obal-results></p><p> <result name="input">/WEB-INF/mapInfo/list.jsp</result></p><p> </global-results></p><p> <action name="mapInfo_list&
112、quot; class="com.tianepump.action.MapInfoAction" method="list"></p><p> <interceptor-ref name="defaultStack" /></p><p> <result>/WEB-INF/mapInfo/li
113、st.jsp</result></p><p><b> </action></b></p><p> <action name="mapInfo_check" class="com.tianepump.action.MapInfoAction" method="check"
114、></p><p> <interceptor-ref name="defaultStack" /></p><p><b> </action></b></p><p> <action name="mapInfo_addTo" class="com.
115、tianepump.action.MapInfoAction" method="toAdd"></p><p> <result>/WEB-INF/mapInfo/toAdd.jsp</result></p><p><b> </action></b></p><p>
116、; <action name="mapInfo_adding" class="com.tianepump.action.MapInfoAction" method="adding"></p><p> <result type="chain">mapInfo_list</result></
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)本科畢業(yè)論文(設(shè)計(jì))
- 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)本科畢業(yè)論文
- 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)本科畢業(yè)論文小區(qū)物業(yè)管理系統(tǒng)
- 計(jì)算機(jī)專業(yè)本科畢業(yè)論文
- 計(jì)算機(jī)專業(yè)本科畢業(yè)論文
- 計(jì)算機(jī)專業(yè)本科畢業(yè)論文
- 計(jì)算機(jī)專業(yè)本科畢業(yè)論文(招聘管理系統(tǒng))
- 計(jì)算機(jī)專業(yè)本科畢業(yè)論文-- 網(wǎng)上商城系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)本科生畢業(yè)論文(設(shè)計(jì))
- 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)本科生畢業(yè)論文
- 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)本科生畢業(yè)論文
- 畢業(yè)設(shè)計(jì)(論文)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)本科畢業(yè)設(shè)計(jì)(論文)大綱
- 計(jì)算機(jī)專業(yè)本科畢業(yè)論文--網(wǎng)上珠寶店的設(shè)計(jì)與實(shí)現(xiàn)
- 河南科技學(xué)院2011屆計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)本科畢業(yè)論文(設(shè)計(jì))
- 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)本科
- 遼寧石油化工大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)本科畢業(yè)論文
- 廈門大學(xué)計(jì)算機(jī)專業(yè)本科畢業(yè)論文
- 計(jì)算機(jī)與信息學(xué)院信計(jì)專業(yè)本科畢業(yè)論文(設(shè)計(jì))
- 計(jì)算機(jī)專業(yè)本科畢業(yè)論文--基于web的招聘管理系統(tǒng)開發(fā)
- 計(jì)算機(jī)科學(xué)與技術(shù)本科畢業(yè)(設(shè)計(jì))論文房產(chǎn)中介管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
評(píng)論
0/150
提交評(píng)論