国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

SVN版本控制系統(tǒng)在JavaWeb實驗教學(xué)中的應(yīng)用

2021-07-19 21:25:19蔡云鷺林其堃曾志廉
電腦知識與技術(shù) 2021年14期

蔡云鷺 林其堃 曾志廉

摘要:研究基于SVN版本控制系統(tǒng)的Java Web實驗教學(xué)模式,從實驗課程目標和教學(xué)實踐的技術(shù)需求出發(fā),提出了基于SVN+Tomcat+MySQL開發(fā)環(huán)境和NetBeans開發(fā)工具的系統(tǒng)設(shè)置與管理方案。介紹了獨立實驗和團隊綜合實驗的設(shè)置方法,總結(jié)了基于NetBeansIDE的實驗流程, 實現(xiàn)了對實驗項目的代碼進行版本控制和托管。新實驗?zāi)J较碌拇a同步、項目管理和團隊協(xié)作使實驗?zāi)J浇榆売谄髽I(yè)生產(chǎn)模式,有效地提高了學(xué)生的實驗積極性和實驗效率。

關(guān)鍵詞:Java Web實驗教學(xué);Subversion;代碼同步;版本控制

中圖分類號:TP391.7? ? ? ? 文獻標識碼:A

文章編號:1009-3044(2021)14-0041-03

Abstract:To research Java Web course experimental teaching mode based on the technique of SVN version control. In order to achieve the goals ofexperimentalobjectives and the technical requirements of teaching, a System setup and management scheme based on SVN+Tomcat+MySQL and NetBeans IDE are proposed.The independent experiment and the team comprehensive experiment setup is introduced and the experimental process based on NetBeans IDE realizing the version control and hosting of the experimental code is summarized. The new experimental environment for code synchronization, project managementandteam collaborationrealize the connection between experimental teaching and corporate work mode, which effectively improves the teaching practice. Students' experimental enthusiasm and personal programming ability, teamwork awareness has also been significantly enhanced by the experimental method reform.

Key words: Java Web experiment teaching; Subversion; code synchronization;versioncontrol

1 前言

Java Web開發(fā)技術(shù)是Java EE的核心技術(shù),是開發(fā)各種Web應(yīng)用的首選技術(shù)之一。Java Web編程技術(shù)課程旨在培養(yǎng)學(xué)生掌握Java Web程序開發(fā)的基本理論和核心技術(shù),課程的主要實驗有:Servlet模型、HTTP請求與響應(yīng)對象、會話管理、JSP基本語法與頁面指令、Web組件重用與JavaBeans、JDBC訪問數(shù)據(jù)庫、Servlet事件處理、Servlet過濾器的使用和MVC設(shè)計模式等。在傳統(tǒng)的實驗教學(xué)模式下,教學(xué)側(cè)重于學(xué)生完成教學(xué)大綱規(guī)定的實驗任務(wù),按要求完成相應(yīng)的實驗報告,對學(xué)生能力培養(yǎng)的系統(tǒng)性以及工程應(yīng)用能力的培養(yǎng)重視不足,越來越難以滿足企業(yè)對Web開發(fā)人員的專業(yè)素養(yǎng)和實踐技能的要求。目前,程序設(shè)計類實驗教學(xué)不足之處主要表現(xiàn)在以下方面:1)學(xué)生的實驗過程對教師是透明的,按照傳統(tǒng)的實驗流程,學(xué)生的編碼過程只依賴機房計算機或個人計算機,教師看到的只有最終呈現(xiàn)的實驗結(jié)果,整個編碼過程對于教師幾乎是透明的,無法監(jiān)督過程,難以實施過程化考核;2)實驗代碼收集、整理和運行測試過程煩瑣,難以對代碼質(zhì)量進行全面的測試和評估;3)項目代碼無法同步,一個實驗項目往往難以在實驗課堂的機房完成,學(xué)生希望實驗課上的項目進度能完好無損地同步到自己的個人計算機,以持續(xù)開發(fā),這個過程中的代碼同步問題亟待高效的解決;4)缺乏高效的團隊協(xié)作平臺,在團隊合作項目中,團隊成員的開發(fā)進度難以掌握,代碼沖突等問題在所難免,導(dǎo)致實驗效果不佳,對團隊協(xié)作的輕視往往與企業(yè)的團隊開發(fā)理念背道而馳。

