APP下载

浅谈高职院校Java web课程中web服务器原理教学方法和技巧

2016-10-11王崟陆莉莉

科技视界 2016年24期

王崟 陆莉莉

【摘 要】Java Web应用开发是软件技术Java开发方向中一门非常重要的岗位能力课程。在这门课的学习中,学生常常因为Web服务器基本原理的不理解导致入门困难。本文列举了学生在初学Java web开发课程时遇到的困难,讨论了解决和改进措施,对该课程中web服务器原理的教学内容、教学方法提出几点建议。

【关键词】Java web课程;web服务器原理

0 引言

现在高职院校软件技术专业中大多设有Java开发方向,而Java开发方向中的Java Web应用开发是一门十分重要的岗位能力课程,该课程中通常会包含JSP、servlet等服务端编程技术,还会包含MVC、Struts甚至SSH等框架的内容。而在这们课程的基本教学中,学生往往缺乏对HTTP协议的基本理解和认识,只知道在浏览器中输入网址就能看到页面,却不理解动态页面的执行过程。能简单使用Tomcat等web服务器,却不知道web服务器起到作用,基本原理的缺失直接影响到这门课的学习效果。本人通过教学经验,浅谈Java Web课程中关于web服务器原理部分教学的探索。

1 Java web应用开发课程的初学者学情分析

从该课程的教学中以及学生的反馈中,发现学生初学这门课时面临一些由于web服务器原理不理解而导致的课程入门困难,主要问题如下:

(1) Java web应用开发课程一般会开设在Java程序设计、静态网页技术(例如HTML、CSS)、客户端编程技术(例如JavaScript)课程之后 。学生已经具备了基本的Java编程能力以及网页设计的能力。

(2)学生掌握了静态网页技术,会编写简单的HTML页面,但是在静态网页技术开发课程中,往往都是以直接打开HTML文件的方式在浏览器中查看页面效果,学生理解和掌握的是如何用HTML代码设计出页面。而在实际的使用中,页面是通过HTTP协议从远程的服务器上传输到客户端的浏览器上显示的,对于这一点,学生没有清晰的概念。

(3)在JavaScript课程中,直接打开页面就能体验到JavaScript代码的执行。但是当JavaScript代码和java代码都掺杂在页面中的时候,很多学生不清楚两者的区别,不知道两种代码的执行场合。

(4)不清楚web服务器起到的作用,知道启动Tomcat,知道要把网站部署在Tomcat中,但是却不知道为什么要部署。很多学生很疑惑为什么静态页面和其中的JavaScript代码,直接打开页面就可以查看结果,而包含有Java代码的JSP页面必须部署在web服务器上才能通过输入URL的方式访问。

(5)手动部署应用的能力欠缺。课程开始都会介绍Java web应用中服务器中的部署结构,但是之后的授课中往往还是使用Myeclipse或者Eclipse for JavaEE之类的集成开发环境进行开发。而在集成开发环境下部署web应用往往是一键完成的,简单快捷,习惯了这种方式的学生脱离了集成开发环境之后几乎不知道如何部署。

2 解决和改进措施

2.1 逐步引导学生建立web服务器的概念

在Java web课程开始的时候,教师可以用两步提问的方式引导学生建立web服务器的概念。在学习网页设计的时候往往是直接用浏览器打开本机的页面文件,而在实际上网的时候是在浏览器里输入网址进行访问。学生都有浏览网页的经验,非常容易体会其中的差异。在这个阶段用静态HTML页面为例即可,先不涉及动态页面。

(1)问题1

为什么实际上网的时候,用户不会从本机直接打开一个网页文件?网站的页面在用户的电脑上吗?通过这个问题可以引导学生理解页面并不是存储于用户的电脑里,而是在远程某台/些称之为服务器的计算机里。

(2)问题2

用户输入一个网址之后,远程的服务器是如何找到用户想看的页面?如何把页面传送给用户的?通过这个问题,以让学生初步了解在网站的服务器上需要有一个称之为web服务器的程序,该程序会管理网站的页面,接受浏览器发出的请求,找到需要的页面,将页面发送给用户。

通过上面的两个问题,可以让学生建立起web服务器的基本概念,更多的web服务器功能可以在之后的教学中逐渐补充。

