基于Java Web的课程资源共享平台的设计与开发
本科毕业设计[20191212165027]
摘 要
随着校园网在高校中的不断普及与迅速发展,几乎所有高校都建立了自己的校园网平台。然而校园网上的资源却显得不尽如人意,相对于满目的校园新闻、公告,同学们需要的课程资源却显得少之又少。老师们所拥有的各类课程资源没能很好的流通到学生处,学生所拥有的资源也没能很好的与同学共享。基于此现状,我们需要一个平台实现课程资源的共享。
本文主要介绍如何利用J2EE的struts2和hibernate框架、SQL SEVER数据库开发一个便于同学们之间实现资源共享的互联网平台。同时还论述了该课程资源共享平台具体功能的实现过程,主要包括数据库的设计、文件管理功能、用户管理功能、公告管理功能、上传功能、下载功能等等。
查看完整论文请+Q: 351916072
关键字:struts2;hibernate;数据库;资源共享ABSTRACT
目 录
摘要 I
ABSTRACT II
目 录 III
第1章 绪 论 1
1.1 项目背景分析 1
1.2 网站开发的意义 1
第2章 技术方案 3
2.1 struts2技术 3
2.2 hibernate技术 5
2.3 JSP技术 6
第3章 系统分析 8
3.1 系统目标 8
3.2 可行性分析 8
3.2.1 管理可行性 8
3.2.2 技术可行性 8
3.2.3 经济可行性 8
3.3 需求分析 8
3.3.1业务需求分析 9
3.3.2用户需求分析 9
3.3.3功能需求分析 9
3.4 业务流程分析 10
3.4.1 前台业务流程分析 10
3.4.2 后台业务流程分析 10
3.5 数据流程图分析 11
3.6 系统需要具备的特点 11
第4章 系统总体设计 13
4.1 功能模块设计 13
4.1.1 用户模块的功能模块设计 13
4.1.2 管理员管理模块的功能模块设计 14
4.2 数据库设计 15
4.2.1 数据库E—R图设计 15
4.2.2 数据库表设计 17
第5章 系统详细设计 19
5.1 系统配置 19
5.3.1 应用层配置 19
5.1.2 数据库连接配置 20
5.2 用户注册登录模块 21
5.2.1 用户登录 21
5.2.2 用户注册 22
5.3 文件上传模块设计 23
5.4 文件检索模块设计 24
5.5 文件详细信息界面设计 25
5.5.1 文件下载功能设计 25
5.5.2 文件评论功能设计 27
5.6 文件管理模块设计 27
5.7 用户管理模块设计 28
5.8 公告管理模块设计 28
5.9 文件类别管理模块设计 29
第6章 系统测试 31
6.1 概述 31
6.1.1 目的 31
6.1.2 测试的方法 31
6.2 本系统测试描述 32
结束语.. ..35
参考文献 36
第1章 绪 论
1.1项目背景分析
现如今,类似于百度文库、CSDN、豆丁网此类的网站日益受到学生们的喜爱,同学们可以通过这些网络平台找到自己所需要的各方面的文件资源。相比这些倍受追捧的网站,我们感受到了校园网的冷清。校园网上依旧是一条条校园动态,依旧是一条条公告通知,而同学们完成学习这一根本任务所需要的课程资源却显得极为匮乏。
现在同学们知识共享的途径主要有:
(1)上网查询:网络资源太多,找到的不一定是想要的,耗费一定的时间,且很多网站下载资源需要积分或各种币,让我们只能看到却不能拥有。
(2)通过QQ群的群共享功能:必须要借住QQ这一软件才能实现共享功能,且QQ群上的资源相对较少且缺乏分类,不易检索。
(3)上课拷贝老师的课件:相对不方便,且资源有限。
(4)向同学索要课程的纸质或电子文档:打印拷贝需要耗费一定的时间,且不是很便捷。
(5)向学长学姐求助:学长学姐的经验是一笔宝贵的财富,然而他们一旦离开校园,这笔财富也随着而流失。
这些途径各自存在的一些缺点使得我们有必要寻求一个更好的资源共享途径。显然,在这一点上,校园网并没有发挥其该有的优势。一方面是同学们对于课程资源的需求,另一方面却是校园网无法满足这一需求的现状。因此,我们有必要开发一个网络平台方便同学们实现课程资源的交流共享。在这一背景下,利用J2EE的一些主流技术开发了这一课程资源共享平台也势在必行。
1.2 网站开发的意义
“你有一个苹果,我有一个苹果,和在一起大家都只有一个苹果,但你有一点知识,我有一点知识,和在一起,大家就都有两点知识”。简单的道理足已道出资源共享的重要性,尤其是对于高校学生这一特别的知识群体,对知识资源有着极高的需求。传统的校园网无法满足这一功能需求,因此开发课程资源共享系统就显得意义十足。
系统开发重要性可以简单归纳为以下几点:
(1)资源共享简单化:借助校园网优势开发的课程资源共享系统,为同学们提供了一个很好的知识共享平台,只需要简单的上传下载功能,便可以轻松的共享资源、获取资源。无需再借助某个软件亦或是同学之间当面的接触。
(2)资源易查找:相对于外网资源的广泛性,以校园网为平台建立的课程资源共享系统,显然在资源上更具针对性,并且系统设置搜索功能,使得资源触手可得。
(3)外网资源的内化:现在很多网站都有一些很好的知识资源,我们可以把它下载下来再上传到我们的系统,这样更多的同学都能接触到,另外把外网收费资源上传到系统,也极大的减少了不必要的支出,实现“有福同享”。
(4)资源的届届相传:我们可以把自己的知识总结归纳上传到系统,这样以后的学弟学妹们 都能从中受益,更快的掌握课程精髓。这样届届相传,将是一笔非常宝贵的财富。
(5)充分利用校园网优势:校园网在网络速度与稳定性上相较外网占据绝对性优势,且使用外网要耗费一定的网络费,而校园网的无偿使用显然缓解了同学们的负担。另外,校网对于同学们来说显然比外网更加专业化。
(6)学生角色的转变:传统意义上,大部分同学都只是知识的接受者而不是知识的分享者,我们只是去获取老师发布的课程资源,而同学之间却没能形成很好的资源流通。系统的建立将提供一个相互分享的平台,使得每个同学都能参与到知识分享的过程中。提高同学们主动学习的积极性。
第2章 技术方案
本系统的开发语言选择Java语言,Java是由Sun公司推出的Java程序设计语言和Java平台的总称。Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。所谓Java平台是指运行在各种终端(如pc、服务器、移动设备、嵌入式设备)的系统软件。Java平台分为三个体系J2SE(Java2 Platform Standard Edition,java平台标准版),J2EE (Java 2 Platform,Enterprise Edition,java平台企业版),J2ME (Java 2 Platform Micro Edition,java平台微型版)。本系统的开发选择的是J2EE。J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。
本系统选择了MVC的框架模式。MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写。MVC强制性的使应用程序的输入 、处理 和输出 分开。使用MVC应用程序被分成三个核心部件:模型 、视图 、控制器 。它们各自处理自己的任务。对于一个Java程序员,常见的MVC框架有struts、spring、JSF等。本系统的开发选择了struts2+hibernate这一框架组合进行开发,并借助JSP动态网页负责系统的界面显示。下面主要对struts2、hibernate、jsp做主要介绍。
2.1 struts2技术
Struts2 是一种JSP Model2模式的框架。JSP Model2 模式示意图如图2.1所示,是由sun公司推出的一种架构模式。这个模式是结合了servlet,JSP,javabean的优点推出的一种模式。这个模式分为三部分servlet,JSP,javabean。servlet做的事情是控制到底最后显示哪个JSP页面给用户、JSP做的就是响应用户请求,把结果数据展现给用户、而javabean做的就不单单是对数据库的数据的存取了,这里复杂的业务功能和逻辑处理都交给了它处理。从它的设计结构就可以看出JSP Model2的优点。由于它在设计上很好的分工,也就是做显示的是JSP,做逻辑处理的是javabean,做控制的是servlet。这样分工以后,对我们开发人员来说,就可以很好的做自己的开发工作了,而美工人员也不必了解和看懂业务逻辑处理代码,在很大的层次上提高开发的效率。
图2.1 Model 2 的程序流程
事实上Struts2就是一个大的Servlet,所有的请求都会通过这个Servlet就行转发到相应的action 中就行处理。它是一个典型的MVC模式框架。虽然Struts2号称是一个全新的框架,但这仅仅是相对Struts 1而言。Struts 2 与Struts1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:WebWork基础上发展起来的。从某种程度上来讲,Struts2没有继承Struts1的血统,而是继承WebWork的血统。或者说,WebWork衍生出了Struts2,而不是Struts1衍生了Struts2。因为Struts2是WebWork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证:而且吸收了Struts 1和WebWork两者的优势,因此,是一个非常值得期待的框架。
Struts2框架的大致处理流程如下:
浏览器发送请求,例如请求/mapage.action、/reports/myreport.pdf等。
(1)核心控制器FilterDispatcher根据请求决定调用合适的Action。
(2)WebWork的拦截器自动对请求应用通用功能,例如workflow、validation或文件上传等功能。
(3)回调Action的execute方法,该execute方法先获取用户请求参数,然后执行某种数据库操作,既可以是将数据保存到数据库,也可以从数据库检索信息。实际上,因为Action知识一个控制器,它会调用业务逻辑组件来处理用户的请求。
(4)Action的execute方法处理结果信息将被输出到浏览器中,可以是HTML页面、图像,也可以是PDF文档或者是其他文档。此时支持的视图技术非常多,既支持JSP,也支持Velocity、FreeMarker等模板技术。
图2. 2显示了Struts2的体系概图。
图2.2 Struts2体系概图
2.2 hibernate技术
Hibernate是一个开放源代码的对象关系映射框架 ,它对JDBC进行了非常轻量级的对象封装,使得Java程序员 可以随心所欲的使用对象编程 思维来操纵数据库 。不同于struts、webwork等MVC框架,Hibernate是一种ORM(Object/Relation Mapping对象关系映射)框架,与各种数据库、SQL语句打交道,是数据持久化的一种解决方案。Hibernate在Java对象与关系数据库之间建立某种映射,以实现直接存取Java对象(一般为POJO)。
摘 要
随着校园网在高校中的不断普及与迅速发展,几乎所有高校都建立了自己的校园网平台。然而校园网上的资源却显得不尽如人意,相对于满目的校园新闻、公告,同学们需要的课程资源却显得少之又少。老师们所拥有的各类课程资源没能很好的流通到学生处,学生所拥有的资源也没能很好的与同学共享。基于此现状,我们需要一个平台实现课程资源的共享。
本文主要介绍如何利用J2EE的struts2和hibernate框架、SQL SEVER数据库开发一个便于同学们之间实现资源共享的互联网平台。同时还论述了该课程资源共享平台具体功能的实现过程,主要包括数据库的设计、文件管理功能、用户管理功能、公告管理功能、上传功能、下载功能等等。
查看完整论文请+Q: 351916072
关键字:struts2;hibernate;数据库;资源共享ABSTRACT
目 录
摘要 I
ABSTRACT II
目 录 III
第1章 绪 论 1
1.1 项目背景分析 1
1.2 网站开发的意义 1
第2章 技术方案 3
2.1 struts2技术 3
2.2 hibernate技术 5
2.3 JSP技术 6
第3章 系统分析 8
3.1 系统目标 8
3.2 可行性分析 8
3.2.1 管理可行性 8
3.2.2 技术可行性 8
3.2.3 经济可行性 8
3.3 需求分析 8
3.3.1业务需求分析 9
3.3.2用户需求分析 9
3.3.3功能需求分析 9
3.4 业务流程分析 10
3.4.1 前台业务流程分析 10
3.4.2 后台业务流程分析 10
3.5 数据流程图分析 11
3.6 系统需要具备的特点 11
第4章 系统总体设计 13
4.1 功能模块设计 13
4.1.1 用户模块的功能模块设计 13
4.1.2 管理员管理模块的功能模块设计 14
4.2 数据库设计 15
4.2.1 数据库E—R图设计 15
4.2.2 数据库表设计 17
第5章 系统详细设计 19
5.1 系统配置 19
5.3.1 应用层配置 19
5.1.2 数据库连接配置 20
5.2 用户注册登录模块 21
5.2.1 用户登录 21
5.2.2 用户注册 22
5.3 文件上传模块设计 23
5.4 文件检索模块设计 24
5.5 文件详细信息界面设计 25
5.5.1 文件下载功能设计 25
5.5.2 文件评论功能设计 27
5.6 文件管理模块设计 27
5.7 用户管理模块设计 28
5.8 公告管理模块设计 28
5.9 文件类别管理模块设计 29
第6章 系统测试 31
6.1 概述 31
6.1.1 目的 31
6.1.2 测试的方法 31
6.2 本系统测试描述 32
结束语.. ..35
参考文献 36
第1章 绪 论
1.1项目背景分析
现如今,类似于百度文库、CSDN、豆丁网此类的网站日益受到学生们的喜爱,同学们可以通过这些网络平台找到自己所需要的各方面的文件资源。相比这些倍受追捧的网站,我们感受到了校园网的冷清。校园网上依旧是一条条校园动态,依旧是一条条公告通知,而同学们完成学习这一根本任务所需要的课程资源却显得极为匮乏。
现在同学们知识共享的途径主要有:
(1)上网查询:网络资源太多,找到的不一定是想要的,耗费一定的时间,且很多网站下载资源需要积分或各种币,让我们只能看到却不能拥有。
(2)通过QQ群的群共享功能:必须要借住QQ这一软件才能实现共享功能,且QQ群上的资源相对较少且缺乏分类,不易检索。
(3)上课拷贝老师的课件:相对不方便,且资源有限。
(4)向同学索要课程的纸质或电子文档:打印拷贝需要耗费一定的时间,且不是很便捷。
(5)向学长学姐求助:学长学姐的经验是一笔宝贵的财富,然而他们一旦离开校园,这笔财富也随着而流失。
这些途径各自存在的一些缺点使得我们有必要寻求一个更好的资源共享途径。显然,在这一点上,校园网并没有发挥其该有的优势。一方面是同学们对于课程资源的需求,另一方面却是校园网无法满足这一需求的现状。因此,我们有必要开发一个网络平台方便同学们实现课程资源的交流共享。在这一背景下,利用J2EE的一些主流技术开发了这一课程资源共享平台也势在必行。
1.2 网站开发的意义
“你有一个苹果,我有一个苹果,和在一起大家都只有一个苹果,但你有一点知识,我有一点知识,和在一起,大家就都有两点知识”。简单的道理足已道出资源共享的重要性,尤其是对于高校学生这一特别的知识群体,对知识资源有着极高的需求。传统的校园网无法满足这一功能需求,因此开发课程资源共享系统就显得意义十足。
系统开发重要性可以简单归纳为以下几点:
(1)资源共享简单化:借助校园网优势开发的课程资源共享系统,为同学们提供了一个很好的知识共享平台,只需要简单的上传下载功能,便可以轻松的共享资源、获取资源。无需再借助某个软件亦或是同学之间当面的接触。
(2)资源易查找:相对于外网资源的广泛性,以校园网为平台建立的课程资源共享系统,显然在资源上更具针对性,并且系统设置搜索功能,使得资源触手可得。
(3)外网资源的内化:现在很多网站都有一些很好的知识资源,我们可以把它下载下来再上传到我们的系统,这样更多的同学都能接触到,另外把外网收费资源上传到系统,也极大的减少了不必要的支出,实现“有福同享”。
(4)资源的届届相传:我们可以把自己的知识总结归纳上传到系统,这样以后的学弟学妹们 都能从中受益,更快的掌握课程精髓。这样届届相传,将是一笔非常宝贵的财富。
(5)充分利用校园网优势:校园网在网络速度与稳定性上相较外网占据绝对性优势,且使用外网要耗费一定的网络费,而校园网的无偿使用显然缓解了同学们的负担。另外,校网对于同学们来说显然比外网更加专业化。
(6)学生角色的转变:传统意义上,大部分同学都只是知识的接受者而不是知识的分享者,我们只是去获取老师发布的课程资源,而同学之间却没能形成很好的资源流通。系统的建立将提供一个相互分享的平台,使得每个同学都能参与到知识分享的过程中。提高同学们主动学习的积极性。
第2章 技术方案
本系统的开发语言选择Java语言,Java是由Sun公司推出的Java程序设计语言和Java平台的总称。Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。所谓Java平台是指运行在各种终端(如pc、服务器、移动设备、嵌入式设备)的系统软件。Java平台分为三个体系J2SE
本系统选择了MVC的框架模式。MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写。MVC强制性的使应用程序
2.1 struts2技术
Struts2 是一种JSP Model2模式的框架。JSP Model2 模式示意图如图2.1所示,是由sun公司推出的一种架构模式。这个模式是结合了servlet,JSP,javabean的优点推出的一种模式。这个模式分为三部分servlet,JSP,javabean。servlet做的事情是控制到底最后显示哪个JSP页面给用户、JSP做的就是响应用户请求,把结果数据展现给用户、而javabean做的就不单单是对数据库的数据的存取了,这里复杂的业务功能和逻辑处理都交给了它处理。从它的设计结构就可以看出JSP Model2的优点。由于它在设计上很好的分工,也就是做显示的是JSP,做逻辑处理的是javabean,做控制的是servlet。这样分工以后,对我们开发人员来说,就可以很好的做自己的开发工作了,而美工人员也不必了解和看懂业务逻辑处理代码,在很大的层次上提高开发的效率。
图2.1 Model 2 的程序流程
事实上Struts2就是一个大的Servlet,所有的请求都会通过这个Servlet就行转发到相应的action 中就行处理。它是一个典型的MVC模式框架。虽然Struts2号称是一个全新的框架,但这仅仅是相对Struts 1而言。Struts 2 与Struts1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:WebWork基础上发展起来的。从某种程度上来讲,Struts2没有继承Struts1的血统,而是继承WebWork的血统。或者说,WebWork衍生出了Struts2,而不是Struts1衍生了Struts2。因为Struts2是WebWork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证:而且吸收了Struts 1和WebWork两者的优势,因此,是一个非常值得期待的框架。
Struts2框架的大致处理流程如下:
浏览器发送请求,例如请求/mapage.action、/reports/myreport.pdf等。
(1)核心控制器FilterDispatcher根据请求决定调用合适的Action。
(2)WebWork的拦截器自动对请求应用通用功能,例如workflow、validation或文件上传等功能。
(3)回调Action的execute方法,该execute方法先获取用户请求参数,然后执行某种数据库操作,既可以是将数据保存到数据库,也可以从数据库检索信息。实际上,因为Action知识一个控制器,它会调用业务逻辑组件来处理用户的请求。
(4)Action的execute方法处理结果信息将被输出到浏览器中,可以是HTML页面、图像,也可以是PDF文档或者是其他文档。此时支持的视图技术非常多,既支持JSP,也支持Velocity、FreeMarker等模板技术。
图2. 2显示了Struts2的体系概图。
图2.2 Struts2体系概图
2.2 hibernate技术
Hibernate是一个开放源代码的对象
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/xxaq/1134.html