1、计算机应用专业专科毕业设计 网络课件制作 摘 要:本论文以“网络课件”制作为背景,叙述了网络课件制作意义、概念、结构及系统开发基础原理和方法。全文共分为引言、JSP技术介绍,JDBC技术介绍,对怎样使用JSP开发本系统作了较为具体介绍。关键词:“网络课件”,“JSP”, “JDBC开发”. 目 录摘 要关键字第一章 引 言21 系统概述 32 JSP技术421 Javascript技术 422 JDBC介绍5第二章 设计思想和过程 61. 整体部局 62.系统实现 7第三章 开发总结和心得体会10参考文件浅 谈 网 络 课 件 制 作第一章 引 言因为INTERNET网迅猛发展和校园网普及,课
2、堂教学课件必将用于网络平台,过去大家一直以3DMAX三维动画软件制作课件,但其大容量文件难以实现网上浏览,取而带之是HTML格式FLASH网页动画软件制作课件,前端称单机版课件,后者称网络课件,只要有一台PC机、一部“猫”、一根电话线,能够在世界中每个角落去观看网络课件了。所以趁此毕业设计之际,我选择了写面向对象软件工程网络课件。一、系统概述传统课件多为单机课件,供老师在课堂上使用,应用率较低,伴随INTERNET网和校园网发展,网络课件需求越来越大。它优势也表现越来越显著,比如,能够在世界上任何地方去访问;它能够用Javascript脚本语言去实现动态画面,使读课件人更有爱好去学习,效果并不
3、低于3DMAX。不过因为网络课件因为是新兴名词,所以还有大家对它产生怀疑,不相信在网络上也能够去实现课件,害怕不止是知识产权不能受到保护,更害怕受到她人攻击等等,在这里我想简单讨论一下用JSP去实现网络课件和保护知识产权,不被陌生人去访问和破坏。我面向对象软件工程网络课件系统关键以JSP去编写,其中又穿插了数据库,利用数据库来存放注册用户资料,因为数据库本身安全性,能够有效阻止陌生人访问和破坏。图一是本课件系统系统结构图。课件系统用户管理课件描述登录注册修改密码查看资料课件演示图一、系统结构图二、JSP技术在此次网络课件开发中,我选择了JSP语言。JSP是SUN Microsystems企业于
4、1999年6月开发出来一个全新动态页面技术,它是在传统HTML代码中,利用HTML标签扩展插入JSP脚本代码,组成JSP页面,由JSP引擎预先处理并转换成JAVA servlet,以后假如出现了对JSP页面请求,WEB服务器将用对应servlet输出结果作为应答,即使JSP和servlet在功效上是等同,不过和servlet相比,JSP中动态内容生成方法恰恰相反,JSP是把Java代码嵌入到文档中,而不是把文档嵌入到Java应用之中。为访问外部和可重用对象,JSP提供了部分用来和JAVABEAN组件交互额外标识,这些标识语法和HTML标识相同,值得注意是:HTML语法属于JSP语法一个字集(一
5、个纯HTML文档是一个正当JSP页面),但反过来不一定,尤其地,为了便于动态生成内容和格式,JSP许可在标识之内嵌入其它标识,比如,下面是一段正当JSP代码: A HREF=”从后面内容可知,这种结构是正当,和CGI相比,JSP含有愈加好性能和会话管理机制,这关键是经过在同一个进程之内利用JAVA线程处理多个servlet实现,而CGI通常要求为每一个请求分别创建和撤消一个进程。2.1 JAVASCRIPTJAVASCRIPT是由NET SCAPE企业开发一套和超文本标志语言,为网页制作者提供了很灵活应用和发挥空间,在页面设计中JAVASCRIPT和HTML存在着一个相互依存关系,JAVASC
6、RIPT语言并不是一个真正计算机程序语言,只能算作一个脚本语言,JAVASCRIPT只能在用户端对指定页面元素进行操作,所以离开了HTML,JAVASCRIPT将完全丧失了生命力,同时JAVASCRIPT语言又是顺应网页高级效果设计需求而产生产物,HTML页无法在离开JAVASCRIPT情况下,方便进行特效处理,请注意,这里“方便”,因为JAVA语言页能够对网页进行增强,唯一不足是相对复杂,其生成class文件较庞大。在JAVASCRIPT中使用函数能够封装在程序中,数次使用代码段,这么能够降低程序设计工作量,页能够降低代码长度,同时,使用函数对于程序设计分工合作页很有好处,对于一个对象来说
7、,函数更是其赖以存在基础,页是提供了事件驱动基础,在这次课件系统中,我数次用到了函数。比如在处理head.html文字由小变大,由大变无时,我就用到了function initArray函数。函数源代码以下:this.length = initArray.arguments.length;for (var i = 0; i this.length; i+) thisi = initArray.argumentsi; 在以后程序中,只需要调用函数就能够了,但必需遵照以下规则:函数名(参数)。比如调用上例中写函数:var themessage2 = new initArray(欢迎光临.,面向对象
8、软件工程课件系统,);而且,JAVASCRIPT语言对大小写铭感,所以调用时一定要注意大小写。所调用函数必需是内制函数,或在调用处之前就已经申明过,在之前申明函数以确保在被调用前已经被载入内存。2.2 JDBC技术JSP中和数据库连接使用了JAVA中和数据库连接使用JDBC接口技术,JDBC意思和ODBC差不多,它是JAVA和数据库连接(java database connectivity),那为何不直接用ODBC和数据库连接呢?那是因为ODBC是完全用C语言编写,而JAVA中实现C语言程序通信是比较困难,所以就产生了这种完全由JAVA 程序和数据库连接接口技术。JDBC和具体某种数据库连接,
9、也要装载和此对应驱动程序,不过此种驱动程序不需要我们自己去装载,它是直接经过JDBC API类库种类来自动装载驱动程序,只要载机器上由此API类库就行,此API类库通常全部集中载java sql包中,另外,包中嗨包含了用于实现和数据库连接其它功效类,包含和书记库建立连接、传送、查询和接收查询结果。第二章 、设计思想和过程在这次网络课件系统设计中,因为要时刻注意到系统安全性,所以用户权限就在于关键,所以设计过程中也是紧紧围绕着用户管理。图二是我系统步骤图。结束看课件权限开始 正当用户 非法用户 图二、系统步骤图2.1 整体布局一个好网页首先必需是布局美观,美观布局是吸引读者前提,假如连这个前提全
10、部不能实现,那么这个网页应该是很失败。在此次网络课件布局中,我采取了HTML语言frame框架结构,我把整个网页分成了三个部分:第一部分是头文件,介绍系统名等相关信息;第二部分是菜单选相,把菜单单独分成一个部分,能够使用户更方便选择菜单,第三部分是主文件,系统全部操作和查看课件全部在此实现。这么布局能够使读者一目了然,自然而清楚。下面是我系统布局相关源程序: 2.2 系统实现网络课件系统最关键事情就是判别用户,预防非法用户访问和攻击,而假如要是用数据库去管理用户,那么这个网络课件就要变得安全。所以下面介绍一下我是怎么建立数据库和和数据库进行连接。在和数据库建立连接过程中,我是利用ACCESS实
11、现一个动态FAQ网站,首先建立一个ACCESS数据库db1.mdb,表结构和字段名图二所表示:其中字段name表示用户名,字段pwd代表用户登录密码,字段hint代表用户提出问题,字段answer代表用户,real-name代表用户姓名,card-number代表身份证号码等等。图三、表user当JSP和数据库连接时候,首先要装载一个JDBC-ODBC桥驱动程序,以“sa”身份登录,源代码以下:这么就算连接好了数据库了,下面是对数据库进行操作,还需要和用户进行交互,还需要制作表单,经过表单来了解用户信息在表单中,我利用,定义了一个基础表单,表单处理是当表单被提交时,表单信息将被提交给JSP文件
12、做处理,表单被提交方法是指表单中信息作为一个“HTTP POST“请求来发送,信息存和请求体中能够经过Request.FORM来读取它,并能够从环境变量中知道它部分属性,在JSP能够知道使用request对象,不用另行创建,比如:我在读取注册信息时候用到代码:vname=request.getParameter(name);/编码tmpbyte=vname.trim().getBytes(8859_1);vname = new String(tmpbyte,gb2312);当我们读取了用户信息后,就需要对读取信息进行检验,从安全角度来看,输入信息包含 对来自外部数据源数据进行语法检验,有时还要
13、进行语义检验,依靠于应用关键程序和其它原因,作为输入检验结果,而采取动作可能是下面一个或多个:l 忽略语法上不安全成份l 用安全代码替换不安全部分l 终止使用受影响代码l 汇报错误输入检验能够根据以下两个模式之一进行:列举不安全字符并拒绝它们,定义一组安全字符,然后排除和拒绝不安全字符,这两种模式分别称为正向和反向输入过滤,通常地,正向输入模式更简单、更安全、因为 很多时候,要列举出服务器端应用、用户端浏览器、WEB浏览器和操作系统可能误解字符并不是一个轻易事情,下面列举我安全检验源代码:if (!(vpwd.equals(vpwdagain) returnMsg=returnMsg+新密码和
14、确定密码必需相同; returnMsg=returnMsg+返回重新填写; session.putValue(returnMsg,returnMsg); response.sendRedirect(return.jsp); return; 当对用户信息进行检验完成后,下面就能够对数据库进行操作了,我们能够用PreparedStatement类设置查询参数,因为查询语句中有参数,用statement类处理查询中包含参数情况很不方便,而且PreparedStatement类却很轻易处理这么问题,只要用“?”替换,在用Setstring()方法设置参数值,再向数据库插入一条用户注册信息时,要产生一个
15、无返回结果(NO Resultset)例外,要想使它后面输出能实施,而不是发生例外,就转到最终catch语句,让这个例外被处理掉,这里所谓例外处理实际上就是什么全部不做,这么此例外处理实际上就是什么全部不做,这么此例外被处理了,就会继续实施例外后面程序了,下面是我插入数据库源代码: try stmt2 = conn.prepareStatement(insert into users(name,pwd,hint,answer,real_name,email,card_number,address) VALUES(?,?,?,?,?,?,?,?);stmt2.setString(1,vname)
16、;stmt2.setString(2,vpwd); stmt2.setString(3,vhint); stmt2.setString(4,vanswer); stmt2.setString(5,vreal_name); stmt2.setString(6,vemail); stmt2.setString(7,vcard_number); stmt2.setString(8,vaddress);if(stmt2.executeUpdate()=0) out.print(Insert error);stmt2.close(); catch(SQLException ex) out.print(a
17、q.executeQuery: + ex.getMessage(); 对数据库查询结果处理要很小心,在上面用getstring()得到pwd属性值,temp-password是占10位长度,而不管实际数据是多少位,所以如用equals()方法对它和前面用户输入pwd做比较,将永远也相等不了,除非原本pwd就是10位,所以需要用region matches()方法对它们进行比较,此方法只比较两字符串中一段,用此方法比较此两字符串前面pwd长度子串,将能除去temp-password中因为数据库缘故而增加空位,这么就能够判定用户输入密码。上面所述是对数据库进行修改和查询,下面简单说一下我是怎么利用
18、数据库来维护我课件安全。在维护课件安全方面上我利用了JSPsession对象,session对象指就是用户端和服务器一次对话,此次对话从用户连接到服务器端一个Webapplication开始,直到用户端和此服务器端开连接为止,在此之间全部能够访问到此session相关属性及方法,在用户端和服务器端开连接时,此session也将消失。在这次网络课件系统中,我是利用session对象来保持用户和服务器通信,我源代码以下:if (session.getValue(power)!=null) if (!(2.equals(session.getValue(power).toString().trim(
19、) returnMsg=您还没有登陆,请; returnMsg=returnMsg+重新登录; session.putValue(returnMsg,returnMsg); response.sendRedirect(return.jsp); return; 第三章 开发总结和心得体会本系统可实现用户注册、登录、查看课件等(1) 本系统利用了JSP技术、数据库等,能够更安全保护系统和实现动画。不过不管是那一个JSP实现,在一定阶段它们一些版本全部会出现给系统带来安全隐患,即使我们开发遵从了安全编程通例也无济于事。(2) 因为本人经验和技术等众多方面不足,系统还存在很多缺点,期望各位老师指正,我也会努力去改善。伴随互联网发展,我相信JSP系统会做更完善、会实现功效也将会变更多。同时它也会带动其它方面发展,网络课件也会因为它发展而更流行,同时我也会把我网络课件系统做更完善。参 考 文 献1 JSP 应用开发详解(含光盘) 电子工业出版社 .92 JavaScript 1.5实例教程 高等教育出版社 .43 信息系统开发 经济科学出版社 1996.94 管理信息系统 电子工业出版社 1999.95 软件开发工具 经济科学出版社 1996.76 XML/JSP Programming Guide网页编程教程 经济科学出版社 1999.4