动态网页开发Servlet基础实验综述

2019-09-19 11:34张艳明
电脑知识与技术 2019年20期

张艳明

摘要: 作为Java Web动态网站开发的核心基础技术,Servlet编程是大学Java Web开发课程实验教学体系的重要组成部分。本文从实验设计理念、实验基本原理、实验执行过程以及实验总结等方面对Servlet基础实验进行综述和分析,最后给出总结和思考。

关键词: 动态网页开发; Servlet; Java Web开发

中图分类号:TP311        文献标识码:A

文章编号:1009-3044(2019)20-0080-03

开放科学(资源服务)标识码(OSID):

Abstract:As the core basic technology of Java Web dynamic website development, Servlet programming is an important part of the experimental teaching system of Java Web development course in universities. In this paper, the basic experiment of Servlet is summarized and analyzed from the aspects of experimental design concept, experimental basic principle, experimental execution process and experimental summary. Finally, the summary and thinking are given.

Key words:modularization; teaching reform; java web development course;

随着互联网技术的飞速发展及普及,Web应用开发技术教学日益受到高等教育的重視和关注[1]。Java Web应用开发课程主要教授用于构建互联网站、开发网络应用的Web开发技术,使得学生掌握常用Web应用开发工具的使用,具备中小型Web应用系统开发、部署和调试的能力。Java Web开发课程是一门实践性非常强的软件开发类专业课程,实验教学是该课程教学活动的重要组成部分[2]。作为Java Web 技术的核心基础,Servlet的学习和实践效果对于奠定学生Java Web开发的扎实基础具有极其重要的作用。本文对Java Web开发课程Servlet基础实验的设计思路、执行过程进行系统性的综述,并在最后给出总结和思考。

1 Servlet概述

Servlet是Sun公司提供的一种基于Java语言的动态Web网页开发技术。一个Servlet是运行在Web服务器上的基于Java语言的一个应用程序,也称为服务器小应用程序,它的基本作用是在B/S(浏览器/服务器)架构下,对客户端发送的请求进行响应处理[3] [4]。Web服务器可以将浏览器发送的HTTP请求对应到一个程序(比如Servlet),由程序经过各种处理,生成动态变化的内容,再由Web服务器传回给浏览器以显示。

2 实验设计

作为奠定学生学习Java Web动态网站开发的重要基础,对Servlet实验的设计理念和执行过程进行了精心的构造和梳理。实验内容设定为开发一个Servlet程序,实现把HTML页面内容“响应”给浏览器,同时嵌入动态时间信息,要求将Servlet部署在Tomcat服务器上并配置Servlet访问路径,最后通过浏览器正确访问。

2.1设计理念

Servlet基础实验的设计遵循“实用性、典型性、启发性、操作性”四原则,在有限的时间内达到一个良好的实验效果。

1)实用性:Servlet是一门重要的动态网页开发技术,其技术和原理在企业开发中被大量运用;

2)典型性:强调典型原理细节,要求深刻理解蕴含的理论知识,对Servlet原理的深刻理解对于今后的web开发学习将起到事半功倍的作用;

3)启发性:鼓励学生研究Servlet的“模板方法”机制,为今后企业级框架开发技术的学习做铺垫;

4)操作性:突出实验动手能力,实验采取现场答辩验收,要求学生动手演示并进行分析。

2.2实验原理

2.2.1 Servlet的开发原理

Servlet的开发遵循SUN公司提供的Servlet API规范,通常选择继承 javax.http.servlet.HttpServlet,并重写doGet()或者doPost()方法,以响应浏览器提交的HTTP get或者post请求。doGet或者doPost方法有两个重要的参数对象,分别是HttpServletRequest对象和HttpServletResponse对象。在Servlet开发中,通过HttpSerlvetRequest对象获取客户端发送给服务器的请求信息,通过HttpServletResponse对象向客户端传回响应。

Servlet的开发不需要编写main方法,对应的客户端get请求到来时,服务器自动调用Servlet的doGet方法,如果是post请求,则自动调用doPost方法。

2.2.2 Servlet的访问原理

Servlet的访问路径可以通过web.xml文件或者注解进行配置,其中,web.xml的配置步骤包括注册和映射两个环节。一个元素用以注册一个Servlet ,元素包括两个主要子元素:设置Servlet的注册名称,指定Servlet的完整类。一个元素用以映射一个已注册Servlet的对外访问路径,元素包含两个主要子元素:指定一个已注册的Servlet名称,为该Servlet设置一个对外访问路径。

