

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、<p> 校內(nèi)教學資源共享平臺——前端設計與實現(xiàn)</p><p><b> 摘 要</b></p><p> 我校課程資料的管理一直都是基于BB平臺的,但是由于BB平臺是一個綜合性的教務管理系統(tǒng),所以對資源的管理并沒有做的非常細致,只能完成一些上傳下載課件、文檔等功能。無法實現(xiàn)資源的共享。顯然一個讓所有人都能上傳資源并能分享別人的學習資源的共享平
2、臺是非常必要的。</p><p> 資源共享平臺是是一個允許所有登錄后的用戶上傳資源,下載資源的共享平臺,同時系統(tǒng)圍繞課程實現(xiàn)了很多相關功能,用戶之間點對點的發(fā)送站內(nèi)信,老師發(fā)布課程公告,用戶對資源進行評論等功能。</p><p> 本系統(tǒng)是一個基于SSH的課程資源管理的平臺。開發(fā)的工具為MyEclipse,版本控制使用CVS,開發(fā)語言為JAVA,數(shù)據(jù)庫為Oracle11g。系統(tǒng)默認分
3、配了四個用戶組,分別為超級管理員、管理員、老師、學生。用戶可根據(jù)自己所屬的用戶組的權(quán)限對平臺上的課程資源進行相關的操作。</p><p> 關鍵詞:資源共享;文件下載;SSH;JQuery;Oracle11g;前端性能優(yōu)化 </p><p> Design and Implementation of Frontend for School Resource Sharing Platfo
4、rm</p><p><b> ABSTRACT</b></p><p> The management of our college course's resources is based on BB platform, but because BB platform is a synthetical system, the management of
5、course's resourses is not meticulous. It can only upload some simple coursewares, documents and so on. It can not share the resources. Obviously, a system that can make all users upload resources and download resoure
6、s which uploaded by others is necessary.</p><p> The resource sharing platform is a system that allow all users who have already logon upload and download files. The system has some other functions about co
7、urse, user senting letter to other users who logon this platform, teacher issuing bulletin, user commenting resource, etc.</p><p> This system's design and implemention are based on SSH. The IDE is My E
8、clipse.the version control tool is CVS, development language is JAVA and database is Oracle1g.The system has four defult user groups, they are supper-manager, normal-manager, teacher and student. Every user groups all ha
9、ve their own authority, the user's authority is based on the user group which they belongs to.</p><p> Key words:resource Share; file download; SSH;JQuery; Oracle11g; frontend optimiztion;</p>&l
10、t;p><b> 目錄</b></p><p><b> 摘 要2</b></p><p> Abstract3</p><p><b> 1 緒論6</b></p><p> 1.1平臺設計來源及研究意義6</p><p>
11、; 1.2模塊設計的內(nèi)容6</p><p> 1.3平臺設計要達到的目標7</p><p><b> 2 模塊分析8</b></p><p> 2.1模塊需求分析8</p><p> 2.2開發(fā)技術路線9</p><p> 2.2.1平臺技術概述9</p>&
12、lt;p> 2.2.2前端技術概述9</p><p> 2.2.3后端技術概述12</p><p> 2.3可行性分析13</p><p> 3 模塊概要設計15</p><p> 3.1模塊功能總體設計15</p><p> 3.2模塊流程分析15</p><p>
13、; 3.2.1整體的流程分析15</p><p> 3.2.2各用戶流程分析17</p><p> 3.3數(shù)據(jù)庫概要設計20</p><p> 4 模塊詳細設計21</p><p> 4.1模塊功能詳細設計21</p><p> 4.1.1公告模塊21</p><p>
14、 4.1.2課程資源模塊21</p><p> 4.1.3留言模塊21</p><p> 4.1.4站內(nèi)信模塊21</p><p> 4.2系統(tǒng)主要界面詳細設計21</p><p> 4.3數(shù)據(jù)庫詳細設計27</p><p> 5 編碼調(diào)試與測試分析35</p><p>
15、 5.1設計實現(xiàn)中的問題35</p><p> 5.2調(diào)試測試中的問題35</p><p><b> 心得與體會38</b></p><p><b> 參考文獻39</b></p><p><b> 謝辭40</b></p><p>&
16、lt;b> 1 緒論</b></p><p> 1.1平臺設計來源及研究意義</p><p> 設計資源共享平臺的時候,是以學習資源(電子書類、音頻類、視頻類、軟件類)的共享為切入點。滿足學生之間的資源共享的需求。學生們每個人手里都會有一些資源,但是如果能降這些資源進行整合,并且共享起來,那么所有同學都將受益匪淺,本系統(tǒng)就是本著為同學提供高效的共享平臺而開發(fā)的。&l
17、t;/p><p> 系統(tǒng)以課程為單位,進行圍繞課程的資源共享。同學們在尋找自己需要的資源的時候都是以課程為單位的,這樣又能滿足老師的教學需求。老師可以在自己的課程下面添加資源,同時也可以發(fā)布一些課程的公告。還可以進行點對點的站內(nèi)信,可以說將資源的共享進行了細化。而且同學也可以進行資源的共享。但是我們已經(jīng)有了一個BB平臺,那你們做的那個資源共享平臺還有意義嗎?是很有意義。BB平臺這種開放式的環(huán)境及對行業(yè)標準的適應性與
18、協(xié)同性,為的是能夠幫助教育機構(gòu)實現(xiàn)互聯(lián)互動的教學環(huán)境。而在我們學校師生對BB平臺的使用情況大家都有目共睹,大部分的學生經(jīng)常使用BB平臺看一些老師發(fā)布的公告、老師的個人信息、課程的簡介信息、下載一些相關課程的學習資料、將完成的作業(yè)上傳到數(shù)字收發(fā)箱,而實際情況是很多學生都不是積極主動的使用BB平臺;大部分的老師經(jīng)常使用BB平臺發(fā)布一些公告,上傳課程的簡介信息和要求以及課程相關的學習資料、查閱學生上傳的作業(yè),而可能是學校網(wǎng)絡環(huán)境的問題,老師反
19、映說有時上傳的資料會出現(xiàn)問題。BB系統(tǒng)的確強大,但是好多功能其實已經(jīng)幾乎都不在使用了,而且和本校開發(fā)的其他平臺整合的時候會比較困難,所以我們進行了這個平臺的開發(fā),</p><p> 1.2模塊設計的內(nèi)容</p><p> 凡是注冊成功的用戶登錄到該平臺后,都能夠根據(jù)自己所屬用戶組的權(quán)限對平臺上的系統(tǒng)公告、課程公告、課程資源、站內(nèi)信、留言、用戶、用戶組等內(nèi)容進行合法的操作(增、刪、改、查
20、)。</p><p> 1.3平臺設計要達到的目標</p><p> 我們的目標就是希望通過大家的努力,能夠讓我們的這個資源共享平臺成為一個以課程為中心,圍繞課程的一個共享平臺。在學校中實用和適用的平臺,主要是面向全校的老師和學生,使其能夠在自身受益的同時,還可以通過相互的交流使更多人受益。但是我們能夠清楚地認識到要想達到這個目標會遇到很多困難,不論是在開發(fā)、測試過程中,以及后期的性能
21、優(yōu)化、管理與維護階段,肯定會遇到很多技術上難題。</p><p><b> 2 模塊分析</b></p><p><b> 2.1模塊需求分析</b></p><p> 目前平臺默認有四個用戶組,分別為:超級管理員組、管理員組、老師組、學生組。凡是注冊成功的用戶登錄到該平臺后,都能夠根據(jù)自己所屬用戶組的權(quán)限對平臺上的
22、系統(tǒng)公告、課程公告、課程資源、站內(nèi)信、留言、用戶、用戶組等內(nèi)容進行合法的操作(增、刪、改、查)。</p><p> 目前平臺默認有39個操作,分別為:添加一個行為、刪除一個行為、更改用戶組行為、添加用戶組、刪除用戶組、更換用戶分組、更改用戶信息、添加新用戶到普通用戶、刪除用戶、添加系統(tǒng)公告、更改系統(tǒng)公告、刪除系統(tǒng)公告、添加任意班級公告、更改任意班級公告、刪除任意班級公告、添加所屬班級公告、更改所屬班級公告、刪除
23、所屬班級公告、添加留言、更改留言信息、刪除所屬留言、刪除所有課程資源留言、編輯所有資源專輯、刪除所有資源專輯、編輯自己資源專輯、刪除資源專輯、發(fā)送站內(nèi)信、刪除所有站內(nèi)信、刪除自己所收站內(nèi)信、上傳資源無限制、上傳資源2G限制、上傳資源1G限制、上傳資源500M限制、上傳資源200M限制、上傳資源100M限制、上傳資源50M限制、上傳資源30M限制、上傳資源20M限制、上傳資源10M限制。</p><p> 這些操
24、作將會合理的分配給各個用戶組,當用戶進行相應的操作之前,都會對該用戶所屬的用戶組的權(quán)限進行檢測,確認其所擁有的權(quán)限并進行相關的操作,一下為各用戶組的所持有的相關權(quán)限。</p><p> 超級管理員:查看、發(fā)布、修改、刪除系統(tǒng)公告;查看、發(fā)布、修改、刪除課程公告;查看、上傳、下載、刪除課程資源,上傳資源大小限制;查看、發(fā)送、刪除站內(nèi)信;查看、發(fā)送、刪除留言;查看、創(chuàng)建、修改、刪除用戶信息;查看、創(chuàng)建、修改、刪除用
25、戶組信息,添加、修改、分配用戶權(quán)限。(如圖3.3所示)</p><p> 管理員:查看、發(fā)布、修改、刪除系統(tǒng)公告;查看、發(fā)布、修改、刪除課程公告;查看、上傳、下載、刪除課程資源,上傳資源大小限制;查看、發(fā)送、刪除站內(nèi)信;查看、發(fā)送、刪除留言;查看、修改個人基本信息,查看相關師生基本信息;查看所屬用戶組的基本信息。</p><p> 老師:查看系統(tǒng)公告;查看課程公告;查看、上傳、下載課程
26、資源;查看、發(fā)送、刪除站內(nèi)信;查看、發(fā)送、刪除留言;查看、修改個人基本信息,查看相關學生基本信息;查看所屬用戶組的基本信息。</p><p> 學生:查看系統(tǒng)公告;查看課程公告;查看、上傳、下載課程資源;查看、發(fā)送、刪除站內(nèi)信;查看、發(fā)送、刪除留言;查看、修改個人基本信息;查看所屬用戶組的基本信息。</p><p><b> 2.2開發(fā)技術路線</b></p
27、><p> 2.2.1平臺技術概述</p><p> 后端整合Struts2、Spring2、Hibernate3框架開發(fā)多層架構(gòu)的JavaEE應用。</p><p> 前端開發(fā)腳本方面使用JQuery框架為基礎開發(fā)庫,布局應用CSS。</p><p> 數(shù)據(jù)庫開發(fā)使用Oracle11g。</p><p> 文件
28、上傳方面的通信協(xié)議主要通過HTTP、Flex內(nèi)置協(xié)議、自定義協(xié)議三種方式實現(xiàn)。</p><p> 服務器環(huán)境為Linux(SUSE)操作系統(tǒng)。</p><p> 開發(fā)環(huán)境為Window操作系統(tǒng)。</p><p> 服務器使用Tomcat服務器。</p><p> 開發(fā)工具:MyEclipse。</p><p>
29、 版本管理工具:CVS。</p><p> 2.2.2前端技術概述</p><p> 前端頁面基于HTML4.0.1,CSS1.0的960柵格化進行設計,頁面腳本架構(gòu)基于jQuery進行開發(fā)。其中大量是用同源下的Ajax進行交互來增強用戶體驗。文件上傳部分有部分功能基于Flex進行開發(fā)。其中大量使用了前端優(yōu)化策略。對Ajax請求進行相應的安全優(yōu)化。</p><p&
30、gt; (1) 柵格系統(tǒng)的設計原理及應用</p><p> 圖2.1柵格計算示意圖</p><p> 在網(wǎng)頁設計中,我們把寬度為“W”的頁面分割成n個網(wǎng)格單元“a”,每個單元與單元之間的間隙設為“i”,此時我們把“a+i”定義“A”。他們之間的關系如下:W =(a×n)+(n-1)i由于a+i=A,可得:(A×n) - i = W</p>&
31、lt;p> 如以上原理,在本站的設計中,采用了類似如下960柵格設計:</p><p> 圖2.2柵格化明細示意圖</p><p> (2) 前端優(yōu)化方案描述:</p><p> 減少HTTP請求,使用expires頭</p><p> 采用gzip壓縮組件</p><p><b> 將樣
32、式表放在頂部</b></p><p><b> 將腳本放在底部</b></p><p> 禁止使用CSS表達式,簡化css選擇符</p><p> 盡量使用外部的JavaScript和CSS</p><p> 精簡JavaScript代碼</p><p><b>
33、盡量不適用重定向</b></p><p> 對JavaScript進行并行加載,對JavaScript使用預加載</p><p> 進行圖片的優(yōu)化,合理的合并圖層</p><p> (3) JQuery是一個前端的框架,其是由javascript編寫而成的,其中提供了很多的內(nèi)置方法方便前端腳本的編寫。而且之中內(nèi)置了很多前端方面的性能優(yōu)化,是的響應的
34、減少了由于導入腳本庫增加頁面首次載入的下載量導致的頁面的渲染速度問題。</p><p> Flex是一種基于瀏覽器插件的技術,也就是說瀏覽器必須安裝了adobe的flashplayer插件才能播放。也正因如此,它是夸平臺的,不會因為瀏覽器對頁面的解析不同而顯示出不同的效果。本系統(tǒng)使用Flex主要是因為HTTP不能滿足上傳中大型文件的需求,如果用戶有一個需求是這樣的:想上傳一個較大的文件,但是又不想安裝客戶端,而
35、傳統(tǒng)的HTTP方式又不可以實現(xiàn),這是就要用到Flex上傳。Flex方式可以上傳300M一下的文件。</p><p> 2.2.3后端技術概述</p><p> Struts2的簡單處理流程如下:</p><p><b> 瀏覽器發(fā)送請求;</b></p><p> 中心處理器根據(jù)struts .xml配置文件查找
36、對應的處理請求的 Action類;</p><p> Struts2的攔截器鏈自動對請求應用通用功能,例如:WorkFlow、Validation等功能;</p><p> 如果struts .xml配置文件中配置了method參數(shù),則調(diào)用 method參數(shù)對應的Action類中的method方法,否則調(diào)用通用的execute方法來處理用戶請求;</p><p>
37、; 將Action類中的對應方法返回的結(jié)果響應給瀏覽器。</p><p> Spring的核心是IOC(控制反轉(zhuǎn))和AOP(面向切面編程),IOC是用來管理所有的業(yè)務對象,當你需要一個對象的時候它會幫你自動的通過Java的反射機制來創(chuàng)建,而不是通過以前傳統(tǒng)的new的方式;AOP是允許在調(diào)用的方法前后附加另外的行為,可以為某一類對象進行監(jiān)督和控制,從而達到對一個模塊擴充的功能,這些都是通過配置類達到的。Spri
38、ng目的:就是讓對象與對象(模塊與模塊)之間的關系不通過代碼來關聯(lián),都是通過配置類說明進行管理(Spring根據(jù)這些配置,內(nèi)部通過Java的反射機制動態(tài)的組裝對象),Spring的哲學是在不影響Java對象的設計的情況下將Java對象加入到框架中。</p><p> Hibernate是一個開源的對象關系映射框架,它對JDBC進行了輕量級的對象封裝,對 Java類和關系數(shù)據(jù)庫進行mapping,使得Java程序
39、員可以隨心所欲的使用面向?qū)ο缶幊趟季S來操縱數(shù)據(jù)庫。Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應用中使用,Hibernate還可以在應用EJB的JavaEE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。</p><p><b> 2.3可行性分析</b></p><p> Linux+Tom
40、cat作為服務器環(huán)境是非常實用的,Tomcat雖然不像Apache那樣的高效,但是由于其內(nèi)部沒有jsp的環(huán)境,所以如果使用apache的話還要將Tomcat集成到Apache上,導致中間的轉(zhuǎn)換,而且在內(nèi)網(wǎng)的環(huán)境下,使用過于復雜的服務器環(huán)境沒有意義,所以我們最終選擇了僅適用Tomcat作為服務器。</p><p> JQuery庫的主要優(yōu)點是方便開發(fā),但是同時也會出現(xiàn)一個問題,就是在第一次載入JQuery的時候會
41、給頁面多帶來300K的開銷,會稍微減慢了頁面的加載速度,但是這些開銷其實是可以忽略的,因為即便是在外網(wǎng)中使用jquery庫也不會對頁面帶來太多的影響,何況是本系統(tǒng)主要是服務于內(nèi)網(wǎng)用戶,而且當用戶載入一次JQuey庫之后就會在用戶的電腦中形成瀏覽器緩存,在下次再使用的時候瀏覽器會自動的去取緩存里面的js文件,也就是說即便是對前端的性能有了一定的影響也只是影響了用戶第一次訪問本站的時候。而帶來的好處是很大的,首先是提高了開發(fā)效率,其次是其包
42、含了很多優(yōu)化好的方法,可以大大增強代碼的執(zhí)行效率。</p><p> Flex的跨平臺性很好,其缺點也是在第一次加載的時候需要加載一個SWF文件,這個文件相對較大。但是同樣這個在內(nèi)網(wǎng)可以忽略不計,而且會形成瀏覽器緩存。同時帶來的很多優(yōu)點就是Flex帶來的用戶體驗非常好,同時滿足了上傳中大型文件的需求。</p><p> Struts2是一個MVC框架,主要用于將交互系統(tǒng)分解成模型(Mo
43、del)、視圖(View)、控制器(Controller)三個部分,這三個部分以最小的耦合協(xié)同工作,以增加程序的可擴展性和可維護性。</p><p> 概括起來MVC框架的優(yōu)點主要有以下方面:</p><p> 多個視圖可以對應一個模型。按MVC設計模式,一個模型對應多個視圖,可以減少重復性代碼以及代碼的維護量,一旦模型發(fā)生改變,也易于維護;</p><p>
44、 模型返回的數(shù)據(jù)與顯示邏輯分離。模型數(shù)據(jù)可以應用任何的顯示技術,例如,使用JSP頁面、Velocity模板或者直接產(chǎn)生Excel文檔等;</p><p> 應用被分隔為三層,降低了各層之間的耦合,提供了應用的可擴展性;</p><p> 控制層的概念也很有效,由于它把不同的模型和不同的視圖組合在一起,完成不同的請求。因此,控制層可以說是包含了用戶請求權(quán)限的概念;</p>
45、<p> MVC更符合軟件工程化管理的精神。不同的層各司其職,每一層的組件具有相同的特征,有利于通過工程化和工具化產(chǎn)生管理程序代碼。</p><p> Spring既是一個IOC容器,也是一個AOP框架。Spring 最好的地方是它有助于開發(fā)人員替換對象,有了Spring只要用JavaBean屬性和配置文件加入依賴性(協(xié)作對象)。然后</p><p> 可以很容易地在需要時
46、替換具有類似接口的協(xié)作對象。</p><p> IOC 允許創(chuàng)建一個可以構(gòu)造對象的應用環(huán)境,在代碼中不直接與對象和服務連接,但在配置文件中描述哪一個組件需要哪一項服務,IOC容器負責將這些聯(lián)系在一起。在典型的 IOC 應用中,IOC容器創(chuàng)建所有對象,并設置必要的屬性將它們連接在一起,決定什么時間調(diào)用方法。</p><p> AOP 讓開發(fā)人員可以創(chuàng)建非行為性的關注點,稱為橫切關注點,并
47、將它們插入到應用程序代碼中。使用 AOP后,公共服務(比如日志、持久性、事務等)就可以分解成方面并應用到域?qū)ο笊?,同時不會增加域?qū)ο蟮膶ο竽P偷膹碗s性。AOP 的功能完全集成到了 Spring 事務管理、日志和其他各種特性的上下文中。</p><p> Hibernate主要用于數(shù)據(jù)庫的持久化(將普通Java對象映射到數(shù)據(jù)庫中的關系實體)。優(yōu)點主要有以下方面:</p><p> 對JD
48、BC訪問數(shù)據(jù)庫的代碼做了封裝,大大簡化了數(shù)據(jù)訪問層繁瑣的重復性代碼;</p><p> Hibernate是一個基于JDBC的主流持久化框架,是一個優(yōu)秀的ORM實現(xiàn)。他很大程度的簡化了DAO層的編碼工作;</p><p> Hibernate使用Java反射機制,而不是字節(jié)碼增強程序來實現(xiàn)透明性;</p><p> Hibernate的性能非常好,因為它是個輕
49、量級框架,映射的靈活性很出色。它支持各種關系數(shù)據(jù)庫,從一對一到多對多的各種復雜關系。</p><p><b> 3 模塊概要設計</b></p><p> 3.1模塊功能總體設計</p><p> 系統(tǒng)分為7個模塊(如圖3.1所示)</p><p> 圖3.1功能模塊圖</p><p>
50、 頁面的整體風格如下:</p><p> 圖3.2頁面整體風格圖</p><p><b> 3.2模塊流程分析</b></p><p> 3.2.1整體的流程分析</p><p> 凡是注冊成功的用戶登錄該平臺時,首先進行登錄檢測,主要是驗證用戶輸入的用戶名和密碼是否正確。若驗證成功,再對用戶所屬的用戶組進行
51、檢測,從而進入相應用戶組的操作界面;若驗證失敗,用戶需要重新進行登錄(如圖3.2所示)。</p><p> 圖3.3進入主程序區(qū)之前的流程圖</p><p><b> 權(quán)限檢驗流程:</b></p><p> 圖3.4權(quán)限檢測的流程圖</p><p> 默認分配的每個用戶組擁有不同的權(quán)限(如圖3.5所示):&
52、lt;/p><p> 圖3.5系統(tǒng)用例圖</p><p> 3.2.2各用戶流程分析</p><p> 進入相應用戶組的操作界面后,根據(jù)該用戶組所擁有的合法權(quán)限進行相應的操作。以下分別是超級管理員(如圖3.3所示)、管理員(如圖3.4所示)、老師(如圖3.5所示)、學生(如圖3.6所示)所能夠進行的合法操作的流程圖。</p><p>
53、圖3.6超級管理員的流程圖</p><p> 圖3.7管理員的流程圖</p><p> 圖3.8老師的流程圖</p><p> 圖3.9學生的流程圖</p><p> 3.3數(shù)據(jù)庫概要設計</p><p> 根據(jù)模塊的需求分析設計的E-R圖中包括17個實體,包括:用戶、老師、學生、用戶組、行為、行為專
54、欄、系統(tǒng)公告、課程公告、留言、站內(nèi)信、班級、專業(yè)、學院、課程、專輯、專輯文件、專輯標簽。實體之間的關系如圖3.10所示。</p><p> 圖3.10E-R圖</p><p><b> 4 模塊詳細設計</b></p><p> 4.1模塊功能詳細設計</p><p><b> 4.1.1公告模塊&l
55、t;/b></p><p> 用戶可以發(fā)布公告,管理員可以發(fā)布系統(tǒng)公告,而教師可以發(fā)布課程公告,學生不可以發(fā)布公告,超級管理員擁有所有權(quán)限。經(jīng)過權(quán)限的檢驗之后進入公告的主程序區(qū)。所有用戶在登錄之后都會看到系統(tǒng)公告,而所屬課程用戶會看到相應的課程公告。</p><p> 4.1.2課程資源模塊</p><p> 所有人都可以上傳資源到某個課程下,進入頁面之
56、后會有一個建議的上傳接口,這里是應用HTTP協(xié)議上傳的,也就是說只支持50M一下的文件上傳,當點入之后會彈出一個用Flex應用寫成頁面,這里支持300M一下文件的上傳。如果還不能滿足用戶的需求,那么用戶可以下載客戶端來進行大文件的上傳。每一個文件都所屬一個專輯,而專輯是屬于某一個課程的。管理員有刪除專輯的權(quán)限,教師也有刪除專輯的權(quán)限。</p><p><b> 4.1.3留言模塊</b>&
57、lt;/p><p> 用戶可以某個資源留言,也可以回復這個資源的某個用戶的留言,可以刪除自己發(fā)過的留言,管理員可以刪除留言,留言不可以進行編輯。</p><p> 4.1.4站內(nèi)信模塊</p><p> 用戶可以點對點的發(fā)送站內(nèi)信,站內(nèi)信和某個用戶關聯(lián),用戶如果對方的學號的話就可以直接發(fā)送站內(nèi)信,如果不知道對方的學號則可以選擇所有和自己同一個課程的同學發(fā)送站內(nèi)信。
58、自己可以刪除自己發(fā)送的站內(nèi)信,管理員可以刪除站內(nèi)信。站內(nèi)信無法進行編輯。</p><p> 4.2系統(tǒng)主要界面詳細設計</p><p> 前端的主要風格都是參照了Google的主題頁面來進行設計的,每個功能集成于一個小的功能塊,而整個頁面是幾個功能塊的集合。</p><p> 圖4.1超級管理員主頁面</p><p> 圖4.2最
59、新課程資源頁面</p><p> 圖4.3 課程資源上傳頁面</p><p> 圖4.4課程資源列表界面</p><p> 圖4.5某一課程資源專輯列表界面</p><p> 圖4.6超級管理員編輯課程資源界面</p><p> 圖4.7用戶管理界面</p><p> 圖4.
60、8管理系統(tǒng)公告頁面</p><p> 圖4.9添加系統(tǒng)公告頁面</p><p> 圖4.10發(fā)送站內(nèi)信頁面</p><p> 圖4.11管理員主頁面</p><p> 圖4.12老師和學生主頁面</p><p> 4.3數(shù)據(jù)庫詳細設計</p><p> 數(shù)據(jù)庫中有19張表,
61、包括:學院表、專業(yè)表、班級表、課程表、老師表、學生表、課程—基本用戶映射表、行為專欄表、行為表、用戶組表、用戶—行為映射表、基本用戶表、系統(tǒng)公告表、課程公告表、留言表、站內(nèi)信表、專輯表、專輯文件表、專輯標簽表(如表4.1~4.19所示)</p><p> 表4.1學院表(academe)</p><p> 表4.2專業(yè)表(major)</p><p> 表
62、4.3班級表(class)</p><p> 表4.4課程表(course)</p><p> 表4.5老師表(teacher)</p><p> 表4.6學生表(student)</p><p> 表4.7課程—基本用戶映射表(course_user)</p><p> 表4.8行為專欄表(su
63、bject_actioncolumn)</p><p> 表4.9行為表(subject_action)</p><p> 表4.10用戶組表(subject_group)</p><p> 表4.11用戶組—行為映射表(subject_group_action)</p><p> 表4.12基本用戶表(subject_use
64、r)</p><p> 表4.13系統(tǒng)公告表(subject_system_bulletin)</p><p> 表4.14課程公告表(subject_course_bulletin)</p><p> 表4.15留言表(subject_message)</p><p> 表4.16站內(nèi)信表(subject_letter)&l
65、t;/p><p> 表4.17專輯表(subject_resource_album)</p><p> 表4.18專輯文件表(subject_resource_file)</p><p> 表4.19專輯標簽表(subject_resource_tag)</p><p> 5 編碼調(diào)試與測試分析</p><p&g
66、t; 5.1設計實現(xiàn)中的問題</p><p> JavaScript的內(nèi)存泄露問題,IE使用的GC算法是計數(shù)器,因此只碰到循環(huán) 引用就會造成memory leakage。后來一直覺得和觀察到的現(xiàn)象很不一致,直到看到Eric的文章,才明白犀牛書的說法沒有說得很明確,估計該書成文后IE升級過算法吧。在IE 6中,對于javascript object內(nèi)部,jscript使用的是mark-and-sweep算法,而
67、對于javascript object與外部object(包括native object和vbscript object等等)的引用時,IE 6使用的才是計數(shù)器的算法。也就是說,IE 6對于純粹的Script Objects間的Circular References是可以正確處理的,可惜它處理不了的是JScript與Native Object(例如Dom、ActiveX Object)之間的Circular References。所以,
68、當我們出現(xiàn)Native對象(例如Dom、ActiveX Object)與Javascript對象間的循環(huán)引用時,內(nèi)存泄露的問題就出現(xiàn)了。</p><p> Flex在交互的時候需要配置一個策略文件,來控制從哪個域下發(fā)來的請求時可以進行通信的。</p><p> 在web.xml配置文件中要配置對Flex發(fā)來請求的監(jiān)聽,這樣來區(qū)分Flex發(fā)來的請求,方法是對所有非Flex的請求加后綴名。
69、</p><p> 5.2調(diào)試測試中的問題</p><p> <listener><listener-class>flex.messaging.HttpFlexSession</listener-class></listener>在Web.xml中加入這個配置來監(jiān)聽發(fā)給Flex應用的請求</p><p> Fle
70、x其實是不能實現(xiàn)超大文件的上傳的,這是在Flex的官方文檔里面寫的,他最大的上傳文件大小不能超過100M,而我們經(jīng)過進一步的嘗試最終能夠滿足300M一下的文件上傳。</p><p><b> IE Bug:</b></p><p><b> IE6雙倍邊距問題</b></p><p> 兩個相鄰浮動元素之間如果設置了
71、margin那么在IE下會顯示雙倍的margin</p><p> 3px問題不是經(jīng)常被人們發(fā)現(xiàn),因為它的影響只是產(chǎn)生3px位移,往往在大塊的設計之間不易發(fā)現(xiàn),但是如果在設計時使用精確到像素的設計方法的話,3px也許就會困惑到你的設計,還是先來看一下我們模擬的3px問題情況的xhtml與css代碼。</p><p> IE捉迷藏bug(peek-a-boo),之所以起這個名稱是因為在某
72、些條件下文本看起來消失了,只有在重新裝載頁面時才再度出現(xiàn)。出現(xiàn)這個bug的條件是:一個浮動元素后而跟著一些非浮動元素,然后是一個清理元素,所有這些元素都包含在一個設置了背景顏色或圖像的你元素中。假如清理元素砬到了浮動元素,那么中間的非浮支元素看起來消失了,隱到了父元素的背景顏色或圖像后面,只有在刷新頁面時才重新出現(xiàn)。</p><p> 斷頭臺問題(IE/Win Guillotine bug)是國外的css設計者
73、給這個問題起的一個非常形象的名字,就如同斷頭臺一樣,對象被無情的切斷了一部分,不過與之相反的是,斷頭臺問題中的對象切斷的不是對象的頭部,而是對象的底部。xhtml編碼(演示),在IE中經(jīng)常遇到這樣的問題。</p><p> 高度不適應,是當內(nèi)層對象的高度發(fā)生變化時外層高度不能自動進行調(diào)節(jié),特別是當內(nèi)層對象使用</p><p> Spring接管Action為其注入:</p>
74、<p> <bean>標簽屬性中加入scope="prototype"</p><p> <bean id="loginAction" class="cn.edu.dlnu.resources.actions.user.LoginAction" scope="prototype"></p
75、><p> <property name="userService" ref="userService"/></p><p> <property name="autoLoginService"</p><p> ref="autoLoginService"/>
76、</p><p><b> </bean></b></p><p> 作用是:每次從spring容器中獲取Action的實例時都會new一個新對象,即我們所說的原型,spring中scope默認值是單態(tài)(singleton),當然針對web應用程序,還可以配置為request、session等范圍。至于什么時候使用什么權(quán)限范圍就要根據(jù)應用程序的使用情況
77、而定。比如在多線程程序中,單態(tài)是否會對程序有所影響就需要慎重考慮。</p><p><b> 心得與體會</b></p><p> 本次畢業(yè)設計首先給自己帶來的是自身技術水平的提高,整個系統(tǒng)的設計的前端只是比較多。而在攻破各個技術難點的同時是自己的能力有了質(zhì)的飛躍,而更重要的是在不斷的學習的過程中培養(yǎng)了自身的學習能力和解決問題的能力,這個能力是在平時不曾得到很好的
78、鍛煉的。而且整個畢業(yè)設計是在團隊和做的情況下完成的,這對自己的為人處世的能力也有一定的提高,如何團隊成員很好的相處,能和團隊成員協(xié)作完成一項工作。如何很好的分配工作,如何做到1+1>2。這都對畢業(yè)之后的工作打下了很好的基礎。</p><p> 在開發(fā)的前期,主要是對一些框架的學習,對一些技術難點的攻破,這樣能夠在開發(fā)的時候更加順手,然后面對具體的問題的時候?qū)δ滁c技術的深入理解,并解決問題。這個過程就是對技
79、術的學習和深入的過程,可以說是受益匪淺。但是這也導致了整個開發(fā)周期比較長。但是正是這樣的一個循序漸進的過程使得自己的技術水平不斷的精進。</p><p> 同時,這種xx開發(fā)的模式使得自己的知識面更加寬廣,因為團隊中的每個人的技術層面都不同,專精程度也不同,團隊式的開發(fā)非常有利于學生們的知識共享,這樣在不斷專精自己領域的同時還能及時的擴充自己的知識面。而且在其中團隊成員通力合作完成一件事是非常開心的事,成員的感
80、情也在其過程中不斷的加深。有這樣的一個經(jīng)歷使得自己能夠在以后的學習工作中更加得心應手,而這一年與團隊成員一起度過的日子也是大學中最美好的回憶。</p><p><b> 參考文獻</b></p><p> [1] Cay S.Horstmann(美)著. Java核心技術. 第8版. 機械工業(yè)出版社, 2008</p><p> [2]
81、吳亮(月影)著. JavaScript王者歸來. 清華大學出版社</p><p> [3] SteveSounders(美) . 高性能網(wǎng)站建設. 電子工業(yè)出版社</p><p> [4] BillyHoffmanBryanSullivan(美). Ajax安全技術. 電子工業(yè)出版社</p><p> [5]Ross Harmes&Dustin Dia
82、z著.謝廷軒譯.JavaScript設計模式. 人民郵電出版社</p><p> [6]Alistair Croll Sean Power著.袁菲、房向明、袁繼彬譯.網(wǎng)站性能檢測與優(yōu)化.人民郵電出版社</p><p> [7]Paul Haine著. HTML+Mastery+Semantics,+Standards,+and+Styling. Friendsof,2006.</
83、p><p> [8]Michael Morrison著. Head.First.Javascript. O'reilly.2008.</p><p> [9]John Resig著. Secrets+of+the+JavaScript+Ninja.MANNING,2009.</p><p> [10]Jeremy Keith著. Web.Design.wi
84、th.JavaScript.and.the.Document.Object.Model. Friendsof,2005.</p><p> [11] John Resig著.陳賢安. 陳賢安、江疆譯. 精通JavaScript.人民郵電出版社,2007. </p><p> [12]Greg Goralski&LordAlex Leon著. FriendsofED.Founda
85、tion.Flex.for.Designers. Friendsof,2008. </p><p> [13]Dave Crane&Eric Pascarello&Darren James著. AJAX_In_Action. MANNING,2006.</p><p> [14] John Resig著. Pro.JavaScript.Techniques. Apres
86、s,2006.</p><p> [15]亨德森(美). 構(gòu)建可擴展的Web站點. 電子工業(yè)出版社</p><p><b> 謝辭</b></p><p> 感謝在xx里面的所有成員,現(xiàn)在會經(jīng)常想起和他們在一起討論問題,解決問題場景,和他們在一起學習的日子真的非常開心,有機會一定會再和大家在坐在一起開發(fā)。感謝我的Teamleader,是他
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 校內(nèi)教學資源共享平臺的設計.pdf
- 畢業(yè)論文_信科系資源共享平臺的設計與實現(xiàn)
- 教學資源共享平臺的設計與實現(xiàn)
- 信息資源共享論文資源共享論文學校圖書
- 畢業(yè)設計---網(wǎng)上教學資源共享系統(tǒng)
- 網(wǎng)上教學資源共享系統(tǒng)
- 資源共享畢業(yè)設計
- 安徽高校資源共享服務平臺
- 資源共享平臺研究與開發(fā).pdf
- 基于net技術的小學教學資源共享平臺的設計
- 校園教學資源共享與交流平臺設計與實現(xiàn)
- 單片機原理及應用資源共享課程網(wǎng)頁設計畢業(yè)論文
- 基于優(yōu)化視頻資源采集系統(tǒng)的教學資源共享平臺設計.pdf
- 政務信息資源共享交換平臺
- 促進高校內(nèi)涵發(fā)展定額專項教學資源共享藝術設計學院數(shù)
- 國家植物種質(zhì)資源共享平臺建設
- 長沙科技創(chuàng)新資源共享服務平臺
- 2017政務信息資源共享平臺
- 高校資源共享與評價系統(tǒng)設計與實現(xiàn)畢業(yè)論文開題報告.doc
- 基于FLEX技術的教學資源共享平臺開發(fā)與實現(xiàn).pdf
評論
0/150
提交評論