《Web應(yīng)用開(kāi)發(fā)》課程教學(xué)大綱
課程編號(hào):136033
課程名稱(chēng):Web應(yīng)用開(kāi)發(fā)/Web Application Development
課程總學(xué)時(shí)/學(xué)分:80學(xué)時(shí)/4學(xué)分(其中理論48學(xué)時(shí),實(shí)驗(yàn)32學(xué)時(shí))
適用專(zhuān)業(yè):計(jì)算機(jī)類(lèi)專(zhuān)業(yè)
一、課程簡(jiǎn)介
《Web應(yīng)用開(kāi)發(fā)》是計(jì)算機(jī)類(lèi)專(zhuān)業(yè)一門(mén)專(zhuān)業(yè)課程,主要介紹JSP技術(shù)及其應(yīng)用。重點(diǎn)介紹JSP基本語(yǔ)法,主要包括JSP變量及方法的聲明、java程序片、java表達(dá)式、注釋以及JSP指令標(biāo)記和JSP動(dòng)作標(biāo)記;JSP內(nèi)置對(duì)象;JavaBean技術(shù)及其應(yīng)用;Servlet技術(shù)及其應(yīng)用;JDBC數(shù)據(jù)庫(kù)編程技術(shù)及其應(yīng)用;MVC設(shè)計(jì)模式及其應(yīng)用;JSP常用組件技術(shù)及其應(yīng)用;EL&JSTL技術(shù)及其應(yīng)用;Web應(yīng)用項(xiàng)目開(kāi)發(fā)等。本課程旨在提高學(xué)生分析問(wèn)題和解決問(wèn)題的能力,培養(yǎng)學(xué)生綜合應(yīng)用和實(shí)踐動(dòng)手能力。
二、教學(xué)目的和任務(wù)
根據(jù)學(xué)?!耙惑w兩翼,三經(jīng)四緯,五個(gè)保障”的宏觀人才培養(yǎng)模式,以及計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)人才培養(yǎng)方案要求。通過(guò)本課程的教學(xué)要使學(xué)生學(xué)會(huì)運(yùn)用JSP技術(shù)進(jìn)行軟件開(kāi)發(fā),以達(dá)到培養(yǎng)J2EE初級(jí)軟件開(kāi)發(fā)工程師的目標(biāo)任務(wù),彰顯學(xué)校應(yīng)用型人才培養(yǎng)的特色。
三、教學(xué)基本要求
本課程的內(nèi)容從知識(shí)、素質(zhì)、能力、德、智、體、美七個(gè)維度形成教學(xué)內(nèi)容方陣,每一次課一般安排3-5個(gè)知識(shí)點(diǎn),從七個(gè)維度組織內(nèi)容,分課內(nèi)、課外開(kāi)展教學(xué)。
1.素質(zhì)培養(yǎng)
(1)思想政治素質(zhì)
培養(yǎng)學(xué)生具有中國(guó)特色社會(huì)主義共同理想,秉承社會(huì)主義核心價(jià)值觀;具有愛(ài)國(guó)主義精神;具有責(zé)任心和社會(huì)責(zé)任感。
(2)文化素質(zhì)
培養(yǎng)學(xué)生具有不斷更新知識(shí)和自我完善的能力;具有持續(xù)學(xué)習(xí)和終身學(xué)習(xí)的能力;具有一定的創(chuàng)新意識(shí)、創(chuàng)新精神和創(chuàng)新能力;具有一定的人文和藝術(shù)素養(yǎng);具有良好的人際溝通能力。
(3)專(zhuān)業(yè)素質(zhì)
使學(xué)生掌握J(rèn)SP開(kāi)發(fā)技術(shù)的基本知識(shí);培養(yǎng)學(xué)生運(yùn)用JSP技術(shù)進(jìn)行軟件開(kāi)發(fā)能力;使學(xué)生具有一定的軟件設(shè)計(jì)、調(diào)試能力;以至于培養(yǎng)學(xué)生利用基本知識(shí)、基本技能,解決實(shí)際問(wèn)題的能力。
(4)職業(yè)素質(zhì)
培養(yǎng)學(xué)生具有良好的職業(yè)道德和職業(yè)操守,具有較強(qiáng)的組織觀念和集體意識(shí);培養(yǎng)學(xué)生的規(guī)范意識(shí)和標(biāo)準(zhǔn)意識(shí)等。
(5)身心素質(zhì)
培養(yǎng)學(xué)生具有人文素養(yǎng)、審美能力、團(tuán)結(jié)協(xié)作精神,具有健康的體魄和良好強(qiáng)健的心理素質(zhì),以及適應(yīng)社會(huì)能力素質(zhì)。
2.能力培養(yǎng):集中訓(xùn)練學(xué)生邏輯思維能力、綜合應(yīng)用和實(shí)踐能力、軟件設(shè)計(jì)和開(kāi)發(fā)能力等。
3.德育培養(yǎng):貫徹課程思政精神,在學(xué)習(xí)中結(jié)合知識(shí)點(diǎn)開(kāi)展文化、思想、政治等教育加強(qiáng)愛(ài)國(guó)主義教育。軟件設(shè)計(jì)開(kāi)發(fā)就是現(xiàn)實(shí)世界的虛擬化,集合了人們的人生觀、世界觀、方法論。因此,在課程教學(xué)中結(jié)合知識(shí)點(diǎn)開(kāi)展文化、思想、政治等教育將會(huì)有更佳的效果。
4.智育培養(yǎng):軟件設(shè)計(jì)開(kāi)發(fā)是學(xué)生智力和創(chuàng)新能力的最好體現(xiàn),通過(guò)軟件設(shè)計(jì)開(kāi)發(fā)以培養(yǎng)學(xué)生自主學(xué)習(xí)能力,啟迪與激發(fā)學(xué)生的創(chuàng)新能力,讓學(xué)生的智育得到進(jìn)一步提高。
5.體育培養(yǎng):編程是既是一種腦力勞動(dòng),又是一種體力勞動(dòng),要求學(xué)生不僅要有毅力還要有體力。在編程過(guò)程中,要耐得住寂寞,經(jīng)得起加班,平時(shí)一定要加強(qiáng)體育鍛煉,提高學(xué)生的體質(zhì)。
6.美育培養(yǎng):通過(guò)編程技巧和編碼規(guī)范來(lái)讓學(xué)生學(xué)會(huì)欣賞程序,進(jìn)而讓學(xué)生愛(ài)上程序和編程,體驗(yàn)編程過(guò)程和不計(jì)其數(shù)的調(diào)試過(guò)程以及最終成功的喜悅和成就感,體會(huì)編程的魅力。
四、教學(xué)內(nèi)容與學(xué)時(shí)分配
(一)JSP的基本語(yǔ)法(4學(xué)時(shí))
1.知識(shí)點(diǎn)
(1)JSP頁(yè)面的構(gòu)成元素;
(2)JSP頁(yè)面的指令標(biāo)記,主要包括page指令、include指令、taglib指令;
(3)腳本元素,主要包括變量和方法聲明、Java表達(dá)式、Java腳本等;
(4)JSP注釋?zhuān)籎SP的動(dòng)作元素,主要包括
2. 重點(diǎn)
JSP頁(yè)面中常用的指令標(biāo)記、Java程序片及動(dòng)作標(biāo)記等。
3. 難點(diǎn)
JSP指令標(biāo)記、程序片、動(dòng)作標(biāo)記等在實(shí)際項(xiàng)目中的靈活運(yùn)用。
(二)JSP內(nèi)置對(duì)象(6學(xué)時(shí))
1.知識(shí)點(diǎn)
(1)request對(duì)象,重點(diǎn)講授獲取客戶(hù)端表單信息,特別是中文亂碼產(chǎn)生的原因和解決方法、getParameter(String name)方法等;屬性方法setAttribute(String name,Object object)和getAttribute(String name)等;請(qǐng)求頭信息;獲取客戶(hù)端信息;獲取服務(wù)器端信息。
(2)response對(duì)象,重點(diǎn)講授頁(yè)面的重定向;與頭信息相關(guān)方法;操作Cookie;獲取和修改頁(yè)面的編碼方式;獲取輸出對(duì)象;獲得二進(jìn)制輸出流*;設(shè)置響應(yīng)頭信息的長(zhǎng)度*;操作MIME類(lèi)型*;對(duì)響應(yīng)的狀態(tài)行內(nèi)容的改變*等
(3)session對(duì)象,重點(diǎn)講授session的概念;與session對(duì)象屬性相關(guān)的方法;與session對(duì)象自身相關(guān)的方法;session對(duì)象的生存期限;session對(duì)象的應(yīng)用。
(4)out對(duì)象、application對(duì)象、page對(duì)象、exception對(duì)象、config對(duì)象、pageContext對(duì)象,重點(diǎn)講授application、pageContext對(duì)象。
2.重點(diǎn)
request、response、session、pageContext對(duì)象及其常用方法。
3. 難點(diǎn)
request、response、session等對(duì)象在項(xiàng)目中的靈活運(yùn)用,網(wǎng)頁(yè)中中文漢字亂碼的靈活處理。
(三)JavaBean技術(shù)及其應(yīng)用(4學(xué)時(shí))
1.知識(shí)點(diǎn)
(1)JavaBean概述;
(2)JSP頁(yè)面中如何使用JavaBean,JavaBean對(duì)象值的注入和顯示;
(3)JavaBean的生命周期:page、request、session、application。
(4)JavaBean技術(shù)的應(yīng)用,主要講授JSP+JavaBean設(shè)計(jì)模式的應(yīng)用。
2. 重點(diǎn)
JavaBean規(guī)范、生命周期和JSP+JavaBean設(shè)計(jì)模式。
3. 難點(diǎn)
靈活運(yùn)用JSP+JavaBean設(shè)計(jì)模式的解決現(xiàn)實(shí)問(wèn)題。
(四)Servlet技術(shù)及其應(yīng)用(8學(xué)時(shí))
1. 知識(shí)點(diǎn)
(1)Servlet的概念、XML和簡(jiǎn)單編程及其運(yùn)行;
(2)Servlet的工作原理及其生命周期;
(3)Serlvet常用接口和類(lèi),Servlet應(yīng)用:過(guò)濾器和監(jiān)聽(tīng)器;
(4)MVC設(shè)計(jì)模式及應(yīng)用應(yīng)用,即JSP+JavaBean+Servlet設(shè)計(jì)模式。
2. 重點(diǎn)
Servlet的工作原理及其生命周期,過(guò)濾器,MVC模式。
3.難點(diǎn)
MVC設(shè)計(jì)模式在實(shí)際開(kāi)發(fā)中的靈活運(yùn)用。
(五)JDBC數(shù)據(jù)庫(kù)編程技術(shù)及其應(yīng)用(10學(xué)時(shí))
1.知識(shí)點(diǎn)
(1)數(shù)據(jù)庫(kù)管理系統(tǒng)概述,JDBC簡(jiǎn)介,JDBC數(shù)據(jù)庫(kù)編程的步驟及基于其步驟的編程;
(2)JDBC編程中的更新、插入、刪除和查詢(xún)等操作及其封裝成的工具類(lèi);
(3)三層架構(gòu)(表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問(wèn)層)思想,基于三層架構(gòu)和JDBC工具類(lèi)的應(yīng)用開(kāi)發(fā)。
(4)數(shù)據(jù)庫(kù)連接池及其應(yīng)用,結(jié)合數(shù)據(jù)庫(kù)連接池把JDBC工具類(lèi)進(jìn)一步完善。
2. 重點(diǎn)
DriverManager類(lèi)、Connection接口、Statement接口、PreparedStatement接口和ResultSet接口等到基于這些類(lèi)和接口而封裝成JDBC工具類(lèi)及其應(yīng)用。
3. 難點(diǎn)
基于三層架構(gòu)和JDBC工具類(lèi)在項(xiàng)目開(kāi)發(fā)中的靈活應(yīng)用。
(六)JSP常用組件及其應(yīng)用(4學(xué)時(shí))
1.知識(shí)點(diǎn)
(1)操作Excel文檔、Word文檔、PDF文檔和圖表的組件介紹;
(2)jspSmartUpload組件的主要API;
(3)使用jspSmartUpload組件實(shí)現(xiàn)文件上傳及其應(yīng)用;
(4)使用jspSmartUpload組件實(shí)現(xiàn)文件下載及其應(yīng)用。
2. 重點(diǎn)
文件上傳下載組件、圖表組件等及其應(yīng)用。
3. 難點(diǎn)
常用組件特別是jspSmartUpload組件在實(shí)際項(xiàng)目開(kāi)發(fā)中的靈活應(yīng)用。
(七)EL&JSTL技術(shù)及其應(yīng)用(6學(xué)時(shí))
1.知識(shí)點(diǎn)
(1)JSTL標(biāo)簽簡(jiǎn)介及JSTL標(biāo)簽配置;
(2)EL表達(dá)式,主要包含EL表達(dá)式的基本語(yǔ)法、EL表達(dá)式隱含對(duì)象、EL運(yùn)算符、EL函數(shù)等;
(3)JSTL的常用標(biāo)簽,分支標(biāo)簽及其應(yīng)用,迭代標(biāo)簽及其應(yīng)用、URL相關(guān)標(biāo)簽等;
(4)EL&JSTL在實(shí)際項(xiàng)目的應(yīng)用。
2. 重點(diǎn)
EL表達(dá)式及JSP常用標(biāo)簽、分支標(biāo)簽和迭代標(biāo)簽。
3.難點(diǎn)
EL表達(dá)式及JSP標(biāo)簽等在實(shí)際項(xiàng)目開(kāi)發(fā)中的靈活應(yīng)用。
(八)Web應(yīng)用項(xiàng)目開(kāi)發(fā)(6學(xué)時(shí))
1.知識(shí)點(diǎn)與要求
(1)教師可以根據(jù)自己的研究領(lǐng)域和Web應(yīng)用開(kāi)發(fā)方面的技術(shù)設(shè)計(jì)一些項(xiàng)目讓學(xué)生完成,也可以讓學(xué)生自擬項(xiàng)目經(jīng)教師審核批準(zhǔn)后讓其完成;
(2)設(shè)計(jì)的Web項(xiàng)目最好是以團(tuán)隊(duì)為單位進(jìn)行開(kāi)發(fā),一般一個(gè)團(tuán)隊(duì)3-7人為宜;
(3)教師應(yīng)運(yùn)用軟件工程的思想指導(dǎo)學(xué)生完成Web項(xiàng)目的開(kāi)發(fā)。
2. 重點(diǎn)與難點(diǎn)
三層架構(gòu)思想、基于數(shù)據(jù)連接池的JDBC工具類(lèi)在Web項(xiàng)目中的綜合應(yīng)用。
五、教學(xué)方法及手段
根據(jù)學(xué)生的實(shí)際情況,結(jié)合本課程的特點(diǎn),為提高教學(xué)效果,實(shí)現(xiàn)課程的教學(xué)任務(wù)和目標(biāo),貫徹“以學(xué)生為主體,教師為主導(dǎo)”的教學(xué)理念,課程采用以任務(wù)驅(qū)動(dòng)法、案例分析法、分組討論法、通過(guò)網(wǎng)絡(luò)課程線上線下相結(jié)合等多種教學(xué)方法和手段,鼓勵(lì)學(xué)生通過(guò)自主學(xué)習(xí)、小組合作的方式學(xué)習(xí),以培養(yǎng)他們的自主學(xué)習(xí)能力。興趣是最好的老師,在教學(xué)過(guò)程中將以興趣為先導(dǎo),精心設(shè)計(jì)上機(jī)實(shí)踐題目,培養(yǎng)學(xué)生分析問(wèn)題、解決問(wèn)題、動(dòng)手實(shí)踐能力以及團(tuán)隊(duì)協(xié)作能力。鼓勵(lì)學(xué)生多角度思考問(wèn)題,對(duì)同一問(wèn)題提供多種算法,培養(yǎng)學(xué)生的創(chuàng)新思維。
六、實(shí)驗(yàn)或上機(jī)內(nèi)容
實(shí)驗(yàn)一:JSP指令和內(nèi)置對(duì)象的綜合應(yīng)用
1.使用JSP的基本語(yǔ)法、指令標(biāo)記、動(dòng)作標(biāo)記和內(nèi)置對(duì)象等完成用戶(hù)信息的提交和顯示的操作。
2.設(shè)計(jì)JSP頁(yè)面的最頂部有LOGO、最低部有版權(quán)信息、中間部分顯示頁(yè)面主題內(nèi)容。
3.學(xué)生要完成前述兩項(xiàng)的內(nèi)容和要求,特別是指令標(biāo)記、動(dòng)作標(biāo)記和內(nèi)置對(duì)象request、response、out、session等要在實(shí)驗(yàn)中使用。
4.學(xué)生按上述要求完成該實(shí)驗(yàn)項(xiàng)目,教師檢查每個(gè)學(xué)生的完成情況。
5.學(xué)生要提交完整的web項(xiàng)目(能夠發(fā)布運(yùn)行),或?qū)嶒?yàn)報(bào)告;且每個(gè)學(xué)生都要提交。
6.學(xué)生要單人單機(jī)實(shí)驗(yàn)。
實(shí)驗(yàn)二:MVC及三層架構(gòu)綜合應(yīng)用
1.分析與研究教師指定項(xiàng)目的靜態(tài)頁(yè)面,創(chuàng)建數(shù)據(jù)庫(kù)及其表;
2.使用JSP、JavaBean、Servlet和三層架構(gòu)(表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問(wèn)層)完成項(xiàng)目編程實(shí)現(xiàn):
(1)使用JdbcUtil工具類(lèi)完成數(shù)據(jù)訪問(wèn)層的操作。
(2)表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)庫(kù)訪問(wèn)層之間要使用接口。
(3)項(xiàng)目實(shí)現(xiàn)的流程一般是JSPàServletà業(yè)務(wù)邏輯層à數(shù)據(jù)訪問(wèn)層à數(shù)據(jù)庫(kù),Servlet獲取的數(shù)據(jù)在JSP頁(yè)面展示。
3.學(xué)生按上述要求完成該實(shí)驗(yàn)項(xiàng)目,教師檢查每個(gè)學(xué)生的完成情況。
4.學(xué)生要提交完整的web項(xiàng)目(能夠發(fā)布運(yùn)行),或?qū)嶒?yàn)報(bào)告;且每個(gè)學(xué)生都要提交。
5.學(xué)生要單人單機(jī)實(shí)驗(yàn)。
實(shí)驗(yàn)三:JSP常用組件及其應(yīng)用
1.根據(jù)常用組件設(shè)計(jì)綜合項(xiàng)目,完成上傳下載組件、動(dòng)態(tài)圖表組件、PDF文件操作組件或Excel組件的應(yīng)用等。
2.設(shè)計(jì)的項(xiàng)目一般至少要使用jspSmartUpload或Commons-FileUpload組件完成文件上傳和下載的功能。
3.學(xué)生按教師的要求完成該實(shí)驗(yàn)項(xiàng)目,教師檢查每個(gè)學(xué)生的完成情況。
4.學(xué)生要提交完整的web項(xiàng)目(能夠發(fā)布運(yùn)行),或?qū)嶒?yàn)報(bào)告;且每個(gè)學(xué)生都要提交。
5.學(xué)生要單人單機(jī)實(shí)驗(yàn)。
實(shí)驗(yàn)四:EL&JSTL技術(shù)及其應(yīng)用
1.把Web項(xiàng)目中JSP頁(yè)面的Java程序片和Java表達(dá)式等用EL或JSTL來(lái)實(shí)現(xiàn)。
2.實(shí)驗(yàn)所需Web項(xiàng)目可由教師指定或?qū)W生自選(要教師審核批準(zhǔn));把Ajax技術(shù)盡量應(yīng)用到實(shí)驗(yàn)項(xiàng)目中。
3.學(xué)生按上述內(nèi)容和要求完成該實(shí)驗(yàn)項(xiàng)目,教師檢查每個(gè)學(xué)生的完成情況。
4.學(xué)生要提交完整的web項(xiàng)目(能夠發(fā)布運(yùn)行),或?qū)嶒?yàn)報(bào)告;且每個(gè)學(xué)生都要提交。
5.學(xué)生要單人單機(jī)實(shí)驗(yàn)。
七、先修課程、后續(xù)課程
先修課程:《面向?qū)ο蟪绦蛟O(shè)計(jì)(Java)》、《Web開(kāi)發(fā)基礎(chǔ)》、《數(shù)據(jù)庫(kù)原理及應(yīng)用》
后續(xù)課程:《框架編程技術(shù)》
八、考核方式
為了提高學(xué)生出勤率,改善上課方式、突出學(xué)生的主體地位,加強(qiáng)學(xué)生的動(dòng)手和實(shí)踐能力,讓學(xué)生能夠充分體會(huì)軟件開(kāi)發(fā)方法、過(guò)程和團(tuán)隊(duì)協(xié)作等,可以采用靈活多樣的考核方式,可以使用如下的方式,但不限于此。
1. 傳統(tǒng)的考核方式:最終成績(jī) = 平時(shí)成績(jī)(20%)+ 期末成績(jī)(80%),詳見(jiàn)考試大綱。
2. 過(guò)程化考核方式:最終成績(jī) = 考勤成績(jī)(10%)+ 過(guò)程成績(jī)(90%),詳細(xì)內(nèi)容參見(jiàn)過(guò)程化考試方案。
九、教材及主要參考資料
[1] 賈志城、王云,《JSP程序設(shè)計(jì)》人民郵電出版社,2016年4月。
[2] 郭珍、王國(guó)輝,《JSP程序設(shè)計(jì)教程》,人民郵電出版社,2014年3月。
[3] 王國(guó)輝、李文立等,《JSP數(shù)據(jù)庫(kù)系統(tǒng)開(kāi)發(fā)完全手冊(cè)》,人民郵電出版社,2010年5月。
[4] 陳丹丹、高飛,《JSP項(xiàng)目開(kāi)發(fā)全程實(shí)錄》,清華大學(xué)出版社,2013年12月。