• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      淺談高職院校Java web課程中web服務(wù)器原理教學(xué)方法和技巧

      2016-10-11 08:56:02王崟陸莉莉
      科技視界 2016年24期

      王崟 陸莉莉

      【摘 要】Java Web應(yīng)用開(kāi)發(fā)是軟件技術(shù)Java開(kāi)發(fā)方向中一門非常重要的崗位能力課程。在這門課的學(xué)習(xí)中,學(xué)生常常因?yàn)閃eb服務(wù)器基本原理的不理解導(dǎo)致入門困難。本文列舉了學(xué)生在初學(xué)Java web開(kāi)發(fā)課程時(shí)遇到的困難,討論了解決和改進(jìn)措施,對(duì)該課程中web服務(wù)器原理的教學(xué)內(nèi)容、教學(xué)方法提出幾點(diǎn)建議。

      【關(guān)鍵詞】Java web課程;web服務(wù)器原理

      0 引言

      現(xiàn)在高職院校軟件技術(shù)專業(yè)中大多設(shè)有Java開(kāi)發(fā)方向,而Java開(kāi)發(fā)方向中的Java Web應(yīng)用開(kāi)發(fā)是一門十分重要的崗位能力課程,該課程中通常會(huì)包含JSP、servlet等服務(wù)端編程技術(shù),還會(huì)包含MVC、Struts甚至SSH等框架的內(nèi)容。而在這們課程的基本教學(xué)中,學(xué)生往往缺乏對(duì)HTTP協(xié)議的基本理解和認(rèn)識(shí),只知道在瀏覽器中輸入網(wǎng)址就能看到頁(yè)面,卻不理解動(dòng)態(tài)頁(yè)面的執(zhí)行過(guò)程。能簡(jiǎn)單使用Tomcat等web服務(wù)器,卻不知道web服務(wù)器起到作用,基本原理的缺失直接影響到這門課的學(xué)習(xí)效果。本人通過(guò)教學(xué)經(jīng)驗(yàn),淺談Java Web課程中關(guān)于web服務(wù)器原理部分教學(xué)的探索。

      1 Java web應(yīng)用開(kāi)發(fā)課程的初學(xué)者學(xué)情分析

      從該課程的教學(xué)中以及學(xué)生的反饋中,發(fā)現(xiàn)學(xué)生初學(xué)這門課時(shí)面臨一些由于web服務(wù)器原理不理解而導(dǎo)致的課程入門困難,主要問(wèn)題如下:

      (1) Java web應(yīng)用開(kāi)發(fā)課程一般會(huì)開(kāi)設(shè)在Java程序設(shè)計(jì)、靜態(tài)網(wǎng)頁(yè)技術(shù)(例如HTML、CSS)、客戶端編程技術(shù)(例如JavaScript)課程之后 。學(xué)生已經(jīng)具備了基本的Java編程能力以及網(wǎng)頁(yè)設(shè)計(jì)的能力。

      (2)學(xué)生掌握了靜態(tài)網(wǎng)頁(yè)技術(shù),會(huì)編寫簡(jiǎn)單的HTML頁(yè)面,但是在靜態(tài)網(wǎng)頁(yè)技術(shù)開(kāi)發(fā)課程中,往往都是以直接打開(kāi)HTML文件的方式在瀏覽器中查看頁(yè)面效果,學(xué)生理解和掌握的是如何用HTML代碼設(shè)計(jì)出頁(yè)面。而在實(shí)際的使用中,頁(yè)面是通過(guò)HTTP協(xié)議從遠(yuǎn)程的服務(wù)器上傳輸?shù)娇蛻舳说臑g覽器上顯示的,對(duì)于這一點(diǎn),學(xué)生沒(méi)有清晰的概念。

      (3)在JavaScript課程中,直接打開(kāi)頁(yè)面就能體驗(yàn)到JavaScript代碼的執(zhí)行。但是當(dāng)JavaScript代碼和java代碼都摻雜在頁(yè)面中的時(shí)候,很多學(xué)生不清楚兩者的區(qū)別,不知道兩種代碼的執(zhí)行場(chǎng)合。

      (4)不清楚web服務(wù)器起到的作用,知道啟動(dòng)Tomcat,知道要把網(wǎng)站部署在Tomcat中,但是卻不知道為什么要部署。很多學(xué)生很疑惑為什么靜態(tài)頁(yè)面和其中的JavaScript代碼,直接打開(kāi)頁(yè)面就可以查看結(jié)果,而包含有Java代碼的JSP頁(yè)面必須部署在web服務(wù)器上才能通過(guò)輸入U(xiǎn)RL的方式訪問(wèn)。

      (5)手動(dòng)部署應(yīng)用的能力欠缺。課程開(kāi)始都會(huì)介紹Java web應(yīng)用中服務(wù)器中的部署結(jié)構(gòu),但是之后的授課中往往還是使用Myeclipse或者Eclipse for JavaEE之類的集成開(kāi)發(fā)環(huán)境進(jìn)行開(kāi)發(fā)。而在集成開(kāi)發(fā)環(huán)境下部署web應(yīng)用往往是一鍵完成的,簡(jiǎn)單快捷,習(xí)慣了這種方式的學(xué)生脫離了集成開(kāi)發(fā)環(huán)境之后幾乎不知道如何部署。

      2 解決和改進(jìn)措施

      2.1 逐步引導(dǎo)學(xué)生建立web服務(wù)器的概念

      在Java web課程開(kāi)始的時(shí)候,教師可以用兩步提問(wèn)的方式引導(dǎo)學(xué)生建立web服務(wù)器的概念。在學(xué)習(xí)網(wǎng)頁(yè)設(shè)計(jì)的時(shí)候往往是直接用瀏覽器打開(kāi)本機(jī)的頁(yè)面文件,而在實(shí)際上網(wǎng)的時(shí)候是在瀏覽器里輸入網(wǎng)址進(jìn)行訪問(wèn)。學(xué)生都有瀏覽網(wǎng)頁(yè)的經(jīng)驗(yàn),非常容易體會(huì)其中的差異。在這個(gè)階段用靜態(tài)HTML頁(yè)面為例即可,先不涉及動(dòng)態(tài)頁(yè)面。

      (1)問(wèn)題1

      為什么實(shí)際上網(wǎng)的時(shí)候,用戶不會(huì)從本機(jī)直接打開(kāi)一個(gè)網(wǎng)頁(yè)文件?網(wǎng)站的頁(yè)面在用戶的電腦上嗎?通過(guò)這個(gè)問(wèn)題可以引導(dǎo)學(xué)生理解頁(yè)面并不是存儲(chǔ)于用戶的電腦里,而是在遠(yuǎn)程某臺(tái)/些稱之為服務(wù)器的計(jì)算機(jī)里。

      (2)問(wèn)題2

      用戶輸入一個(gè)網(wǎng)址之后,遠(yuǎn)程的服務(wù)器是如何找到用戶想看的頁(yè)面?如何把頁(yè)面?zhèn)魉徒o用戶的?通過(guò)這個(gè)問(wèn)題,以讓學(xué)生初步了解在網(wǎng)站的服務(wù)器上需要有一個(gè)稱之為web服務(wù)器的程序,該程序會(huì)管理網(wǎng)站的頁(yè)面,接受瀏覽器發(fā)出的請(qǐng)求,找到需要的頁(yè)面,將頁(yè)面發(fā)送給用戶。

      通過(guò)上面的兩個(gè)問(wèn)題,可以讓學(xué)生建立起web服務(wù)器的基本概念,更多的web服務(wù)器功能可以在之后的教學(xué)中逐漸補(bǔ)充。

      2.2 強(qiáng)化瀏覽器的工作原理和URL的組成

      由于瀏覽網(wǎng)頁(yè)需要瀏覽器和web服務(wù)器之間的通信,最常見(jiàn)的方式就是在瀏覽器的地址欄中輸入網(wǎng)址,可以以這個(gè)為入口強(qiáng)化學(xué)生對(duì)于瀏覽器功能的理解。

      首先分析URL的組成部分,學(xué)生知道理解這個(gè)俗稱網(wǎng)址的字符串的由三部分組成,通過(guò)這個(gè)請(qǐng)求可以確定達(dá)遠(yuǎn)程的服務(wù)器,以及服務(wù)器上的具體某個(gè)頁(yè)面。此時(shí)還是繼續(xù)使用靜態(tài)的HTML頁(yè)面為例,讓學(xué)生知道基本的請(qǐng)求過(guò)程即可。

      2.3 用瀏覽器的開(kāi)發(fā)者工具查看HTTP請(qǐng)求和響應(yīng)

      在介紹瀏覽器和URL的時(shí)候,只是簡(jiǎn)單的描述請(qǐng)求和響應(yīng)。接下來(lái)可以具體介紹HTTP協(xié)議,HTTP協(xié)議對(duì)學(xué)生來(lái)說(shuō)非常抽象,看不見(jiàn)摸不著,很難建立起直觀的認(rèn)識(shí)。這種情況下可以利用瀏覽器的開(kāi)發(fā)者工具直接查看HTTP請(qǐng)求和響應(yīng),F(xiàn)irefox或者chrome都是不錯(cuò)的選擇。

      老師可以帶領(lǐng)學(xué)生在瀏覽器里輸入一個(gè)網(wǎng)址,直接查看該請(qǐng)求的HTTP請(qǐng)求頭和消息體,同時(shí)還可以查看該請(qǐng)求的HTTP響應(yīng)頭和響應(yīng)體。這樣學(xué)生可以觀察到瀏覽器向遠(yuǎn)程的服務(wù)發(fā)送了什么消息,又收到了什么回應(yīng),可以看到HTTP響應(yīng)體里攜帶的HTML代碼。通過(guò)這個(gè)方式學(xué)生不但可以知道HTTP協(xié)議的作用,也可以看到網(wǎng)頁(yè)從遠(yuǎn)程服務(wù)器發(fā)送到本地的原始樣子和其在瀏覽器中展示后的效果。更加深了對(duì)于瀏覽器功能的理解。

      演示和查看了HTTP GET方式的請(qǐng)求和響應(yīng)之后,還可以演示一下表單的POST方式提交,讓學(xué)生了解兩種方式的異同。

      學(xué)生查看了不同的HTTP請(qǐng)求和響應(yīng)之后,老師可以對(duì)請(qǐng)求頭和響應(yīng)頭的最基本成分做簡(jiǎn)單的解釋,學(xué)生初步了解即可,更多的細(xì)節(jié)后續(xù)課程中遇到了再詳細(xì)介紹。

      2.4 以實(shí)際的Java程序模擬簡(jiǎn)單的web服務(wù)器

      展示一個(gè)簡(jiǎn)單的Java程序,該程序使用socket和瀏覽器進(jìn)行通信,模擬web服務(wù)器的功能,管理幾個(gè)簡(jiǎn)單的靜態(tài)頁(yè)面。通過(guò)該程序?qū)W生可以了解web服務(wù)器接收HTTP請(qǐng)求,找到資源并發(fā)送給瀏覽器的全過(guò)程,既可以幫助學(xué)生理解web服務(wù)器的工作原理,也可以查看瀏覽器發(fā)來(lái)的HTTP請(qǐng)求。

      2.5 以案例片段幫助學(xué)生理解客戶端程序和服務(wù)端程序的區(qū)別

      用靜態(tài)頁(yè)面幫助學(xué)生理解web服務(wù)器的基本功能之后,接下來(lái)就是要讓學(xué)生初步理解客戶端程序和服務(wù)端程序的區(qū)別,也要引入web服務(wù)器執(zhí)行服務(wù)端代碼的功能。

      首先,老師可以帶領(lǐng)學(xué)生閱讀一段嵌入了Java代碼的JSP頁(yè)面片段,代碼盡量簡(jiǎn)單,可以配合部分?jǐn)?shù)據(jù)表,用兩次不同的訪問(wèn),寫出不同的運(yùn)行結(jié)果(HTML頁(yè)面)。讓學(xué)生體會(huì)到服務(wù)端的動(dòng)態(tài)頁(yè)面要在web服務(wù)器上執(zhí)行,每次執(zhí)行產(chǎn)生的HTML文件可能不同,最終發(fā)給用戶的響應(yīng)是執(zhí)行后的HTML代碼。

      之后,帶領(lǐng)學(xué)生訪問(wèn)一個(gè)包含有JavaScript代碼的頁(yè)面,查看其HTTP響應(yīng)消息,可以看到JavaScript代碼隨著HTML代碼傳給了瀏覽器。通過(guò)這個(gè)例子可以說(shuō)明JavaScript代碼是在瀏覽器端執(zhí)行的。

      2.6 漸進(jìn)式開(kāi)展手動(dòng)部署應(yīng)用的教學(xué)

      在傳統(tǒng)的教學(xué)中往往是在課程開(kāi)始時(shí)一次性介紹java web應(yīng)用的部署方式,學(xué)生學(xué)學(xué)過(guò)之后并沒(méi)有深刻的體會(huì),甚至都沒(méi)有手動(dòng)部署過(guò)一次應(yīng)用。而Java Web應(yīng)用中有靜態(tài)頁(yè)面、動(dòng)態(tài)頁(yè)面,JavaBean,servlet,jar包、其它資源等,部署描述文件的內(nèi)容也根據(jù)不同的情況有區(qū)別,必須進(jìn)行多次的練習(xí)才能掌握應(yīng)用的部署。對(duì)此問(wèn)題可以采用下面方法解決:

      課程開(kāi)始之初,還沒(méi)有涉及JSP和servlet語(yǔ)法的時(shí)候,可以帶領(lǐng)學(xué)生部署幾個(gè)靜態(tài)頁(yè)面,學(xué)習(xí)如何設(shè)置應(yīng)用的歡迎頁(yè)面。

      在學(xué)習(xí)到servlet、JSP、JavaBean之后,除了用集成開(kāi)發(fā)環(huán)境部署應(yīng)用之外,挑選一些應(yīng)用要求學(xué)生用手動(dòng)部署方式進(jìn)行部署,讓學(xué)生熟悉部署文件夾結(jié)構(gòu)和web.xml文件結(jié)構(gòu)。

      由于學(xué)生容易在資源的路徑問(wèn)題上出錯(cuò),在部署時(shí)還要特別強(qiáng)化對(duì)于其它資源的組織和部署。

      3 結(jié)語(yǔ)

      Java Web應(yīng)用開(kāi)發(fā)是軟件技術(shù)Java方向中是一門十分重要的課程。本文探討了Web服務(wù)器原理對(duì)這門課程入門的重要性,教學(xué)中常見(jiàn)的問(wèn)題和解決方法。

      【參考文獻(xiàn)】

      [1]孫衛(wèi)琴.Tomcat與Java Web開(kāi)發(fā)技術(shù)詳解(第二版)[M].電子工業(yè)出版社,2009.

      [責(zé)任編輯:朱麗娜]

      天等县| 新宁县| 四会市| 云和县| 德阳市| 根河市| 周口市| 平乡县| 达日县| 滦南县| 治县。| 乌兰察布市| 普格县| 安徽省| 漳浦县| 特克斯县| 鞍山市| 公安县| 华亭县| 广德县| 奉贤区| 益阳市| 凤山县| 奇台县| 松原市| 南陵县| 江北区| 新宾| 桓台县| 太康县| 陈巴尔虎旗| 通许县| 连江县| 宁陵县| 安义县| 桦甸市| 阜新| 成武县| 石家庄市| 买车| 靖宇县|