2.2.3 Servlet的响应原理

服务器在接收到客户端User Agent(通常是浏览器)发送的HTTP请求之后,根据web.xml文件中的Servlet配置信息,将请求转发到相应的Servlet。服务器中的Servlet容器自动创建一个HttpServletRequest对象,将HTTP请求信息进行封装。在Servlet开发中可以根据HttpServletRequest对象获取相关请求信息,并根据需要进行相应的业务逻辑操作。同时,Servlet容器自动创建一个HttpServletResponse对象,用以生成响应数据,并经过服务器传回给发送请求的客户端User Agent。Servlet的响应序列图如图2所示。

2.3实验过程

2.3.1 Servlet的编写

利用开发工具新建一个Web网站工程(假定名称为servletDemo),在src目录下编写一个Java类,继承自javax.servlet.http.HttpServlet,重写HttpServlet类的doGet()或doPost()方法。方法体里通过Java Date类对象获取当前时间信息,通过HttpServletResponse的输出方法,向客户端响应一个普通HTML页面,其中包含动态产生的时间信息。主要代码如下:

标签里完成Servlet的注册,其中标签里配置具体的Servlet类的完整路径,给其注册一个以任意合法标识符命名的别名。标签里完成对已注册Servlet的具体路径配置,其中引用前面注册的别名,配置具体的访问路径。访问路径可以任意,一般以“/”开头,代表web.xml配置文件所在的当前应用根目录。

2.3.3 部署访问

将完成了程序开发和路径配置的Servlet进行编译,并将编译后的class文件部署到Tomcat服务器之中,并通过浏览器输入正确的URL地址进行访问,输出响应结果。在Java Web开发中,Servlet编译之后的部署位置有具体的要求,要求将其部署在WEB-INF目录之下classes目录之中,包含完整的包名。

正确完成部署之后,访问的URL地址路径需要书写正确,否则服务器会返回404状态码,表示无法找到对应的资源。针对Servlet访问路径的正确写法是在web.xml文件中的配置路径之前加上http://IP地址(域名):服务器端口号/当前应用。针对本文案例和环境,IP地址代表Tomcat服务器所在的主机IP地址,如果是本机访问,可以用127.0.0.1或者localhost本地域名来表示。端口号代表Tomcat服务器对外提供服务的端口号,假定为8080(不同的服务器配置的端口号可能不一样)。当前应用则是2.3.1小节所新建的网站名称servletDemo。因此,访问以上部署在本机Tomcat服务器上的Servlet,完整的访问路径为:

2.3.4 实验分析和要求

Servlet实验中有一些需要重点注意的环节。Servlet的开发需要严格遵循Servlet API规范,要求学生对Servlet API规范有透彻的理解。Servlet的访问路径配置通常以“/”开头,这里的“/”代表当前应用根目录,要求学生对服务器里的当前应用根目录和当前站点根目录有很好的认识和区分。最后需要特别注意的是,Servlet中编写的doGet、doPost等方法由服务器在需要的时候自动调用,称之为“回调方法”或者“模板方法”,要求学生对Servlet的运行原理和开发机制进行深入的分析,进一步了解模板方法在软件开发中的具体应用和实现原理,为今后更深入的动态网页开发框架技术学习奠定良好的前期基础。

3 实验总结

Java Web应用系统开发课程面向具备一定Java编程基础的本专科学生,强调知识的应用场景,突出可操作性和动手实践性。Servlet编程作为Java Web动态网站开发的核心基础技术,实验的设计和学习效果在课程学习体系中占据着重要的地位。本文对Servlet基础实验的实验原理、设计理念和执行过程等进行了全面的阐述和分析。从近几年的实际教学反馈来看,取得了较好的效果。当前,在信息化浪潮的推动下,大学传统教学方式正在不断发生着演化和变革。如何借助更加现代化和开放式的新型教学理念,是今后值得研究的方向。

参考文献:

[1] 黄正宝.高职Java Web开发课程体系构建与教学实施[J].电脑知识与技术,2016,12(34):146-148.

[2] 徐胜舟.项目驱动法在Java Web程序设计实验教学中的应用[J].计算机教育,2012(24):116-119.

[3] 樊振宇.深入理解SERVLET和JSP原理[J].电脑知识与技术,2011,7(11):2570-2573.

[4] 鄒靖霖,李树英.用Servlet开发Web应用[J].计算机应用研究,2000(3) :125-128.

【通联编辑:唐一东】