999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Java web應用開發(fā)課程中MVC編程模式教學過程剖析

2018-05-14 13:52:18林萍
關鍵詞:數(shù)據(jù)庫課程教學

林萍

[摘 要] 針對Java web應用開發(fā)課程中MVC編程模式的教學難度大、學生掌握不好的教學實際,分析了教學過程中存在的困難和學生容易失去信心和興趣的環(huán)節(jié),提出一步一步深入講解,每個環(huán)節(jié)提出問題并解決,從而達到學生輕松掌握本知識點的目的,為后續(xù)課程做好充分準備。

[關 鍵 詞] Java web;jsp;MVC;servlet

[中圖分類號] G712 [文獻標志碼] A [文章編號] 2096-0603(2018)17-0039-03

Java web應用開發(fā)課程是一門綜合性非常強的專業(yè)核心課程,它的前導課程包括Java面向對象程序設計、網(wǎng)頁設計、數(shù)據(jù)庫基礎、客戶端編程等一系列的專業(yè)基礎課,所以學生在學習本門課程的時候,都會覺得非常吃力并且掌握不好,尤其是對MVC三層模式的理解非常困難。在Java web應用開發(fā)課程教學中將這些基本概念講清楚、講透徹是提高課堂教學質量的關鍵。通過多年教學實踐,筆者對這些難點、要點進行了研究探討[1]。

本門課程以mysql作為后端數(shù)據(jù)庫、前端采用jsp+servlet+javabean的MVC模式來講解開發(fā)一個學生信息管理系統(tǒng)。首先通過Java連接mysql數(shù)據(jù)庫、然后jsp顯示數(shù)據(jù),進而引出廣泛使用的MVC編程模式,一步步由淺入深地講解整個大型網(wǎng)站的開發(fā)過程,并且采用教學做一體化的教學模式,是學生在學中做,做中學,輕松掌握核心的專業(yè)知識,為后續(xù)的利用框架進行大型網(wǎng)站開發(fā)課程打下堅實的基礎。

一、數(shù)據(jù)庫準備

Mysql數(shù)據(jù)庫是一種開放源代碼的關系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS),它是Oracle公司提供的一種開源數(shù)據(jù)庫,由于其小巧、快速而備受關注,如今很多大型網(wǎng)站,如淘寶網(wǎng)已經全面采用mysql數(shù)據(jù)庫進行數(shù)據(jù)的存儲,所以其應用前景非常好,Java也是oracle公司的產品,可以做到和mysql無縫連接,所以在學習本門課程的時候,優(yōu)選mysql作為后端開發(fā)數(shù)據(jù)庫。

首先采用學生熟悉的學生信息管理作為開發(fā)背景,設計出兩張簡易的學生信息表:

設計出表之后,再增加幾行數(shù)據(jù),這時增加授課班級的信息,會讓同學們熟悉并更好理解需求,以某次上課班級信息數(shù)據(jù)如圖1和圖2所示:

二、引入Java連接數(shù)據(jù)庫并顯示數(shù)據(jù)

Java連接mysql數(shù)據(jù)庫,首先需要下載mysql的jdbc包,此包由數(shù)據(jù)庫廠商免費提供。Java連接數(shù)據(jù)庫包括以下四個步驟[2]:

(一)在Java程序中加載驅動程序

Class.forName("驅動名稱");

(二)創(chuàng)建數(shù)據(jù)連接對象

Connection conn= DriverManager.getConnection("連接數(shù)據(jù)庫的URL","用戶名","密碼");

(三)創(chuàng)建Statement對象

Statement stat =conn.createStatement();

(四)調用Statement對象的相關方法執(zhí)行相對應的SQL語句

ResultSet rs = stat.executeQuery("select * from student");

然后才可以對rs中被訪問出的數(shù)據(jù)對象進行操作。

其中驅動名稱和連接數(shù)據(jù)庫的url很難記憶,對學生來說記憶也非常痛苦,可以利用myeclipse開發(fā)環(huán)境的“myeclipse database explorer”來自動產生驅動名稱和url,如圖3所示,從而減少學生的記憶痛苦,提高學習興趣。