將SVN版本控制系統(tǒng)引入到JavaWeb實驗教學(xué)中,在SVN+Tomcat+MySQL開發(fā)環(huán)境下,基于NetBeans或Eclipse集成開發(fā)環(huán)境,通過構(gòu)建基于SVN的實驗教學(xué)生態(tài)環(huán)境,可以有效解決以上問題。Subversion(SVN)是一個開源的集中式版本控制系統(tǒng),按照修改的版本來管理文件和目錄。每個SVN服務(wù)器系統(tǒng)存放若干個中心版本庫,版本庫可以記錄每一次文件和目錄的修改,可以將文件和目錄回滾到以前的版本,并可以對比檢查所做的更改。SVN版本控制管理工具被廣泛應(yīng)用于軟件開發(fā)過程。國內(nèi)外教育工作者也將SVN版本控制系統(tǒng)引入到在教學(xué)應(yīng)用或管理方面[4-6]。

2 系統(tǒng)架構(gòu)

系統(tǒng)集成了Subversion(https://subversion.apache.org)和Apache,基于B/S可視化模式,通過搭建Apache服務(wù)器與SVN管理網(wǎng)站(https://github.com/mfreiholz/iF.SVNAdmin),所有的信息都可以通過瀏覽器訪問,也可以通過NetBeans和Eclipse等集成開發(fā)環(huán)境(IDE)訪問SVN版本庫,系統(tǒng)架構(gòu)如圖1所示。

系統(tǒng)具有以下特點。

1)操作界面友好。教師可以通過web瀏覽器管理SVN服務(wù)器,創(chuàng)建、修改、查看代碼倉庫都變得十分簡便。學(xué)生無需安裝客戶端,通過瀏覽器即可查看自己的項目文件或者提交進度。

2)跨平臺和多地點工作。實驗項目文件可以通過瀏覽器進行訪問,允許學(xué)生可以通過不同的操作平臺快速查詢自己的SVN版本庫數(shù)據(jù)。服務(wù)器架設(shè)于校園網(wǎng),校外可以通過VPN訪問,無論是在機房、宿舍還是校外師生都可以隨時隨地訪問代碼倉庫。

3)與IDE緊密集成。目前的主流IDE,如NetBeans和Eclipse等都集成了SVN的開發(fā)插件,學(xué)生易學(xué)易用,通過簡單設(shè)置即可訪問SVN版本庫。

3 SVN版本庫的設(shè)置與管理

在JavaWeb的實驗教學(xué)中實驗通常分為獨立實驗和綜合實驗,獨立實驗由個人獨立完成,綜合實驗由小組成員共同合作完成。為達到預(yù)定的實驗效果,對SVN的配置與管理方案成為關(guān)鍵。SVN具有完善的權(quán)限管理體系,其權(quán)限設(shè)置特點包括:可以為SVN中每個目錄設(shè)置相互獨立的讀寫權(quán)限;用戶對下層目錄的讀寫權(quán)限繼承自上層目錄,且對于下層目錄的權(quán)限不能大于上層;用戶對一個目錄的讀寫權(quán)限可以繼承自所屬用戶組,用戶對該目錄的權(quán)限可以高于用戶組權(quán)限。

3.1獨立實驗的設(shè)置

獨立實驗的設(shè)置與管理的基本要求是:學(xué)生之間不能相互查看實驗代碼;教師可以查看或修改學(xué)生代碼;教師查看和測試代碼時應(yīng)該盡可能的便利和高效。

基于上述特點,可以通過權(quán)限設(shè)置以滿足教學(xué)需求。具體規(guī)則:只創(chuàng)建一個代碼倉庫,并設(shè)置教師組和學(xué)生組;所有用戶組具有代碼倉的根目錄的讀寫權(quán)限;根目錄下設(shè)置實驗?zāi)0迥夸?,用于存放實驗要求和實驗的模板,教師組對該目錄具有讀寫權(quán)限,學(xué)生組只有讀取權(quán)限;根目錄下每個學(xué)生都有自己的目錄,以學(xué)號命名,除了教師組和學(xué)生本人具有讀寫權(quán)限外,學(xué)生組的其他成員不具有任何權(quán)限。如圖2所示。

