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

?

基于項目驅(qū)動的Java框架技術(shù)課程的教學(xué)研究

2013-12-29 00:00:00李啟銳姚明
電腦知識與技術(shù) 2013年1期

摘要:根據(jù)Java框架技術(shù)課程的特點,提出了項目驅(qū)動的教學(xué)方法,并研究了如何選擇課程教學(xué)內(nèi)容的問題。針對教學(xué)過程中出現(xiàn)的學(xué)生遲到曠課現(xiàn)象,選取了考勤系統(tǒng)作為具體的實踐項目,并闡述了如何把項目貫穿于教學(xué)內(nèi)容中的具體教學(xué)實踐過程。實踐結(jié)果表明該方法在提高課程的教學(xué)質(zhì)量方面取得成效。

關(guān)鍵詞:java框架;項目驅(qū)動;教學(xué)內(nèi)容;授課計劃;考勤系統(tǒng)

中圖分類號:TP3 文獻標(biāo)識碼:A 文章編號:1009-3044(2013)01-0105-03

Java語言憑借著其卓越的通用性、高效性、平臺移植性和安全性擁有全球最大的開發(fā)者專業(yè)社群,廣泛應(yīng)用在個人PC、互聯(lián)網(wǎng)、超級科學(xué)計算等領(lǐng)域。IDC的統(tǒng)計數(shù)字,在所有的軟件開發(fā)類人才的需求中,對Java工程師的需求量達到全部需求量的60%-70%[1] ??梢哉f當(dāng)前最熱門的軟件編程語言當(dāng)屬Java。應(yīng)用型本科院校的學(xué)科和專業(yè)在強調(diào)必須的學(xué)術(shù)性和基礎(chǔ)理論性的同時,要更加強調(diào)面向市場現(xiàn)實需要和學(xué)生的實際與未來發(fā)展需求。根據(jù)Java的特點和專業(yè)的辦學(xué)定位,我們選擇Java作為學(xué)生培養(yǎng)的一個重要方向。由于Java內(nèi)容非常龐大,相關(guān)的課程較多,我們提出Java四階段教學(xué)的理念:第一階段:面向?qū)ο笤砼c Java 實踐;第二階段:Java Web 應(yīng)用編程基礎(chǔ);第三階段:Java Web 開源框架技術(shù);第四階段:分布式計算技術(shù)。Java框架技術(shù)教學(xué)屬于第三階段的教學(xué),教學(xué)內(nèi)容主要是當(dāng)前炙手可熱的Struts2、Spring和Hibernate (簡稱SSH)三大輕量級開源框架技術(shù)的整合開發(fā)。

1 Java框架技術(shù)課程教學(xué)現(xiàn)況

Java EE技術(shù)經(jīng)過多年的發(fā)展日趨成熟,已經(jīng)成為最佳的電子商務(wù)解決方案之一[2]。JavaEE包含的內(nèi)容也非常多,既包括Sevlet、Jsp等Java Web基礎(chǔ)知識,也包括Struts、EJB等框架技術(shù)。越來越多的高校開始注重這方面的培養(yǎng),但是很多高校的計算機專業(yè)培養(yǎng)方案中往往只包含Java面向?qū)ο蟪绦蛟O(shè)計和Java Web基礎(chǔ)這兩個階段的內(nèi)容,而技術(shù)更新非常快速的更深層次的框架技術(shù)課程卻少有涉及,更鮮有列為單獨一門課程進行教學(xué)。這方面的教學(xué)在專業(yè)的培訓(xùn)機構(gòu)中卻受到重視,因為社會上的JavaEE工程師的使用最多的還是框架技術(shù)。像Java框架技術(shù)這樣子的課程在高校中屬于新興的課程,以前沒有多少教學(xué)經(jīng)驗可供借鑒,如果按照傳統(tǒng)教學(xué)模式教授軟件專業(yè)培養(yǎng),效果不好[3]。各個高校對這門課程的研究在不斷的進行當(dāng)中,目前陸續(xù)有一些教學(xué)成果出來,如河南師范大學(xué)計算機與信息技術(shù)學(xué)院的《Java EE 框架課程教學(xué)方法改革與實踐》、江蘇信息職業(yè)技術(shù)學(xué)院計算機工程系的《<輕量級Java EE開發(fā)>課程教學(xué)改革的研究》等。我們學(xué)院開設(shè)這門課程的時間到目前為止也不過是三年的時間,經(jīng)過艱難的摸索實踐和總結(jié),我們在提高這門課程的教學(xué)質(zhì)量方面也取得了一定的成果。

