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

        ?

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

        2018-05-14 13:52:18林萍
        關(guān)鍵詞:本門代碼編程

        林萍

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

        [關(guān) 鍵 詞] Java web;jsp;MVC;servlet

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        Statement stat =conn.createStatement();

        (四)調(diào)用Statement對象的相關(guān)方法執(zhí)行相對應(yīng)的SQL語句

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

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

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

        測試成功,帶領(lǐng)學(xué)生編寫以下代碼,并且在控制臺輸出學(xué)生信息:

        //1.導(dǎo)入驅(qū)動

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

        //2.獲取連接

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

        //3.產(chǎn)生語句對象

        Statement st = con.createStatement();

        //4.處理結(jié)果集

        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"));}

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

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

        將上面的Java代碼復(fù)制到j(luò)sp文件中,修改jsp的page指令,導(dǎo)入Java.sql包,把mysql的jdbc驅(qū)動包放入項目的lib文件夾下,修改必要的代碼,將學(xué)生信息顯示在ie中:

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

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

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

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

        2.應(yīng)用面向?qū)ο蟮乃悸?,將?shù)據(jù)庫表和Java類一一對應(yīng),從而實現(xiàn)面向?qū)ο缶幊?。所以相?yīng)增加兩個pojo(Plain Ordinary Java Object)類,Student類和Banji類。

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

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

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

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

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

        六、總結(jié)

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

        參考文獻(xiàn):

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

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

        猜你喜歡
        本門代碼編程
        我家有只編程貓
        我家有只編程貓
        我家有只編程貓
        我家有只編程貓
        開設(shè)全科醫(yī)療中的醫(yī)患關(guān)系及溝通技巧課程的調(diào)查分析
        創(chuàng)世代碼
        動漫星空(2018年11期)2018-10-26 02:24:02
        創(chuàng)世代碼
        動漫星空(2018年2期)2018-10-26 02:11:00
        創(chuàng)世代碼
        動漫星空(2018年9期)2018-10-26 01:16:48
        創(chuàng)世代碼
        動漫星空(2018年5期)2018-10-26 01:15:02
        Control-Oriented Modeling and Simulation on Rigid-Aeroelasticity Coupling for Hypersonic Vehicle
        亚洲av永久无码精品古装片 | 国产精品国产三级国产av′| 精品中文字幕制服中文| 中文字幕一区二区人妻在线不卡| 中文字幕免费人成在线网站| 日本高清视频xxxxx| 蜜桃视频一区二区三区在线观看| 7878成人国产在线观看| av大片在线无码永久免费网址 | 99爱在线精品免费观看| 亚洲欧美日韩精品久久亚洲区| 国产高清在线精品一区αpp| 日本免费三级一区二区| 亚洲天堂二区三区三州| 一本大道无码人妻精品专区| 天天躁人人躁人人躁狂躁| 精品人妻一区二区三区蜜桃| 久久精品久久精品中文字幕| 久青草影院在线观看国产| 亚洲精品天堂成人片av在线播放| 国产va免费精品观看| 日韩在线视频不卡一区二区三区| 精品人妻少妇丰满久久久免| 三级全黄裸体| 柠檬福利第一导航在线| 亚洲熟妇20| 亚洲国产精品国自产拍av在线| 国内嫩模自拍诱惑免费视频| 精品少妇爆乳无码av无码专区| 欧美伊人亚洲伊人色综| 在线亚洲妇色中文色综合| 偷看农村妇女牲交| 熟女俱乐部五十路二区av| 国产一区二区三区色区| av一区二区三区在线| 人人色在线视频播放| 日韩精品区欧美在线一区| 激情五月天俺也去综合网| 视频在线国产一区二区| 精品一区二区三区免费播放| 欧美精品日韩一区二区三区|