论文部分内容阅读
摘要:利用基于J2EE的Web开发应用系统作为数字化项目教学平台是计算机专业教育教学研究中的一个热点。本文从适应高校计算机专业教学模式改革的需要出发,介绍了基于J2EE的数字化项目教学平台的主要功能、总体架构、设计思路、主要实现技术,突出了Web B/S模式,Applet、Servlet等Web页面技术、Socket通信机制和ASP应用技术在平台开发中的核心地位,并以此为理论依据,设计与实现了平台部分功能界面及代码。总结了基于J2EE Web开发应用技术的数字化项目教学案例平台的优点、不足之处及进一步的工作。
关键词:J2EE 数字化 项目教学 平台
中图分类号:G424文献标识码:B 文章编号:1673-8454(2009)07-0045-03
高校计算机专业教学模式发展到项目化阶段已成为计算机专业教育教学改革发展的必然趋势,利用基于Web技术的数字化项目教学平台已成为计算机专业教育教学研究中的一个热点和重要环节。当前,基于Web技术的各类数字化、信息化、网络化、项目化的教学案例平台正在不断开发和研究中。[1][2][3]
与传统的Web应用程序模型相比,基于J2EE的Web应用平台更具有数字化、面向对象性、平台独立性、兼容性、可扩展性和较强的交互性、系统性、开放性、灵活性、实时性等优点,用户可以将其移植到多种操作系统上运行。[3] 因此,为了更好地适应高校计算机专业教学模式改革的需要,本文设计与实现了一个基于J2EE Web开发应用技术、开放性的数字化项目教学案例平台。
一、项目化教学平台的主要功能
本平台将传统的教学内容设计和过程控制等教育教学环节的实施方式提升到现代化、网络化、无纸化的项目管理方式,将传统的课程作业提交、批改、评分、提问、答疑、考试及学生自我测验的方式改为不受时空限制的规范化Web形式。其在线答疑环节以一对多方式提高了老师和学生互动效率,运行时脱离网页,学生在等待老师回答的同时,不影响浏览其他的网页,使教学质量和管理效率大为提高,在完成教学任务的同时使学生更好地掌握专业理论知识和相应的实践技能。[4]
二、项目化教学平台的总体架构与设计思路
本项目教学平台设计成教师-学生模块(客户端)、教学资源发布模块(WebServer,即Web服务器端)和后台模块(数据库服务器端) 三层模式。平台总体架构如图1所示,说明如下:客户端通过互联网和Web服务器端进行通信连接,主要提供交互使用的图形用户操作界面(如教师注册登录、布置作业、在线答疑、评分及录入分数等,学生注册、登录、提交作业、在线答疑、成绩查询等)、数据格式转换等功能,总体划分为用户登录、编译检错、逻辑检错等功能子模块,因为大量的处理任务要交给服务器完成,操作界面过于复杂时导致服务器响应慢,所以设计客户端时要简洁。[5]
图1平台系统总体架
教学资源发布模块用来动态发布教学过程中涉及的内容(如响应并处理客户端请求,发出访问数据库的信息,将处理结果返回客户端),核心是Servlet,总体划分为用户管理服务、文件服务和逻辑检错服务等功能子模块;后台模块也就是信息管理层,主要由管理员使用,包括用户管理、数据库管理等功能子模块,用于存放教学过程中用到的数据(如系统初始化、信息查询、数据库备份及恢复等),包含用户数据库、用例数据库、试题数据库和成绩查询数据库等几个数据库。服务器端和数据库服务器端可以统称为服务器模块,数据库统一由数据库操作程序进行规范管理,按实际需要导入。
三、平台设计的主要技术
本平台采用Web B/S模式,以Applet、Servlet等Web页面技术、Socket通信机制和ASP应用为理论依据,使用J2EE平台设计底层架构、数据格式及数据传输之间的连接,开发过程中只需关心业务逻辑,把设计的注意点从代码编写层次提高到抽象的建模层次。处理流程为:首先客户端输入账号和口令进行登录,向服务器发出请求信息,服务器接收到请求后进行查询,验证登录信息是否有效,从数据库获得查询结果后返回给客户端。[6] 设计过程中涉及的主要技术如下:
1.数据库访问技术
即后台数据库层设计。采用SQL Server存储数据,以JDBC-ODBC桥接方式连接数据库。可以先建立SQL Server数据源,再用如下语句加载桥驱动程序:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")然后使用java.sql包中的Connection类、Statement类、ResultSet类的相关方法建立数据库连接、执行SQL语句(包括查询语句、更新语句、创建数据库语句等)和保存查询所得结果。
2.数据通信处理与消息设计机制
B/S模式的应用必须向所有客户端的浏览器发出请求,整个平台是建立在消息基础上的(例如交谈、白板、向导、答疑、用户登入和退出、试题库访问、登分、查分等消息)。服务器端和客户端均承担消息处理工作,但Web服务器与客户端通信时采用HTTP协议传送XML文件,通过部署的应用程序去获取和处理数据,再把结果传给相应的客户端浏览器去显示,服务器端只负责转发,其他由客户端进行处理,其中可能包含多种消息。而应用服务器主要解决实时交互处理。这可以参照TCP/IP数据包的格式,采用双Socket通路的办法来解决,即在服务器端设立两个Socket端口,所有客户端分别针对两个端口来建立相应的Socket连接。
3.Web页面设计技术
要进入项目平台管理主页面及了解平台的普及和使用程度,必须用HTML网页编码技术开发一个用于登录及跟踪访问平台登录次数的Web站点(每个用户访问平台主页时,点击数加1),在J2EE服务器上部署Web页面,教师和学生均使用账号与口令从此Web站点登录平台,然后进入到交互性的教师-学生图形界面。交互界面运行在基于J2EE的Applet中,使Web页面由静态转向动态,加载到不同客户端的浏览器中运行。[1] 不过,Applet通常运行在一个可访问的资源有限的“沙箱”中,而且因为点击次数的数据保存在客户端上(这只能记录某特定用户登录平台的次数),为完整记录平台的完整访问次数和存取“沙箱”之外的资源,该数据必须保存在服务器端。解决的办法是在网页的来源地另设一个存取数据库数据的Java应用程序,通过Socket和相应的Java Applet应用程序通信,使得Java Applet所需的数据库数据由Java应用程序转发而来,而这是可以用基于J2EE Servlet技术来解决的,即在J2EE服务器上部署Servlet(译为服务器小程序)。
为验证登录信息与存放在数据库服务器中的数据是否一致,需要创建一个应用来查询并验证教师、学生输入的账号与口令,可以在J2EE服务器上部署ASP应用程序,利用若干会话实体JavaBean来同时构造教师注册登录、布置作业,在线答疑、评分及录入分数、学生注册、登录、提交作业、在线提问、成绩查询等静态和动态页面。
四、平台部分功能界面及代码的实现
教师-学生登录页面(见图2)用HTML编码和ASP应用程序来实现,当教师、学生在客户端浏览器键入网址时,进入页面,输入教工号或学号,以及口令,点击页面上的登录按钮时,即向服务器端发送了一个请求,Servlet接收登录信息,并执行doPost()方法。教师-学生交互界面,如图3所示,也是一个Applet GUI界面。
图3交互界面
创建一个Label对象l1,作为平台的教师—学生交互界面的标题。创建TextArea对象t1、t2,作为交互内容显示的区域,然后创建 “课程性质与目标”、“理论教学内容”、“案例与实践教学”、“作业布置”、“讨论交流与答疑”、“测试”、“名单与成绩录入”七个Button对象。代码段如下:
Label l1=new Label("基于J2EE的数字化项目教学平台教师—学生交互界面",Label.CENTER);
TextArea t1=new TextArea(10,10);
TextArea t2=new TextArea(10,50);
Button b1[]=new Button[7];
String b2[]={"课程性质与目标","理论教学内容","案例与实践教学","作业布置","讨论交流与答疑","测试", "名单与成绩录入"};
for(int i=0;i<=6;i )
{b1[i]=new Button(b2[i])};
GUI的各控件按BorderLayout方式布局,通过add()方法添加到Applet中,代码段如下:
setLayout(new BorderLayout());
Panel p1=new Panel();Panel p2=new Panel();
Panel p3=new Panel();
p1.setLayout(new BorderLayout());
p1.add("North",l1);p1.add(l2);p2.add(b1[i]);add ("North",p1);add("South",p2);p3.add("East",t1);p3.add ("West",t2);add("Center",p3);
单击这些按钮,分别将后台数据库内容显示在文本区。对不同的课程,数据库只需统一按数据库操作程序进行规范管理,按实际需要导入,开放性很强。
最后是设置控件的字体、风格、字号、前景色、背景色等,代码段如下:
l1.setFont(new Font("隶书",Font.BOLD,25));
l1.setForeground(new Color(0,0,255));
b1[i].setFont(new Font("黑体",Font.BOLD,13));
b1[i].setForeground(new Color(0,0,255));
b1[i].setBackground(new Color(0,255,255));
五、结束语
本平台具有跨平台性,体现了典型的人机交互界面,讨论交流环节使用TCP/IP数据包格式,采用双Socket通路方法在服务器方设立两个Socket端口。单击不同的按钮,分别将后台数据库内容显示在文本区,并且对不同的课程而言,数据库只需统一按数据库操作程序进行规范管理,按实际需要导入,兼容性、可扩展性和开放性得到了保证。
不足之处是:JavaBean的设计没有较好体现静态和动态页面之间的切换,因此,今后的工作应对JavaBean的应用做进一步研究。
参考文献:
[1]张琴.一个基于Java Web开发应用的教学案例设计与实现[J].计算机教育,2008(13):98-100.
[2]林金山,林建兵,谢怀生.用Java设计的基于三层结构的答疑系统[J].计算机工程与设计,2008,29(5):1308-1310.
[3]郭辉,陈松乔.基于J2EE架构的Java语言学习平台的设计与实现[J].计算机与信息技术,2008(7):32-36.
[4]李芝兴,朱庆生,曾一.基于JavaEE技术的实验教学平台的开发与建设[J].计算机教育,2008(2):110-112.
[5]CEAC信息化培训认证管理办公室.工程化程序设计语言(Java)[M].北京:高等教育出版社.2006.1.
[6]陈丽欣.基于JavaME和JavaEE的移动商务系统应用研究[J].计算机与信息技术,2008(6):12-15.
[7]邵光亚.Java语言程序设计[M].北京:清华大学出版社,2001.9.
[8]胡伏湘.Java程序设计实用教程[M].北京:清华大学出版社.2005.7.
关键词:J2EE 数字化 项目教学 平台
中图分类号:G424文献标识码:B 文章编号:1673-8454(2009)07-0045-03
高校计算机专业教学模式发展到项目化阶段已成为计算机专业教育教学改革发展的必然趋势,利用基于Web技术的数字化项目教学平台已成为计算机专业教育教学研究中的一个热点和重要环节。当前,基于Web技术的各类数字化、信息化、网络化、项目化的教学案例平台正在不断开发和研究中。[1][2][3]
与传统的Web应用程序模型相比,基于J2EE的Web应用平台更具有数字化、面向对象性、平台独立性、兼容性、可扩展性和较强的交互性、系统性、开放性、灵活性、实时性等优点,用户可以将其移植到多种操作系统上运行。[3] 因此,为了更好地适应高校计算机专业教学模式改革的需要,本文设计与实现了一个基于J2EE Web开发应用技术、开放性的数字化项目教学案例平台。
一、项目化教学平台的主要功能
本平台将传统的教学内容设计和过程控制等教育教学环节的实施方式提升到现代化、网络化、无纸化的项目管理方式,将传统的课程作业提交、批改、评分、提问、答疑、考试及学生自我测验的方式改为不受时空限制的规范化Web形式。其在线答疑环节以一对多方式提高了老师和学生互动效率,运行时脱离网页,学生在等待老师回答的同时,不影响浏览其他的网页,使教学质量和管理效率大为提高,在完成教学任务的同时使学生更好地掌握专业理论知识和相应的实践技能。[4]
二、项目化教学平台的总体架构与设计思路
本项目教学平台设计成教师-学生模块(客户端)、教学资源发布模块(WebServer,即Web服务器端)和后台模块(数据库服务器端) 三层模式。平台总体架构如图1所示,说明如下:客户端通过互联网和Web服务器端进行通信连接,主要提供交互使用的图形用户操作界面(如教师注册登录、布置作业、在线答疑、评分及录入分数等,学生注册、登录、提交作业、在线答疑、成绩查询等)、数据格式转换等功能,总体划分为用户登录、编译检错、逻辑检错等功能子模块,因为大量的处理任务要交给服务器完成,操作界面过于复杂时导致服务器响应慢,所以设计客户端时要简洁。[5]
图1平台系统总体架
教学资源发布模块用来动态发布教学过程中涉及的内容(如响应并处理客户端请求,发出访问数据库的信息,将处理结果返回客户端),核心是Servlet,总体划分为用户管理服务、文件服务和逻辑检错服务等功能子模块;后台模块也就是信息管理层,主要由管理员使用,包括用户管理、数据库管理等功能子模块,用于存放教学过程中用到的数据(如系统初始化、信息查询、数据库备份及恢复等),包含用户数据库、用例数据库、试题数据库和成绩查询数据库等几个数据库。服务器端和数据库服务器端可以统称为服务器模块,数据库统一由数据库操作程序进行规范管理,按实际需要导入。
三、平台设计的主要技术
本平台采用Web B/S模式,以Applet、Servlet等Web页面技术、Socket通信机制和ASP应用为理论依据,使用J2EE平台设计底层架构、数据格式及数据传输之间的连接,开发过程中只需关心业务逻辑,把设计的注意点从代码编写层次提高到抽象的建模层次。处理流程为:首先客户端输入账号和口令进行登录,向服务器发出请求信息,服务器接收到请求后进行查询,验证登录信息是否有效,从数据库获得查询结果后返回给客户端。[6] 设计过程中涉及的主要技术如下:
1.数据库访问技术
即后台数据库层设计。采用SQL Server存储数据,以JDBC-ODBC桥接方式连接数据库。可以先建立SQL Server数据源,再用如下语句加载桥驱动程序:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")然后使用java.sql包中的Connection类、Statement类、ResultSet类的相关方法建立数据库连接、执行SQL语句(包括查询语句、更新语句、创建数据库语句等)和保存查询所得结果。
2.数据通信处理与消息设计机制
B/S模式的应用必须向所有客户端的浏览器发出请求,整个平台是建立在消息基础上的(例如交谈、白板、向导、答疑、用户登入和退出、试题库访问、登分、查分等消息)。服务器端和客户端均承担消息处理工作,但Web服务器与客户端通信时采用HTTP协议传送XML文件,通过部署的应用程序去获取和处理数据,再把结果传给相应的客户端浏览器去显示,服务器端只负责转发,其他由客户端进行处理,其中可能包含多种消息。而应用服务器主要解决实时交互处理。这可以参照TCP/IP数据包的格式,采用双Socket通路的办法来解决,即在服务器端设立两个Socket端口,所有客户端分别针对两个端口来建立相应的Socket连接。
3.Web页面设计技术
要进入项目平台管理主页面及了解平台的普及和使用程度,必须用HTML网页编码技术开发一个用于登录及跟踪访问平台登录次数的Web站点(每个用户访问平台主页时,点击数加1),在J2EE服务器上部署Web页面,教师和学生均使用账号与口令从此Web站点登录平台,然后进入到交互性的教师-学生图形界面。交互界面运行在基于J2EE的Applet中,使Web页面由静态转向动态,加载到不同客户端的浏览器中运行。[1] 不过,Applet通常运行在一个可访问的资源有限的“沙箱”中,而且因为点击次数的数据保存在客户端上(这只能记录某特定用户登录平台的次数),为完整记录平台的完整访问次数和存取“沙箱”之外的资源,该数据必须保存在服务器端。解决的办法是在网页的来源地另设一个存取数据库数据的Java应用程序,通过Socket和相应的Java Applet应用程序通信,使得Java Applet所需的数据库数据由Java应用程序转发而来,而这是可以用基于J2EE Servlet技术来解决的,即在J2EE服务器上部署Servlet(译为服务器小程序)。
为验证登录信息与存放在数据库服务器中的数据是否一致,需要创建一个应用来查询并验证教师、学生输入的账号与口令,可以在J2EE服务器上部署ASP应用程序,利用若干会话实体JavaBean来同时构造教师注册登录、布置作业,在线答疑、评分及录入分数、学生注册、登录、提交作业、在线提问、成绩查询等静态和动态页面。
四、平台部分功能界面及代码的实现
教师-学生登录页面(见图2)用HTML编码和ASP应用程序来实现,当教师、学生在客户端浏览器键入网址时,进入页面,输入教工号或学号,以及口令,点击页面上的登录按钮时,即向服务器端发送了一个请求,Servlet接收登录信息,并执行doPost()方法。教师-学生交互界面,如图3所示,也是一个Applet GUI界面。
图3交互界面
创建一个Label对象l1,作为平台的教师—学生交互界面的标题。创建TextArea对象t1、t2,作为交互内容显示的区域,然后创建 “课程性质与目标”、“理论教学内容”、“案例与实践教学”、“作业布置”、“讨论交流与答疑”、“测试”、“名单与成绩录入”七个Button对象。代码段如下:
Label l1=new Label("基于J2EE的数字化项目教学平台教师—学生交互界面",Label.CENTER);
TextArea t1=new TextArea(10,10);
TextArea t2=new TextArea(10,50);
Button b1[]=new Button[7];
String b2[]={"课程性质与目标","理论教学内容","案例与实践教学","作业布置","讨论交流与答疑","测试", "名单与成绩录入"};
for(int i=0;i<=6;i )
{b1[i]=new Button(b2[i])};
GUI的各控件按BorderLayout方式布局,通过add()方法添加到Applet中,代码段如下:
setLayout(new BorderLayout());
Panel p1=new Panel();Panel p2=new Panel();
Panel p3=new Panel();
p1.setLayout(new BorderLayout());
p1.add("North",l1);p1.add(l2);p2.add(b1[i]);add ("North",p1);add("South",p2);p3.add("East",t1);p3.add ("West",t2);add("Center",p3);
单击这些按钮,分别将后台数据库内容显示在文本区。对不同的课程,数据库只需统一按数据库操作程序进行规范管理,按实际需要导入,开放性很强。
最后是设置控件的字体、风格、字号、前景色、背景色等,代码段如下:
l1.setFont(new Font("隶书",Font.BOLD,25));
l1.setForeground(new Color(0,0,255));
b1[i].setFont(new Font("黑体",Font.BOLD,13));
b1[i].setForeground(new Color(0,0,255));
b1[i].setBackground(new Color(0,255,255));
五、结束语
本平台具有跨平台性,体现了典型的人机交互界面,讨论交流环节使用TCP/IP数据包格式,采用双Socket通路方法在服务器方设立两个Socket端口。单击不同的按钮,分别将后台数据库内容显示在文本区,并且对不同的课程而言,数据库只需统一按数据库操作程序进行规范管理,按实际需要导入,兼容性、可扩展性和开放性得到了保证。
不足之处是:JavaBean的设计没有较好体现静态和动态页面之间的切换,因此,今后的工作应对JavaBean的应用做进一步研究。
参考文献:
[1]张琴.一个基于Java Web开发应用的教学案例设计与实现[J].计算机教育,2008(13):98-100.
[2]林金山,林建兵,谢怀生.用Java设计的基于三层结构的答疑系统[J].计算机工程与设计,2008,29(5):1308-1310.
[3]郭辉,陈松乔.基于J2EE架构的Java语言学习平台的设计与实现[J].计算机与信息技术,2008(7):32-36.
[4]李芝兴,朱庆生,曾一.基于JavaEE技术的实验教学平台的开发与建设[J].计算机教育,2008(2):110-112.
[5]CEAC信息化培训认证管理办公室.工程化程序设计语言(Java)[M].北京:高等教育出版社.2006.1.
[6]陈丽欣.基于JavaME和JavaEE的移动商务系统应用研究[J].计算机与信息技术,2008(6):12-15.
[7]邵光亚.Java语言程序设计[M].北京:清华大学出版社,2001.9.
[8]胡伏湘.Java程序设计实用教程[M].北京:清华大学出版社.2005.7.