2 項目驅(qū)動教學(xué)法

Java框架技術(shù)課程是一門專業(yè)技能課程,對學(xué)生的實踐動手能力要求大大強于理論學(xué)習(xí)能力。在傳統(tǒng)的教學(xué)方式當(dāng)中,往往以教師課堂講解為主,學(xué)生聽為輔,學(xué)生被動的接受知識,培養(yǎng)出來的學(xué)生缺乏自主探索知識的能力,缺乏運用知識解決實際問題的能力。“項目驅(qū)動教學(xué)法”是建立在自主學(xué)習(xí)基礎(chǔ)上的一種教學(xué)方法。它要求學(xué)生完成老師給定的項目任務(wù)中,在探究完成項目或解決問題的過程中,在自主學(xué)習(xí)和小組討論的氛圍中進行學(xué)習(xí)活動。這樣,既培養(yǎng)了學(xué)生動手實踐能力又學(xué)到了知識,提高了學(xué)生的創(chuàng)新意識。學(xué)生在完成項目的過程中,不斷激發(fā)了自主學(xué)習(xí)的創(chuàng)新性、主動性,更容易掌握各項知識[4]?!绊椖框?qū)動教學(xué)法”特別適合像Java框架技術(shù)這種專業(yè)技能類的課程。

3 教學(xué)內(nèi)容的選擇

在學(xué)習(xí)本課程之前,學(xué)生應(yīng)該已經(jīng)具備良好的Java面向?qū)ο蟆ava Web應(yīng)用編程基礎(chǔ)、數(shù)據(jù)庫原理等基礎(chǔ)知識。MVC設(shè)計模式是軟件開發(fā)人員公認(rèn)的一種良好的軟件設(shè)計模式,SSH這三個框架中,Struts2和Spring都實現(xiàn)了MVC設(shè)計模式,但是在實際應(yīng)用中,開發(fā)者往往更偏愛使用Struts2框架作為MVC的承載者,把Hibernate作為數(shù)據(jù)庫的操作者,把Spring作為程序的托管者。使用了SSH三大框架的程序結(jié)構(gòu)上一般分為三個層次,分別為Action層、Service層和DAO層,分別實現(xiàn)與用戶交互、數(shù)據(jù)邏輯處理及數(shù)據(jù)庫操作。根據(jù)學(xué)生的基礎(chǔ)以及三個框架和三個層次在程序中的作用,我們制定了相應(yīng)的教學(xué)內(nèi)容。

3.1 Struts2

Struts2作為程序MVC設(shè)計模式的承載者,同時負責(zé)與用戶界面的交互,在程序中占有重要的地位,要學(xué)習(xí)的掌握的內(nèi)容非常多,是教學(xué)的重點。Struts2的基本內(nèi)容應(yīng)該包括以下幾個方面:

1) Struts2的MVC思想。主要介紹Struts2的工作流程及在MyEclipse中的配置,重點介紹手工給Java Web工程添加Struts2的支持。

2) Strust2的核心配置文件Struts2.xml的詳細解釋。內(nèi)容包括、、、等子標(biāo)簽的詳解,其中的難點是子標(biāo)簽中使用通配符及子標(biāo)簽中頁面的跳轉(zhuǎn)方式。

3) Struts2的輸入校驗及國際化。輸入校驗包括使用validate()函數(shù)和validation校驗框架兩種方法,國際化包括如何建立資源文件及如何訪問,其中的難點是如何使用別名區(qū)別不同的請求對應(yīng)不同的校驗方式以及中文國際化資源文件的編碼的問題。

4) Struts2的攔截器及類型轉(zhuǎn)換器。內(nèi)容包括攔截器的工作原理、創(chuàng)建及引用方式,類型轉(zhuǎn)換器的三種建立方式及其配置。它們都有一個共同點就是都要繼承特定的類或者實現(xiàn)特定的接口。

5) Struts2的標(biāo)簽庫。內(nèi)容包括有數(shù)據(jù)標(biāo)簽、控制標(biāo)簽和表單標(biāo)簽,其中的難點是ognl表達式。