由于在SVN中每個倉庫都有獨立的URL,所以獨立實驗中只創(chuàng)建了一個代碼倉庫,教師只需要通過一個URL就可以訪問到所有學(xué)生的所有實驗項目,極大地方便了教師查閱;另一方面,由于學(xué)生不能訪問別人的項目,有效達到了獨立完成實驗的目的。

3.2綜合實驗的設(shè)置

綜合實驗的設(shè)置與管理要求是:不同項目組的代碼不能相互查看,但是組內(nèi)成員可以查看其他成員的代碼以跟進項目開發(fā)進度或提出修改意見;教師可以任意查看不同項目組的代碼以跟進并指導(dǎo)實驗。

由于版本控制系統(tǒng)的設(shè)計本來就是為了團隊協(xié)作而產(chǎn)生,所以對于集體項目的設(shè)置相對于個人項目而言較為簡單。權(quán)限設(shè)置方案:根據(jù)項目分組情況,為每個項目分配一個代碼倉庫;除了教師組對所有代碼倉庫均具有讀寫權(quán)限外,每個項目組成員僅對所在組的代碼倉庫具有讀寫權(quán)限,而對其他項目組的代碼倉庫無讀寫權(quán)限;每個項目組成員可以查看組內(nèi)其他成員的代碼,以便與其他組員進行團隊協(xié)作。

3.3 SVN的用戶配置與權(quán)限管理

SVN是以配置文件的方式對用戶及其權(quán)限進行配置,所有的用戶信息保存在passd文件中,文件的用戶信息記錄格式為:username:password。其中每條記錄對應(yīng)著一個用戶名和口令,password為加密后的口令而非明文口令。用戶必須經(jīng)授權(quán)才可以操作源碼倉庫,本例中為每個學(xué)生配置一個以學(xué)號命名的倉庫文件夾,每個學(xué)生用戶均需要單獨授權(quán)。SVN中的授權(quán)文件為authz,其中的授權(quán)信息記錄內(nèi)容格式為:

[reponame:/floderpath]

username=authorization

其中reponame為倉庫名字,floderpath是該倉庫下授權(quán)給用戶的文件夾路徑;username為用戶名或用戶組名,組名前要加“@”前綴,;authorization為給予的權(quán)限,讀取權(quán)限為“r”,寫入權(quán)限為“w”。

Linux系統(tǒng)的shell作為操作系統(tǒng)的外殼,為用戶提供了使用操作系統(tǒng)的接口。shell是解釋執(zhí)行的腳本語言,可直接調(diào)用linux命令,它是命令語言、命令解釋程序及程序設(shè)計語言的統(tǒng)稱?;赟VN的用戶配置與授權(quán)管理機制,結(jié)合本應(yīng)用中用戶配置與權(quán)限管理場景,可以編寫shell腳本實現(xiàn)批量建立學(xué)生用戶。首先,可以使用Excel或其他文本編輯工具建立用戶列表文件錄入用戶名及口令,保存為文本文件格式備用;然后運行Shell腳本程序遍歷用戶文件,每次讀取一個用戶名和口令,重復(fù)以下三個步驟。

1)新增用戶

調(diào)用apache服務(wù)器內(nèi)置的程序htpasswd生成用戶口令的md5密文,把用戶名及其口令的md5密文寫入到SVN配置文件passd中(例:/usr/bin/htpasswd -bd /home/svn/passd $USERNAME $PASSWORD),建立新用戶,并把新用戶添加到學(xué)生組(student)中。

2)調(diào)用SVNAPI,為每個新用戶新增一個倉庫文件夾

例:svn mkdir -m "INFO: create a new folder for $USERNAME" $URL/$USERNAME

其中$URL是通過apache訪問文件夾的URL。

3)新用戶授權(quán)

為SVN配置文件autuz新增記錄,為新用戶授權(quán)。每個用戶對自己的文件夾有讀寫權(quán)限,同用戶組的其他成員對該文件夾沒有讀寫權(quán)限,至此新增用戶結(jié)束,新用戶可以通過用戶名與口令訪問SVN,具有對已授權(quán)目錄的讀寫權(quán)限。

4 基于SVN版本庫的實驗教學(xué)

基于NetBeansIDE的實驗流程如圖3所示。

1)拷貝實驗?zāi)0澹瑒?chuàng)建自己的實驗副本(Copy)

