亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于B/S的畢業(yè)論文管理系統(tǒng)實現(xiàn)關鍵技術研究

        2015-05-15 03:19:48梁俊杰曾顯峰黃曉君何花燕
        現(xiàn)代計算機 2015年7期
        關鍵詞:注入式畢業(yè)論文控件

        梁俊杰,曾顯峰,黃曉君,何花燕

        (廣東外語外貿大學南國商學院,廣州 510545)

        基于B/S的畢業(yè)論文管理系統(tǒng)實現(xiàn)關鍵技術研究

        梁俊杰,曾顯峰,黃曉君,何花燕

        (廣東外語外貿大學南國商學院,廣州 510545)

        為了實現(xiàn)高校畢業(yè)論文管理水平的高效化和網(wǎng)絡化,采用ASP.NET開發(fā)技術,設計基于B/S模式的畢業(yè)論文管理系統(tǒng)。著重解析系統(tǒng)開發(fā)中的幾個關鍵技術:數(shù)據(jù)庫訪問、AJAX無刷新技術、防止腳本注入式攻擊等技術。在實際的開發(fā)過程中證明,這些關鍵技術的應用,顯著地提高大學生畢業(yè)論文管理系統(tǒng)的實用性能和安全性能。

        畢業(yè)論文;B/S模式;AJAX;注入式攻擊

        0 引言

        畢業(yè)論文/設計是培養(yǎng)學生運用綜合知識與技能,獨立完成的一個項目活動,是教學活動的重要組成部分之一。隨著本校的教學規(guī)模逐漸增加,每年的畢業(yè)之際,需要處理的畢業(yè)論文的信息量成倍地增加。而校外實習的學生同時要進行畢業(yè)論文的設計,學生與導師在畢業(yè)論文選題、評閱、指導方面存在時間空間的沖突,傳統(tǒng)的畢業(yè)論文管理方式已經不能滿足當前的實際需要,迫切需要找到一個適合我校的高效管理畢業(yè)論文的方法。在廣東省“大創(chuàng)”項目基金的支持下,項目小組設計并完成了基于B/S模式的畢業(yè)論文管理系統(tǒng),系統(tǒng)實現(xiàn)了畢業(yè)管理工作的絕大部分需求功能,如畢業(yè)論文的上傳與下載、學生信息查詢、導師在線評閱、選題管理、公共發(fā)布等功能。本系統(tǒng)借助了網(wǎng)絡平臺,不但讓學生與教師可以進行有效的溝通,學生可以及時地了解有關畢業(yè)論文的相關動態(tài),而且使論文的上傳查看、信息的管理、用戶的管理和數(shù)據(jù)庫的管理等工作更加簡便。利用實用性和操作性強的畢業(yè)論文管理系統(tǒng)來管理畢業(yè)論文,既提高了管理的工作效率,也降低了管理的成本,進而實現(xiàn)高校畢業(yè)論文管理水平的高效化和網(wǎng)絡化。

        1 項目設計

        大學生畢業(yè)論文管理系統(tǒng)的主要使用對象是畢業(yè)季學生、論文導師、系部管理員和系統(tǒng)管理員。系統(tǒng)根據(jù)角色劃分為學生模塊、教師模塊、管理員模塊及公共模塊[1],本系統(tǒng)總體功能如圖1所示。

        (1)登錄模塊

        登錄模塊是大學生畢業(yè)論文管理系統(tǒng)的一個公共模塊,采用統(tǒng)一登錄界面使登錄保持簡單和獨立性。學生、指導老師、管理員通過統(tǒng)一的等級界面驗證身份,采用C#ADO.NET技術驗證用戶登錄,根據(jù)用戶身份選項識別以進入不同的頁面。為了防止SQL注入式攻擊,系統(tǒng)在登錄過程中采用危險字符清除函數(shù)。增加驗證碼驗證模塊,以此降低用戶密碼被暴力破解的可能性。具體功能如圖2所示。

        (2)學生模塊

        圖1 系統(tǒng)功能結構圖

        學生模塊包括五個基本功能:信息查看、選題提交、收發(fā)留言、密碼修改、論文上傳下載。本模塊的核心功能是文檔上傳下載功能。當學生選題通過時才能獲取論文上傳的權限。本系統(tǒng)利用FileUpload控件進行文件上傳操作,默認情況下,上傳文件大小限制為4MB,本系統(tǒng)通過設置httpRuntime元素的maxRequestLength屬性來允許上載10MB的文件,且文件上傳在編碼時限制了上傳文檔的格式和文件的大小,只接受doc、pdf、txt格式且大小不能超過10MB的文檔。通過調用PostedFile屬性獲得一個與上傳文件相關的HttpPostedFile對象屬性以此進行上傳,提交后文檔將被保存在預先設置的文件路徑,數(shù)據(jù)庫只保存文件的文件名和存放路徑等信息。模塊具體實現(xiàn)界面如圖3所示。

        圖2 系統(tǒng)登錄頁面

        圖3 學生模塊頁面

        (3)管理員模塊

        本系統(tǒng)設置多個管理員,按權限分為系統(tǒng)管理員和系部管理員兩個級別。系統(tǒng)管理員擁有最高管理權限,負責宏觀管理系統(tǒng)。系部管理員權限在系統(tǒng)管理員之下,負責日常事務處理。管理員模塊包括七個基本功能,分別是學生信息查詢、學生管理、教師管理、論文導師分配、公告發(fā)布、選題管理以及留言管理[2],其中學生信息查詢和論文導師分配為關鍵功能。

        學生信息查詢功能通過對Paper數(shù)據(jù)庫student表進行模糊查詢,將得到數(shù)據(jù)儲存到SqlDataSource中,在前臺綁定GridView進行數(shù)據(jù)顯示。系統(tǒng)通過獲取ListBox數(shù)據(jù)確定論文導師,以此更新后臺數(shù)據(jù)庫student表,實現(xiàn)論文導師分配功能。模塊具體實現(xiàn)界面如圖4所示。

        圖4 系統(tǒng)管理員頁面

        2 關鍵技術

        (1)訪問和操作數(shù)據(jù)庫

        當系統(tǒng)成功連接數(shù)據(jù)庫后,就可以通過Command命令來對數(shù)據(jù)庫發(fā)出具體的操作指令,例如對數(shù)據(jù)庫進行增加、刪除、查詢、更改等操作。Command對象有三個執(zhí)行方法,分別是ExecuteNonQuery、Execute Reader和ExecuteScalar。ExecuteNonQuery多用于執(zhí)行增加、刪除、更新數(shù)據(jù)。返回受影響的行數(shù)。ExecuteReader為執(zhí)行查詢語句,給SqlDataReader對象一個可以訪問查詢到的結果的渠道。ExecuteScalar的返回值類型多為int類型。它返回的多為執(zhí)行select查詢。登錄功能本質就是查詢數(shù)據(jù)庫操作,下面以本系統(tǒng)登錄功能為例,演示查詢數(shù)據(jù)庫操作,具體代碼如下:

        (2)ADO.NET并發(fā)更新沖突的解決

        ①并發(fā)更新沖突的產生原因

        ADO.NET并發(fā)更新沖突是使用ADO.NET對數(shù)據(jù)庫中數(shù)據(jù)進行操作時最常見的問題之一,出現(xiàn)根本原因是兩個或更多的用戶嘗試同時向同一條記錄的一個或多個字段提交沖突的值。ADO.NET通過把數(shù)據(jù)的副本讀取至客戶端,斷開連接的方式減少服務器負載,提高系統(tǒng)性能,但容易引起多個用戶同時修改一條記錄產生數(shù)據(jù)并發(fā)異常。

        ②并發(fā)更新沖突解決方法

        用戶A和用戶B同時對后臺數(shù)據(jù)庫修改了相同的數(shù)據(jù)行,出現(xiàn)了并發(fā)更新沖突。假設用戶A先執(zhí)行了update操作并成功將數(shù)據(jù)更新提交到后臺數(shù)據(jù)庫,需要解決的是后面提交修改的用戶B如何處理并發(fā)更新沖突。并發(fā)更新沖突解決原則應是以最新的數(shù)據(jù)更新為準,解決方案應是用戶B不考慮用戶A的修改,直接將數(shù)據(jù)提交到后臺數(shù)據(jù)庫中。具體的操作方法是調用用戶B的datatable.Merge方法把當前數(shù)據(jù)庫的新值合并到datatable的原始表中去,實現(xiàn)被修改的行的原始值與當前數(shù)據(jù)庫匹配,接著調用DataAdapter.Update使用用戶A提交的數(shù)據(jù)更新數(shù)據(jù)庫[3],通過直接將數(shù)據(jù)提交到后臺數(shù)據(jù)庫解決并發(fā)更新沖突。

        (3)AJAX無刷新技術

        AJAX無刷新技術能夠異步取回服務器端的數(shù)據(jù),不會在等待狀態(tài)限制用戶,也不會打斷用戶的操作,提高網(wǎng)站的響應且不會因為PostBack使整頁重新加載,實現(xiàn)Web頁面的局部更新,使用戶不需要每次都刷新頁面來查看更新的部分數(shù)據(jù),改善了用戶頁面操作體驗[4]。

        本系統(tǒng)管理模塊多處用到了此技術,如學生信息查詢模塊。系統(tǒng)通過利用AJAX控件的UpdatePanel(局部更新面板)控件,與ScriptManager(腳本管理員)控件配合使用,用簡單的代碼就實現(xiàn)了異步通信功能。管理員無論使用模糊查詢或精確定位查詢,當查詢條件有所變化,AJAX無刷新技術能在下方的表格實時更新數(shù)據(jù),而不需要再次刷新。系統(tǒng)利用UpdatePanel控件實現(xiàn)局部更新時,必須初始化一個回發(fā)動作,配合使用AJAX的Timer控件能夠每隔一段時間自動完成一次完整或局部頁面的刷新,但需要注意的是Timer控件可能會增加Web應用程序的負載。因此,在引入自動回發(fā)前加入Timer控件十分必要,但間隔時間設置太短將會導致頁面回發(fā)頻率增加,加大服務器流量,因此應盡可能把間隔時間設置得長一些。

        (4)防止腳本注入式攻擊技術

        本系統(tǒng)通過使用MD5加密、替換單引號和權限隔離的方法防止SQL注入式攻擊,然而當用戶登錄時,還可能存在惡意腳本攻擊的問題,例如,如果用戶在表單中輸入

        日韩精品熟妇一区二区三区| 无码高清视频在线播放十区| 美腿丝袜美腿国产在线| 日本免费观看视频一区二区| 女人色熟女乱| 亚洲av第一成肉网| 亚洲综合国产成人丁香五月小说 | 97人妻视频妓女网| 中文字幕日韩一区二区不卡 | 精品国产一区二区三区av性色| 精品熟女少妇av免费观看| 偷拍熟女亚洲另类| 日本va中文字幕亚洲久伊人| 久久99热狠狠色精品一区| 国产精品视频一区国模私拍 | 麻豆成人久久精品二区三区免费| 欲求不満の人妻松下纱荣子| 日日噜噜噜夜夜爽爽狠狠| 亚洲精品国产不卡在线观看| 日韩av免费一区二区| 色视频综合无码一区二区三区| 国产日韩成人内射视频| 亚洲国产av一区二区三| 偷拍一区二区三区四区| 中国农村熟妇性视频| 亚洲αⅴ无码乱码在线观看性色| 麻豆国产精品伦理视频| 久久久噜噜噜久久中文福利| 性饥渴艳妇性色生活片在线播放| 中文人妻av大区中文不卡| 亚洲精品一区三区三区在线| 蜜桃视频无码区在线观看| 国产小屁孩cao大人| 白色白在线观看免费2| 亚洲av综合av国产av中文| 亚洲av鲁丝一区二区三区| 美腿丝袜美腿国产在线| 久久亚洲精品中文字幕| 亚洲欧美日韩一区二区三区在线| 久久国产A∨一二三| 亚洲av少妇高潮喷水在线|