6)Struts2的文件上傳、下載及其他應(yīng)用。這部分內(nèi)容包括單個文件上傳、多個文件上傳、Struts2對Ajax的支持等。其中的難點是如何控制上傳文件的大小及類型。

3.2 Hibernate

Hibernate在程序中專注于數(shù)據(jù)庫的操作,目標(biāo)是讓程序員從繁重的數(shù)據(jù)庫操作中解放出來。其包含的內(nèi)容并不太多,且對一般的應(yīng)用并不需要了解太深入。主要內(nèi)容包括以下幾個方面:

1) 對象關(guān)系映射(Object/Relation Mapping,ORM)思想、標(biāo)準(zhǔn)查詢接口Criteria以及HQL。對一個已經(jīng)熟悉使用傳統(tǒng)的SQL語言來操縱數(shù)據(jù)庫的人來說,要馬上接受使用面向?qū)ο蟮姆绞讲樵償?shù)據(jù)庫不是一件容易的事情,這是一個重點,也是一個難點。

2) Hibernate的配置。包括核心配置文件Hibernate.cfg.xml、數(shù)據(jù)表映射文件XXX.hnm.xml和數(shù)據(jù)表的PO類。其中的難點是一對多關(guān)系的映射。

3) Session的使用。Session是Hibernate持久化操作的基礎(chǔ),提供了眾多持久化的方法,如save、update和delete等操作。其中的難點是持久化對象的狀態(tài)轉(zhuǎn)換及事務(wù)的處理。

3.3 Spring

之所以把Spring稱為程序的托管者,是因為程序三個層次之間的相互調(diào)用由Spring來決定,而且Spring還可以托管其它的一些工作,如整個程序的異常處理等。Sprign的內(nèi)容包括以下兩個方面:

1) Spring的控制反轉(zhuǎn)(Inversion of Control,Ioc)思想及其應(yīng)用??刂品崔D(zhuǎn)又稱為依賴注入,是Spring的核心機制,但理解起來并不容易。通過使用Ioc機制來實現(xiàn)不同類之間的相互調(diào)用會使得程序的耦合程序大大降低,方便日后升級維護。這是教學(xué)的一個重點和難點。

2) Spring的面向切面編程(Aspect Oriented Programming,AOP)思想及其應(yīng)用。AOP專門用于處理系統(tǒng)中分布于各個模塊(不同方法)中的交叉注點問題,在Java EE應(yīng)用中,常常通過AOP來處理一些具有橫切性質(zhì)的系統(tǒng)級服務(wù),如事務(wù)管理、安全檢查等,AOP已經(jīng)成為一種非常常用的解決方案[5]。其中最常用的是利用AOP思想進行系統(tǒng)的事務(wù)管理,減少數(shù)據(jù)庫操作的代碼量,這也是教學(xué)的重點。

如果課時安排比較充裕的話,還可以講解其它常用的框架,如支持Ajax的DWR框架,支持Web Service的Xfire框架等。

4 教學(xué)的實施

4.1 項目驅(qū)動法中項目的選擇

“項目驅(qū)動法”中項目的選取是關(guān)鍵,選擇一個好的項目既能啟發(fā)式的給學(xué)生傳授知識,又可激發(fā)學(xué)生的學(xué)習(xí)興趣。現(xiàn)在學(xué)生的遲到和曠課現(xiàn)象比較嚴(yán)重,靠傳統(tǒng)的點名考勤方式效果不佳,而且容易使學(xué)生反感,主要原因是考勤結(jié)果不能即時公布,接受同學(xué)們的監(jiān)督。如果有一個考勤系統(tǒng)能在考勤的同時把累計結(jié)果公示出來,可以給違反紀(jì)律的學(xué)生一種督促,也可以給表現(xiàn)好的學(xué)生一種鼓舞。我們使用本門課程即將學(xué)習(xí)的SSH三大輕量級框架技術(shù)實現(xiàn)一個達到以上效果的考勤系統(tǒng),作為課程的實踐項目。在第一次上課時把項目展示給學(xué)生,并在平時課堂上使用。授課過程中以此項目引導(dǎo)學(xué)生學(xué)習(xí),把需要掌握的技術(shù)具體應(yīng)用在這個項目中,達到一種學(xué)以致用的效果。當(dāng)知識點講完以后,整個項目就可以投入運行