實驗?zāi)0迥夸浿刑峁┝烁鱾€實驗的實驗要求、實驗指導(dǎo)以及實驗?zāi)0?,學(xué)生在進行實驗前需要將對應(yīng)實驗的目錄拷貝到以自己學(xué)號命名的目錄。

2)在實驗?zāi)0宓幕A(chǔ)上進行實驗操作(Modify)

學(xué)生在自己的目錄下按照1)中拷貝的實驗要求和實驗指導(dǎo),利用實驗?zāi)0暹M行實驗操作。

3)提交或保存實驗代碼(Commit)

學(xué)生提交或保存實驗代碼可以將代碼提交至服務(wù)器,教師可以通過服務(wù)器跟蹤實驗進度(如圖4)。如果實驗未完成或者需要繼續(xù)完善,則可以通過Copy操作將代碼下載到本地計算機。

5 總結(jié)

基于SVN技術(shù)構(gòu)建的全新實驗環(huán)境重構(gòu)了傳統(tǒng)的實驗方式。有利于學(xué)生適應(yīng)企業(yè)開發(fā)模式和流程,提高了競爭力;教師能更多地參與到學(xué)生的實驗開發(fā)過程,為收集實驗代碼提供了便利;鍛煉了學(xué)生團隊協(xié)作能力。Web開發(fā)是當(dāng)今IT行業(yè)發(fā)展最快速的領(lǐng)域之一,新技術(shù)、新模式不斷涌現(xiàn),高校教學(xué)應(yīng)緊跟發(fā)展趨勢,追蹤技術(shù)熱點,綜合利用各種技術(shù)進行教學(xué)內(nèi)容與實驗?zāi)J降闹貥?gòu)。

參考文獻:

[1] 王貴鑫,昝鄉(xiāng)鎮(zhèn).基于團隊協(xié)作的項目驅(qū)動教學(xué)模式實踐[J].實驗技術(shù)與管理,2018,35(5):205-207.

[2] 鐘文鋒,付小龍,杜炤.基于SVN的校級統(tǒng)一信息系統(tǒng)版本管理系統(tǒng)的設(shè)計與實現(xiàn)[J].中國教育信息化,2011(23):55-57.

[3] 石樂義,李陽.網(wǎng)絡(luò)安全在線開放實驗實踐探索[J].實驗室研究與探索,2018,37(9):215-219.

[4] 楊健,陳春玲,宗平.版本控制工具軟件Subversion在課程設(shè)計中的應(yīng)用[J].計算機教育,2008(4):117-121.

[5] Reid K L,Wilson G V.Learning by doing[J].ACM SIGCSE Bulletin,2005,37(1):272-276.

[6] 王海豐,李金霞,張鯤.基于SVN版本控制的程序設(shè)計類課程教學(xué)研究[J].軟件,2018,39(4):218-221.

[7] Mike Mason.陶文譯.版本控制之道:使用Subversion[M].北京:電子工業(yè)出版社,2007.

[8] 李存燕,洪玫.Github中開發(fā)人員的行為特征分析[J].計算機科學(xué),2019,46(2):152-158.

[9] 郭穎奇,肖勇.新技術(shù)驅(qū)動下的高校實驗教學(xué)發(fā)展及研究綜述[J].實驗室研究與探索,2017,36(9):179-183.

[10] 李永飛,郭曉欣.Java Web應(yīng)用開發(fā)課程目標的研究與設(shè)定[J].計算機教育,2018(5):127-129.

[11] 甘玲.基于項目開發(fā)的面向?qū)ο蠓椒ㄕn程教學(xué)新模式[J].計算機教育,2014(4):43-46.

【通聯(lián)編輯:王力】

那坡县| 长葛市| 苗栗市| 分宜县| 商都县| 大连市| 巴塘县| 浏阳市| 广宗县| 县级市| 武宣县| 扎赉特旗| 哈巴河县| 峨眉山市| 珲春市| 礼泉县| 阳高县| 利津县| 中超| 横峰县| 马尔康县| 晴隆县| 军事| 河西区| 家居| 遂宁市| 桂平市| 茶陵县| 阿城市| 和静县| 陆丰市| 平陆县| 麦盖提县| 新密市| 商都县| 保靖县| 格尔木市| 历史| 山东| 视频| 唐海县|