网络远程作业处理系统毕业论文

网络远程作业处理系统毕业论文[java毕业论文下载]

前  言

随着计算机在社会的不断普及和应用,人们的工作效率得到了极大的提高。高等院校作为社会进步的发动机,计算机早已普及并得到了积极应用。而随着近年来的计算机网络的普及,更大大方便了人们的工作和生活。利用现在已广泛普及的计算机网络实现教师与学生之间的远程交流,为教师和学生之间的交流构建一个方便的平台,就是我此次的毕业设计课题——网络远程作业处理系统。该系统利用网络,在构架了服务器后,一方面,使学生能够利用任何一台能够上网的计算机提交作业,实现和在线教师的实时交流,留言给未在线的教师;另一方面,教师同样能够利用任意的一台能上网的计算机接受服务器上学生提交的作业,和同学实时交流,留言给以班级为单位的同学。

该系统的内容有:1登录系统。自动区分登录者为学生、教师、管理员,并显示相应页面。2注册系统,只提供学生的注册,教师由管理员添加,仅设1名管理员账户。3师生信息管理系统,管理相关的师生信息。4只有目的用户可见的留言板系统。通过对数据库的匹配查询实现。5包含网络白板的聊天室系统。利用便捷的applet,通过多线程的应用实现聊天室。网络白板嵌入聊天室系统中,利用JAVA中的canvas类实现。6基于JSP的文件上传下载系统。基于jsp smartupload 组件实现。这6个系统将在以下章节中详细介绍。

本论文的总的结构可分为引言、目录、中英文摘要、数据库设计、系统功能介绍、谢辞、参考文献与附录九大部分。其中系统功能介绍分为登录系统、注册系统、师生信息管理系统、留言板系统、包含网络白板的聊天室系统、文件上传下载系统,共6个部分来详细介绍。参考文献与附录是关于开发该系统所参考的数据和书籍,附录是一些辅助说明。目录是毕业论文各章节所在页的具体说明。

网络远程作业处理系统主要的开发工具为Dreamweaver MX 2004,SQL Sever 2000和JBuilder9。

 

第1章 开发工具简介

1.1 Dreamweaver MX 2004

Dreamweaver MX 2004 是 建立 Web 站点和应用程序的专业工具。 它将可视布局工具、应用程序开发功能和代码编辑支持组合为一个功能强大的工具,使每个级别的开发人员和设计人员都可利用它快速创建接口吸引人并且基于标准的站点和应用程序。 从对基于 CSS 的设计提供领先的支持到手动编码功能,Dreamweaver 在一个集成和高效的环境中为专业人员提供了所需的工具。 开发人员可以将其选择的服务器技术与 Dreamweaver 配合使用,建立将用户连接到数据库、Web 服务和旧式系统的强大 Internet 应用程序。

1.2 Borland JBuilder9

Borland JBuilder9–全球最具威力之Java开发环境,相较过去版本,JBuilder提供更多省时工具与精灵,让您团队生产力提升至极限,协助您在最短时间内开发更好的软件。这仅是完整Borland解决方案的一部份,JBuilder9 Enterprise以融入应用程序开发周期(applicationlifecycle)为第一要务,能够使用您现有之技术投资,并给您最大的自由与弹性,让您以自己的方式与流程完成工作。BorlandOptimizeitSuite已包含于JBuilder9Enterprise版中:JBuilder9所包含之创新工具与加值功能将企业级Java开发提升至新境界。

1.3 SQL Sever 2000

Microsoft® SQL Server™ 2000 包括很多图形和命令提示实用工具,允许用户、程序员和管理员进行下列操作: 1管理和配置 SQL Server。2确定 SQL Server 复本中的目录信息。3设计和测试查询以检索数据。4复制、导入、导出和转换数据。Microsoft® SQL Server™ 2000 扩展了 Microsoft SQL Server 7.0 版的性能、可靠性、质量和易用性。Microsoft SQL Server 2000 增加了几种新的功能,由此成为大规模联机事务处理 (OLTP)、数据仓库和电子商务应用程序的优秀数据库平台。SQL Server 7.0 版中提供的 OLAP 服务功能现在称为 SQL Server 2000 Analysis Services。术语"OLAP 服务"已被术语"Analysis Services"取代。Analysis Services 还包括一个新的数据挖掘组件。SQL Server 7.0 版中包含的知识库组件现在称为 Microsoft SQL Server 2000  Meta Data Services。现在提及该组件时使用术语"Meta Data Services"。"知识库"这个术语只在谈及 Meta Data Services中的知识库引擎时才使用。

 