4.2 授課計劃

選取了具體的項目后,如何把教學(xué)大綱中要求的知識點結(jié)合到項目中是一個需要認(rèn)真思考和設(shè)計的問題。既要考慮知識點的全面,又要統(tǒng)籌課時安排,既要突出重難點,又要兼顧項目的實現(xiàn)。在我們的培養(yǎng)計劃中,這門課的教學(xué)安排是28個學(xué)時,我們每個課時的授課計劃如表1所示。

由于課時較少,內(nèi)容較多,要求授課教師對教學(xué)內(nèi)容非常熟悉,動手能力較強,合理組織課堂教學(xué),才能用最短的時間把最好的內(nèi)容講解和演示給學(xué)生。

5 結(jié)束語

根據(jù)我們提出的Java四階段的教學(xué)理念,本課程屬于第三階段開源框架技術(shù),所講授的內(nèi)容也是學(xué)生就業(yè)后在工作中使用最多的,因此,這門課程在Java四階段教學(xué)理念中占有非常重要的地位。經(jīng)過多年的探索,我們逐步確立了以項目為驅(qū)動的教學(xué)方法。選取了以考勤系統(tǒng)作為實戰(zhàn)項目之后,教學(xué)質(zhì)量大大提升。這種通過與學(xué)生有緊密聯(lián)系的項目驅(qū)動教學(xué)方法一方面提高了學(xué)生的學(xué)習(xí)興趣,另一方面也對學(xué)生的學(xué)習(xí)紀(jì)律起到一種督促作用。使用這種教學(xué)方法后學(xué)生的遲到曠課現(xiàn)象比沒有使用這種方法的時候減少90%以上。

良好的教學(xué)實施,增強了學(xué)生的學(xué)習(xí)和實踐能力,學(xué)生的基礎(chǔ)和表現(xiàn)受到來自軟件企業(yè)的培訓(xùn)教師的贊許,有效地縮短了學(xué)生能力與企業(yè)具體的用人需求之間的差距。這幾年,我院計算機專業(yè)畢業(yè)生從事 Java開發(fā)工作的人數(shù)逐屆遞增,不少畢業(yè)生已成為單位的骨干。今年剛剛畢業(yè)的2008級的某位同學(xué),已經(jīng)在任職公司的Java開發(fā)小組擔(dān)任組長。2010 屆畢業(yè)生中有 5 人進入了廣州某知名軟件公司從事 Java 開發(fā)工作,因工作表現(xiàn)突出,該公司這兩年每年都給我院計算機專業(yè)畢業(yè)生提供 20 個 Java 就業(yè)崗位。在剛結(jié)束的學(xué)期的學(xué)生調(diào)查結(jié)果表明,Java框架技術(shù)課程已經(jīng)成為我院計算機專業(yè)學(xué)生最為認(rèn)可和歡迎的課程之一。

參考文獻:

[1] 許慶煒,徐兆佳,楊莉.軟件工程專業(yè)Java教學(xué)初探[J].計算機教育,2012(1):28-30.

[2] 鄭阿奇.Java EE實用教程[M].北京:電子工業(yè)出版社,2009:1-401.

[3] 周運.Java EE 框架課程教學(xué)方法改革與實踐[J].高師理科學(xué)刊,2012(2):99-102.

[4] 曹林.論項目驅(qū)動法在計算機基礎(chǔ)課程教學(xué)中的運用[J].現(xiàn)代閱讀,2012(4):47-48.

[5] 李剛.輕量級Java EE企業(yè)應(yīng)用實戰(zhàn)—Struts2+Spring3+Hibernate[M].北京:電子工業(yè)出版社,2011:157-715.

上栗县| 繁昌县| 仪征市| 正阳县| 新密市| 八宿县| 东海县| 绥德县| 虎林市| 伊川县| 延川县| 大洼县| 合山市| 中超| 元氏县| 诏安县| 汝城县| 河源市| 宝兴县| 桂阳县| 韶山市| 内黄县| 莆田市| 卓资县| 乌苏市| 阳西县| 宿迁市| 吴忠市| 宁德市| 额济纳旗| 澳门| 顺昌县| 柳州市| 清流县| 玉树县| 胶南市| 桓仁| 阜新| 古交市| 榆社县| 盘山县|