測試成功,帶領學生編寫以下代碼,并且在控制臺輸出學生信息:

//1.導入驅動

Class.forName("com.mysql.jdbc.Driver");

//2.獲取連接

Connection con = DriverManager.getConnection("jdbc: mysql://localhost:3306/jsp","root","root");

//3.產生語句對象

Statement st = con.createStatement();

//4.處理結果集

String sql = "select xuehao,name,score from student";

ResultSet rs = st.executeQuery(sql);

while(rs.next()){ System.out.println(rs.getString("xuehao")+"\t"+rs.getString("name")+"\t"+rs.getInt("score"));}

此段代碼一定要帶著學生運行成功并顯示數(shù)據(jù),為后續(xù)學習提供有力保證:

三、在jsp頁面中連接數(shù)據(jù)庫并顯示數(shù)據(jù)

將上面的Java代碼復制到jsp文件中,修改jsp的page指令,導入Java.sql包,把mysql的jdbc驅動包放入項目的lib文件夾下,修改必要的代碼,將學生信息顯示在ie中:

此部分操作相對簡單,只要理解了第二步的代碼書寫,學生都能在此步驟輕松地掌握。

四、將代碼分層jsp+javabean模式

將所有代碼都寫在jsp文件中,顯然不利于代碼重復利用,也不利于程序擴展,需要將代碼分層處理,jsp頁面只起到顯示作用,分層如下:

1.將連接數(shù)據(jù)庫單獨寫到一個DBUtil.java文件中,以備所有連接數(shù)據(jù)庫重復利用。

2.應用面向對象的思路,將數(shù)據(jù)庫表和Java類一一對應,從而實現(xiàn)面向對象編程。所以相應增加兩個pojo(Plain Ordinary Java Object)類,Student類和Banji類。

3.對每個表的增刪改查操作分別用對應的DAO(Data Access Object)類來實現(xiàn),如對student表的操作,編寫StudentDAO類來實現(xiàn)對student表的增刪改查結構化操作。如圖6所示:

在DAO類中的增刪改查操作,一定要測試成功后再進行下一步操作,否則學生很容易失去耐心和信心。而且要留下足夠的時間讓學生自己充分理解代碼并書寫實現(xiàn)功能,此處是重點也是難點,很多學生在此環(huán)節(jié)沒跟上就會失去學習的信心和動力。

五、引入servlet,MVC模式展現(xiàn)

上面的模式中,還會有一些不是顯示性質的代碼寫入jsp文件中,在實際開發(fā)過程中,jsp文件僅僅是用來顯示內容,而其他功能性的代碼都會放置在java文件中,因此,實際開發(fā)過程中,引入控制層(control)來控制代碼的流程走向,因此,引入servlet來達到控制代碼走向的目的,通常,我們采用每個種操作對應一個servlet,在servlet中調用DAO文件,并將結果以request或者session等傳遞出去。如圖7所示:

至此,帶領學生完成了整個jsp+serlvet+javabean的教學工作,每一個環(huán)節(jié)都讓學生充分理解為什么要這樣做,這樣做的目的和優(yōu)點,從而講清楚MVC模式的優(yōu)點,V(view)顯示層,主要指的jsp文件或者html文件,專門用于顯示,C(control)控制層,主要指的servlet文件,專門用于控制流程走向,負責V層和M層之間的調度安排。其他的java文件,包括pojo和DAO等都屬于M層,用于使用面向對象思路來對數(shù)據(jù)庫進行操作并且展示到頁面上。MVC不允許M和V直接交互,必須通過C層進行操作,從而使顯示層和模型層低耦合。

六、總結

Java web應用開發(fā)是一門綜合性很強的課程,其中的MVC模式編程是教學中的重點和難點,掌握這個模式為后續(xù)的課程和工作都會打下堅實的基礎,在講解完成后,還可以進一步提出將用戶的邏輯需求再分一層,叫邏輯層(business),簡寫為BIZ,對應的就會有StudentBIZ.java和BanjiBIZ.java分別用于處理用戶邏輯的類,這個在后續(xù)課程spring或者structs中會講到,如果能提前學習會有利于后續(xù)課程知識的掌握。