第2章 相关技术文档

2.1 JSP技术

JavaServer Pages (JSP) 是一种以 Java为主的跨平台web开发语言。

JSP与微软的Active Server Pages 兼容,但它是使用类似HTML的卷标以及Java程序代码段而不是VBScript。JSP与伺服端的JavaScript不同。网站服务器会自动将以JSP写成的Java程序代码段转换成Java servlets。而许多先前必须以Perl手写程序或服务器特定的API(如ASP)控制的功能也都可透过JSP来自动化处理。

JavaServer Pages(JSP)使得我们能够分离页面的静态HTML和动态部分。HTML可以用任何通常使用的Web制作工具编写,编写方式也和原来的一样;动态部分的代码放入特殊标记之内,大部分以“<%”开始,以“%>”结束。 T  
     JSP页面文件通常以.jsp为扩展名,而且可以安装到任何能够存放普通Web页面的地方。虽然从代码编写来看,JSP页面更象普通Web页面而不象Servlet,但实际上,JSP最终会被转换成正规的Servlet,静态HTML直接输出到和Servlet service方法关联的输出流。

JSP到Servlet的转换过程一般在出现第一次页面请求时进行。因此,如果你希望第一个用户不会由于JSP页面转换成Servlet而等待太长的时间,希望确保Servlet已经正确地编译并装载,你可以在安装JSP页面之后自己请求一下这个页面。

另外,许多Web服务器允许定义别名,所以一个看起来指向HTML文件的URL实际上可能指向Servlet或JSP页面。

 除了普通HTML代码之外,嵌入JSP页面的其他成分主要有如下三种:脚本元素(Scripting Element),指令(Directive),动作(Action)。脚本元素用来嵌入Java代码,这些Java代码将成为转换得到的Servlet的一部分;JSP指令用来从整体上控制Servlet的结构;动作用来引入现有的组件或者控制JSP引擎的行为。为了简化脚本元素,JSP定义了一组可以直接使用的变量(预定义变量),比如前面代码片断中的request就是其中一例。

注意本文以JSP 1.0规范为基础。和0.92版相比,新版本的JSP作了许多重大的改动。虽然这些改动只会使JSP变得更好,但应注意1.0的JSP页面几乎和早期的JSP引擎完全不兼容。
    JSP语法概要表 JSP元素、语法、说明、备注如下 

JSP表达式 <%= expression %> 计算表达式并输出结果。 等价的XML表达是:

<jsp:expression> expression </jsp:expression>

可以使用的预定义变量包括:request,response,out,session,application,config,pageContext。这些预定义变量也可以在JSP Scriptlet中使用。

JSP Scriptlet <% code %> 插入到service方法的代码。 等价的XML表达是:

<jsp:scriptlet> code </jsp:scriptlet>

JSP声明 <%! code %> 代码被插入到Servlet类(在service方法之外)。 等价的XML表达是:

<jsp:declaration> code </jsp:declaration>

page指令 <%@ page att="val" %> 作用于Servlet引擎的全局性指令。 等价的XML表达是

<jsp:directive.page att="val"\>。

合法的属性如下表,其中粗体表示默认值:

import="package.class"

contentType="MIME-Type"

isThreadSafe="true|false"

session="true|false"

buffer="size kb|none"

autoflush="true|false"

extends="package.class"

info="message"

errorPage="url"

 isErrorPage="true|false"

 language="java"

include指令 <%@ include file="url" %> 当JSP转换成Servlet时,应当包含本地系统上的指定文件。 等价的XML表达是:

 <jsp:directive.include  file="url"\>.

其中URL必须是相对URL。  利用jsp:include动作可以在请求的时候(而不是JSP转换成Servlet时)引入文件。  JSP注释 <%-- comment --%> 注释;JSP转换成Servlet时被忽略。 如果要把注释嵌入结果HTML文档,使用普通的HTML注释标记<-- comment -->。

jsp:include动作<jsp:include page="relative URL"  flush="true"/> 当Servlet被请求时,引入指定的文件。 如果你希望在页面转换的时候包含某个文件,使用JSP include指令。  注意:在某些服务器上,被包含文件必须是HTML文件或JSP文件,具体由服务器决定(通常根据文件扩展名判断)。

 jsp:useBean动作 <jsp:useBean att=val*/> 或者

<jsp:useBean att=val*> ... </jsp:useBean> 寻找或实例化一个Java Bean。 可能的属性包括:

id="name"

scope="page|request |session|application"

class="package.class"

type="package.class"

beanName="package.class"