2.2 强化浏览器的工作原理和URL的组成

由于浏览网页需要浏览器和web服务器之间的通信,最常见的方式就是在浏览器的地址栏中输入网址,可以以这个为入口强化学生对于浏览器功能的理解。

首先分析URL的组成部分,学生知道理解这个俗称网址的字符串的由三部分组成,通过这个请求可以确定达远程的服务器,以及服务器上的具体某个页面。此时还是继续使用静态的HTML页面为例,让学生知道基本的请求过程即可。

2.3 用浏览器的开发者工具查看HTTP请求和响应

在介绍浏览器和URL的时候,只是简单的描述请求和响应。接下来可以具体介绍HTTP协议,HTTP协议对学生来说非常抽象,看不见摸不着,很难建立起直观的认识。这种情况下可以利用浏览器的开发者工具直接查看HTTP请求和响应,Firefox或者chrome都是不错的选择。

老师可以带领学生在浏览器里输入一个网址,直接查看该请求的HTTP请求头和消息体,同时还可以查看该请求的HTTP响应头和响应体。这样学生可以观察到浏览器向远程的服务发送了什么消息,又收到了什么回应,可以看到HTTP响应体里携带的HTML代码。通过这个方式学生不但可以知道HTTP协议的作用,也可以看到网页从远程服务器发送到本地的原始样子和其在浏览器中展示后的效果。更加深了对于浏览器功能的理解。

演示和查看了HTTP GET方式的请求和响应之后,还可以演示一下表单的POST方式提交,让学生了解两种方式的异同。

学生查看了不同的HTTP请求和响应之后,老师可以对请求头和响应头的最基本成分做简单的解释,学生初步了解即可,更多的细节后续课程中遇到了再详细介绍。

2.4 以实际的Java程序模拟简单的web服务器

展示一个简单的Java程序,该程序使用socket和浏览器进行通信,模拟web服务器的功能,管理几个简单的静态页面。通过该程序学生可以了解web服务器接收HTTP请求,找到资源并发送给浏览器的全过程,既可以帮助学生理解web服务器的工作原理,也可以查看浏览器发来的HTTP请求。

2.5 以案例片段帮助学生理解客户端程序和服务端程序的区别

用静态页面帮助学生理解web服务器的基本功能之后,接下来就是要让学生初步理解客户端程序和服务端程序的区别,也要引入web服务器执行服务端代码的功能。

首先,老师可以带领学生阅读一段嵌入了Java代码的JSP页面片段,代码尽量简单,可以配合部分数据表,用两次不同的访问,写出不同的运行结果(HTML页面)。让学生体会到服务端的动态页面要在web服务器上执行,每次执行产生的HTML文件可能不同,最终发给用户的响应是执行后的HTML代码。

之后,带领学生访问一个包含有JavaScript代码的页面,查看其HTTP响应消息,可以看到JavaScript代码随着HTML代码传给了浏览器。通过这个例子可以说明JavaScript代码是在浏览器端执行的。

2.6 渐进式开展手动部署应用的教学

在传统的教学中往往是在课程开始时一次性介绍java web应用的部署方式,学生学学过之后并没有深刻的体会,甚至都没有手动部署过一次应用。而Java Web应用中有静态页面、动态页面,JavaBean,servlet,jar包、其它资源等,部署描述文件的内容也根据不同的情况有区别,必须进行多次的练习才能掌握应用的部署。对此问题可以采用下面方法解决:

课程开始之初,还没有涉及JSP和servlet语法的时候,可以带领学生部署几个静态页面,学习如何设置应用的欢迎页面。

在学习到servlet、JSP、JavaBean之后,除了用集成开发环境部署应用之外,挑选一些应用要求学生用手动部署方式进行部署,让学生熟悉部署文件夹结构和web.xml文件结构。

由于学生容易在资源的路径问题上出错,在部署时还要特别强化对于其它资源的组织和部署。

3 结语

Java Web应用开发是软件技术Java方向中是一门十分重要的课程。本文探讨了Web服务器原理对这门课程入门的重要性,教学中常见的问题和解决方法。

【参考文献】

[1]孙卫琴.Tomcat与Java Web开发技术详解(第二版)[M].电子工业出版社,2009.

[责任编辑:朱丽娜]