參考文獻:

[1]楊占勝,許作萍,張雪飛.JSP應用開發(fā)課程教學難點要點剖析[J].計算機教育,2015(20):96.

[2]牛德雄,陳華政,李彬,等.基于MVC的jsp軟件開發(fā)案例[M].北京:清華大學出版社,2014.

猜你喜歡
數(shù)據(jù)庫課程教學
數(shù)字圖像處理課程混合式教學改革與探索
微課讓高中數(shù)學教學更高效
甘肅教育(2020年14期)2020-09-11 07:57:50
軟件設計與開發(fā)實踐課程探索與實踐
計算機教育(2020年5期)2020-07-24 08:53:38
為什么要學習HAA課程?
“自我診斷表”在高中數(shù)學教學中的應用
東方教育(2017年19期)2017-12-05 15:14:48
數(shù)據(jù)庫
財經(2017年2期)2017-03-10 14:35:35
對外漢語教學中“想”和“要”的比較
唐山文學(2016年2期)2017-01-15 14:03:59
數(shù)據(jù)庫
財經(2016年15期)2016-06-03 07:38:02
數(shù)據(jù)庫
財經(2016年3期)2016-03-07 07:44:46
數(shù)據(jù)庫
財經(2016年6期)2016-02-24 07:41:51
主站蜘蛛池模板: 特级做a爰片毛片免费69| 国产真实二区一区在线亚洲| 日韩久久精品无码aV| 成人欧美在线观看| 日韩一级二级三级| 精品1区2区3区| 色综合天天综合中文网| 四虎永久免费地址| 国产系列在线| 成人午夜视频在线| 国产99精品久久| 欧美在线三级| 在线中文字幕网| 夜夜拍夜夜爽| 亚洲中文制服丝袜欧美精品| 亚洲成人黄色在线观看| 91探花在线观看国产最新| 日韩麻豆小视频| 久久77777| a毛片在线| 中文字幕在线视频免费| 一本色道久久88亚洲综合| 亚洲成人在线免费观看| 欧美在线网| 日韩免费毛片| 蜜臀av性久久久久蜜臀aⅴ麻豆| 免费在线国产一区二区三区精品| 岛国精品一区免费视频在线观看| 国产福利不卡视频| 国产乱人伦AV在线A| 91欧洲国产日韩在线人成| 丁香五月亚洲综合在线| 国产91精品久久| 日韩精品中文字幕一区三区| 成人国产三级在线播放| 欧美日本不卡| 亚洲人成在线精品| 国产剧情国内精品原创| 99ri国产在线| 国产理论一区| 国产日韩精品一区在线不卡 | 青青操国产视频| 亚洲人成影院午夜网站| 婷婷伊人五月| 久久综合结合久久狠狠狠97色| 精品伊人久久久久7777人| 欧美午夜网| 亚洲精选无码久久久| 国产成人亚洲综合a∨婷婷| 91成人在线观看视频| 国产精品一区二区在线播放| 99久久精品免费看国产免费软件| 久久综合九色综合97网| 六月婷婷精品视频在线观看| Jizz国产色系免费| 成人在线视频一区| 毛片视频网址| 美女啪啪无遮挡| 免费a在线观看播放| 免费国产无遮挡又黄又爽| 国产乱人伦偷精品视频AAA| 91视频区| 91在线无码精品秘九色APP| 美女一区二区在线观看| 国产性爱网站| 亚洲天堂视频在线观看| 免费看黄片一区二区三区| 日韩国产亚洲一区二区在线观看| 日本免费福利视频| 亚洲成a人片| jizz国产在线| 国产精品视频猛进猛出| v天堂中文在线| 网久久综合| AV老司机AV天堂| 99re精彩视频| 国产玖玖玖精品视频| 最新精品久久精品| 女人av社区男人的天堂| 国产在线观看91精品| 精品人妻无码中字系列| 91久久国产热精品免费|