jsp:setProperty动作 <jsp:setProperty att=val*/> 设置Bean的属性。既可以设置一个确定的值,也可以指定属性值来自请求参数。 合法的属性包括:

 name="beanName"

property="propertyName|*

param="parameterName"

value="val"

jsp:getProperty动作 <jsp:getProperty  name="propertyName" value="val> 提取并输出Bean的属性。  

jsp:forward动作 <jsp:forward  page="relative URL"/> 把请求转到另外一个页面。  

jsp:plugin动作 <jsp:plugin attribute="value"*> ... </jsp:plugin> 根据浏览器类型生成OBJECT或者EMBED标记,以便通过Java Plugin运行Java Applet。

关于模板文本(静态HTML) ,许多时候,JSP页面的很大一部分都由静态HTML构成,这些静态HTML也称为“模板文本”。模板文本和普通HTML几乎完全相同,它们都遵从相同的语法规则,而且模板文本也是被Servlet直接发送到客户端。此外,模板文本也可以用任何现有的页面制作工具来编写。 唯一的例外在于,如果要输出“<%”,则模板文本中应该写成“<\%”。

2.2 APPLET技术

2.2.1 Applet说明:

  • 首先Applet一般是从java.applet.Applet中继承过来的;
  • paint()方法必须是public,不然不能被其它程序正确调用;
  • 由于paint方法使用了Graphics类,所以Applet需要引用java.awt.
  • Graphics,当然如果其它的类如果也可以实现Graphics类的功能,也可以引用之;
  • 在Applet中没有public static void main这个方法,所以它不能独立执行,必须由专门的程序(如游览器)调用执行,Applet程序被调用后,会自动执行paint方法。
  • 在Html中使用标签APPLET来引用Applet,code属性指定Applet的程

序名,这是一个简单的Applet引用方法,当引入的Applet与html文件在同一个目录下,不用加路径说明,如果不是可以使用codebase指定applet所在的路径,路径表示方法与html中的一样;

  • 其它属性width及属性height是HTML的标准属性。还有另一个方法可以测试Applet,就是使用appletViewer命令,查看html文件中引入的applet小程序,该命令会忽略html代码,直接执行applet代码。

2.2.2 Applet参数使用方法

在Applet中可以使用<param>标签向Applet传递参数,如:

<applet ….>

<param NAME=font VALUE="TimesRoman">

……

</applet>

当applet执行时,这些参数就会被传入,可以在init方法中使用getParameter()方法获取这些传入参数的值,如getParameter("font"),该方法返回值始终是String类型的,所以必要的时候还需进行相应的类型转换。如果没有相应的传入参数,那么getParameter()方法会返回null值。

2.2.3 Applet基本方法

从java.applet.Applet继承过来的applet会有五个基本的方法:

(1) init()方法:当applet被加载时,会首先执行init方法,该方法相当于java application中的main,该方法只能被执行一次;

(2) start()方法:init方法执行完毕会就会自动执行start方法,start方法可以被反复执行,如一个applet被stop后,可以使用start方法重新开动它;

(3) stop()方法:停止执行applet,与start方法相对应

(4) destroy()方法:与init方法相对应;

(5) paint()方法:输出指定内容,paint方法会被反复的调用,在applet初始化时、窗口移动时等;

(6) repaint()方法:该方法调用update方法;

(7) update()方法:该方法清空屏幕的内容后,再调用paint方法重画;paint,repaint及update方法是实现Applet中动画的三个主要函数,一般在update方法中调用g.clipRect方法规则paint的区域,这样paint方法只更新指定区域的内容;

(8) 以上这些方法在必须的时候可以重载,并且不需要在我们的applet中显示的调用,可以自动执行(当然也可以显示调用);

2.2.4 Applet的线程

在Applet中如果需要用到动画或者后台数据处理等需要占用大量资源的功能时,最好使用线程。

(1) 要在applet支持线程,一般需要实现Runnable接口,所以在本例类的声明中加了implements Runnable;

(2) 在Runable接口中定义了run()方法,当线程start时,会调用这个方法;所以需要实现该方法;

(3) 要使用线程当然需要实例化类Thread(Thread是属于java.lang包):Thread runner = new Thread(this),这里的初始化参数this指定的applet对象;

(4) 接下来在applet的start方法中调用runner.start()方法开始创建线程,线程创建完后,运行run方法;

(5) 在run方法中实现真正要实现的内容,本例修改了theDate的值后,调用repaint方法,该方法的调用触发了paint方法的执行;

(6) 在stop方法中结束线程的运行。

 

网络远程作业处理系统毕业论文[点击下载]

评论