【Java开源代码栏目提醒】:网学会员为需要Java开源代码的朋友们搜集整理了校内教学资源共享平台—前端设计与实现(毕业论文doc) - 毕业设计相关资料,希望对各位网友有所帮助!
校内教学资源共享平台——前端设计与实现 摘 要 我校课程资料的管理一直都是基于 BB 平台的,但是由于 BB 平台是一个综合性的教务
管理系统,所以对资源的管理并没有做的非常细致,只能完成一些上传下载
课件、
文档等功能。
无法实现资源的共享。
显然一个让所有人都能上传资源并能分享别人的学习资源的共享平台是非常必要的。
资源共享平台是是一个允许所有登录后的用户上传资源,下载资源的共享平台,同时系统围绕课程实现了很多相关功能,用户之间点对点的发送站内信,老师发布课程公告,用户对资源进行评论等功能。
本系统是一个基于 SSH 的课程资源管理的平台。
开发的工具为 MyEclipse,版本控制使用 CVS,开发语言为
JAVA,数据库为 Oracle11g。
系统默认分配了四 校内教学资源共享平台——前端设计与实现个用户组,分别为超级管理员、管理员、老师、学生。
用户可根据自己所属的用户组的权限对平台上的课程资源进行相关的操作。
关键词:资源共享;文件下载;SSH;JQuery;Oracle11g;前端性能优化 2 校内教学资源共享平台——前端设计与实现 DesignandImplementationofFrontendforSchoolResourceSharingPlatform ABSTRACT The management of our college courses resources is based on BB platformbut because BB platform is a synthetical system the management of coursesresourses is not meticulous. It can only upload some simple coursewaresdocuments and so on. It can not share the resources. Obviously a systemthat can make all users upload resources and download resoures whichuploaded by others is necessary. The resource sharing platform is a system that allow all users who havealready logon upload and download files. The system has some otherfunctions about course user senting letter to other users who logon thisplatform teacher issuing bulletin user commenting resource etc. This systems design and implemention are based on SSH. The IDE is MyEclipse.the version control tool is CVS development language is
JAVA anddatabase is Oracle1g.The system has four defult user groups they aresupper-manager normal-manager teacher and student. Every user groups allhave their own authority the users authority is based on the user groupwhich they belongs to.Key
words:resource Share file download SSH;JQuery Oracle11g frontendoptimiztion 3 校内教学资源共享平台——前端设计与实现 目录摘 要 ...................................................................1Abstract ...................................................................31 绪论 .....................................................................6 1.1 平台设计来源及研究意义 ................................................6 1.2 模块设计的内容 ........................................................6 1.3 平台设计要达到的目标 ..................................................72 模块分析 .................................................................8 2.1 模块需求分析 ..........................................................8 2.2 开发技术路线 ..........................................................9 2.2.1 平台技术概述 ......................................................9 2.2.2 前端技术概述 ......................................................9 2.2.3 后端技术概述 .....................................................12 2.3 可行性分析 ...........................................................133 模块概要设计 ............................................................15 3.1 模块功能总体设计 .....................................................15 3.2 模块流程分析 .........................................................15 3.2.1 整体的流程分析 ...................................................15 3.2.2 各用户流程分析 ...................................................17 3.3 数据库概要设计 .......................................................204 模块详细设计 ............................................................21 4.1 模块功能详细设计 .....................................................21 4.1.1 公告模块 .........................................................21 4.1.2 课程资源模块 .....................................................21 4.1.3 留言模块 .........................................................21 4 校内教学资源共享平台——前端设计与实现 4.1.4 站内信模块 .......................................................21 4.2 系统主要界面详细设计 .................................................21 4.3 数据库详细设计 .......................................................275 编码调试与测试分析 ......................................................35 5.1 设计实现中的问题 .....................................................35 5.2 调试测试中的问题 .....................................................35心得与体会 ................................................................37参考文献 ..................................................................38谢辞.......................................................................39 5 校内教学资源共享平台——前端设计与实现1 绪论 1.1 平台
设计来源及研究意义 设计资源共享平台的时候,是以学习资源(电子书类、音频类、视频类、软件类)的共享为切入点。
满足学生之间的资源共享的需求。
学生们每个人手里都会有一些资源,但是如果能降这些资源进行整合,并且共享起来,那么所有同学都将受益匪浅,本系统就是本着为同学提供高效的共享平台而开发的。
系统以课程为单位,进行围绕课程的资源共享。
同学们在寻找自己需要的资源的时候都是以课程为单位的,这样又能满足老师的教学需求。
老师可以在自己的课程下面添加资源,同时也可以发布一些课程的公告。
还可以进行点对点的站内信,可以说将资源的共享进行了细化。
而且同学也可以进行资源的共享。
但是我们已经有了一个 BB 平台,那你们做的那个资源共享平台还有意义吗?是很有意义。
BB 平台这种开放式的环境及对行业标准的适应性与协同性,为的是能够帮助教育机构实现互联互动的教学环境。
而在我们学校师生对 BB 平台的使用情况大家都有目共睹,大部分的学生经常使用 BB 平台看一些老师发布的公告、老师的个人信息、课程的简介信息、下载一些相关课程的
学习资料、将完成的作业上传到数字收发箱,而实际情况是很多学生都不是积极主动的使用 BB 平台;大部分的老师经常使用 BB 平台发布一些公告,上传课程的简介信息和要求以及课程相关的学习资料、查阅学生上传的
作业,而可能是学校
网络环境的问题,老师反映说有时上传的资料会出现
问题。
BB 系统的确强大,但是好多功能其实已经几乎都不在使用了,而且和本校开发的其他平台整合的时候会比较困难,所以我们进行了这个平台的开发,值做资源的共享,而将这个功能的可用性做好。
而对以后进一步扩充其他功能留有接口方便给整合其他的平台。
1.2 模块设计的内容 凡是注册成功的用户登录到该平台后,都能够根据自己所属用户组的权限对平台上的系统公告、
课程公告、课程资源、站内信、留言、用户、用户组等内容进行合法的操作(增、删、改、查)。
6 校内教学资源共享平台——前端设计与实现 1.3 平台设计要达到的目标 我们的目标就是希望通过大家的努力,能够让我们的这个资源共享平台成为一个以课程为中心,围绕课程的一个共享平台。
在学校中实用和适用的平台,主要是面向全校的老师和学生,使其能够在自身受益的同时,还可以通过相互的交流使更多人受益。
但是我们能够清楚地认识到要想达到这个目标会遇到很多困难,不论是在开发、测试过程中,以及后期的性能优化、管理与维护阶段,肯定会遇到很多技术上难题。
7 校内教学资源共享平台——前端设计与实现2 模块分析 2.1 模块需求分析 目前平台默认有四个用户组,分别为:超级管理员组、管理员组、老师组、学生组。
凡是
注册成功的用户登录到该平台后,都能够根据自己所属用户组的权限对平台上的系统公告、课程公告、课程资源、站内信、留言、用户、用户组等内容进行合法的操作(增、删、改、查)。
目前平台默认有 39 个操作,分别为:添加一个行为、删除一个行为、更改用户组行为、添加用户组、删除用户组、更换用户分组、更改用户信息、添加新用户到普通用户、删除用户、添加系统公告、更改系统公告、删除
系统公告、添加任意班级公告、更改任意班级公告、删除任意班级公告、添加所属班级公告、更改所属班级公告、删除所属班级公告、添加留言、更改留言信息、删除所属留言、删除所有课程资源留言、编辑所有资源专辑、删除所有资源专辑、编辑自己资源专辑、删除资源专辑、发送站内信、删除所有站内信、删除自己所收站内信、上传资源无限制、上传资源 2G 限制、上传资源 1G 限制、上传资源 500M 限制、上传资源 200M 限制、上传资源 100M 限制、上传资源 50M 限制、上传资源 30M 限制、上传资源 20M 限制、上传资源 10M 限制。
这些操作将会合理的分配给各个用户组,当用户进行相应的操作之前,都会对该用户所属的用户组的权限进行检测,确认其所拥有的权限并进行相关的操作,一下为各用户组的所持有的相关权限。
超级管理员:查看、发布、修改、删除系统公告;查看、发布、修改、删除课程公告;查看、上传、下载、删除课程资源,上传资源大小限制;查看、发送、删除站内信;查看、发送、删除留言;查看、创建、修改、删除用户信息;查看、创建、修改、删除用户组信息,添加、修改、分配用户权限。
(如图 3.3 所示) 管理员:查看、发布、修改、删除系统公告;查看、发布、修改、删除课程公告;查看、上传、下载、删除课程资源,上传资源大小限制;查看、发送、删除站内信;查看、发送、删除留言;查看、修改个人基本信息,查看相关师生基本信息;查看所属用户组的基本信息。
老师:查看系统公告;查看课程公告;查看、上传、下载课程资源;查看、发送、删除站内信;查看、发送、删除留言;查看、修改个人基本信息,查看相关学生基本信息;查看所属用户组的基本信息。
8 校内教学资源共享平台——前端设计与实现 学生:查看系统公告;查看课程公告;查看、上传、下载课程资源;查看、发送、删除站内信;查看、发送、删除留言;查看、修改个人基本信息;查看所属用户组的基本信息。
2.2 开发技术路线 2.2.1 平台技术概述 后端整合 Struts2、Spring2、Hibernate3 框架开发多层架构的 JavaEE 应用。
前端开发脚本方面使用 JQuery 框架为基础开发库,布局应用 CSS。
数据库开发使用 Oracle11g。
文件上传方面的
通信协议主要通过 HTTP、Flex 内置协议、自定义协议三种方式实现。
服务器环境为 LinuxSUSE操作系统。
开发环境为 Window 操作系统。
服务器使用 Tomcat 服务器。
开发工具:MyEclipse。
版本管理工具:CVS。
2.2.2 前端技术概述 前端页面基于
HTML4.0.1CSS1.0 的 960 栅格化进行设计,页面脚本架构基于jQuery 进行开发。
其中大量是用同源下的 Ajax 进行交互来增强用户体验。
文件上传部分有部分功能基于 Flex 进行开发。
对 其中大量使用了前端优化策略。
Ajax请求进行相应的安全优化。
1 栅格系统的设计原理及应用 9 校内教学资源共享平台——前端设计与实现 图 2.1 栅格计算示意图在网页设计中,我们把宽度为“W”的页面分割成 n 个网格单元“a”,每个单元与单元之间的间隙设为“i”此时我们把“ai”定义“A”。
他们之间的关系如下:W (a×n)(n-1)i由于 aiA,可得:A×n - i W如以上原理,在本站的设计中,采用了类似如下 960 栅格设计: 10 校内教学资源共享平台——前端设计与实现 图 2.2 栅格化明细示意图2 前端优化
方案描述: ① 减少 HTTP 请求使用 expires 头 ② 采用 gzip
压缩组件 ③ 将样式表放在顶部 ④ 将脚本放在底部 ⑤ 禁止使用 CSS 表达式简化 css 选择符 ⑥ 尽量使用外部的 JavaScript 和 CSS ⑦ 精简 JavaScript
代码 ⑧ 尽量不适用重定向 ⑨ 对 JavaScript 进行并行加载对 JavaScript 使用预加载 ⑩ 进行图片的优化合理的合并图层 11 校内教学资源共享平台——前端设计与实现3 JQuery 是一个前端的框架,其是由 javascript 编写而成的,其中提供了很多的内置方法方便前端脚本的编写。
而且之中内置了很多前端方面的性能优化,是的响应的减少了由于导入脚本库增加页面首次载入的下载量导致的页面的渲染速度问题。
Flex 是一种基于浏览器插件的技术,也就是说浏览器必须安装了 adobe 的 flashplayer插件才能播放。
也正因如此,它是夸平台的,不会因为浏览器对页面的解析不同而显示出不同的效果。
本系统使用 Flex 主要是因为 HTTP 不能满足上传中大型文件的需求,如果用户有一个需求是这样的:想上传一个较大的文件,但是又不想安装客户端,而传统的 HTTP 方式又不可以实现,这是就要用到 Flex 上传。
Flex 方式可以上传 300M 一下的文件。
2.2.3 后端技术概述 Struts2 的简单处理流程如下: 1 浏览器发送请求; 2 中心处理器根据 struts .xml 配置文件查找对应的处理请求的 Action 类; 3 Struts2 的拦截器链自动对请求应用通用功能,例如:WorkFlow、 Validation 等功能; 4 如果 struts .
xml 配置文件中配置了 method 参数,则调用 method 参数 对应的 Action 类中的 method 方法,否则调用通用的 execute 方法来处理 用户请求; 5 将 Action 类中的对应方法返回的结果响应给浏览器。
Spring 的核心是 IOC(控制反转)和 AOP(面向切面编程),IOC 是用来管理所有的业务对象,当你需要一个对象的时候它会帮你自动的通过
Java 的反射机制来创建,而不是通过以前传统的 new 的方式;AOP 是允许在调用的方法前后附加另外的行为,可以为某一类对象进行监督和控制,从而达到对一个模块扩充的功能,这些都是通过配置类达到的。
Spring 目的:就是让对象与对象(模块与模块)之间的关系不通过
代码来关联,都是通过配置类说明进行管理(Spring 根据这些配置,内部通过
Java 的反射机制动态的组装对象),Spring 的哲学是在不影响
Java 对象的设计的情况下将
Java 对象加入到框架中。
Hibernate 是一个
开源的对象关系映射框架,它对 JDBC 进行了轻量级的对象封装,对
Java 类和关系数据库进行 mapping,使得
Java 程序员可以随心所欲的 12 校内教学资源共享平台——前端设计与实现使用面向对象编程思维来操纵数据库。
Hibernate 可以应用在任何使用 JDBC 的场合,既可以在
Java 的客户端程序使用,也可以在 Servlet/JSP 的 Web 应用中使用,Hibernate 还可以在应用 EJB 的 JavaEE 架构中取代 CMP,完成数据持久化的重任。
2.3 可行性分析 LinuxTomcat 作为服务器环境是非常实用的,Tomcat 虽然不像 Apache 那样的高效,但是由于其内部没有 jsp 的环境,所以如果使用 apache 的话还要将 Tomcat 集成到 Apache 上,导致中间的转换,而且在内网的环境下,使用过于复杂的服务器环境没有意义,所以我们最终选择了仅适用 Tomcat 作为服务器。
JQuery 库的主要优点是方便开发,但是同时也会出现一个问题,就是在第一次载入JQuery 的时候会给页面多带来 300K 的开销,会稍微减慢了页面的加载速度,但是这些开销其实是可以忽略的,因为即便是在外网中使用 jquery 库也不会对页面带来太多的影响,何况是本系统主要是服务于内网用户,而且当用户载入一次 JQuey 库之后就会在用户的电脑中形成浏览器缓存,在下次再使用的时候浏览器会自动的去取缓存里面的 js 文件,也就是说即便是对前端的性能有了一定的影响也只是影响了用户第一次访问本站的时候。
而带来的好处是很大的,首先是提高了开发效率,其次是其包含了很多优化好的方法,可以大大增强
代码的执行效率。
Flex 的跨平台性很好,其缺点也是在第一次加载的时候需要加载一个 SWF 文件,这个文件相对较大。
但是同样这个在内网可以忽略不计,而且会形成浏览器缓存。
同时带来的很多优点就是 Flex 带来的用户体验非常好,同时满足了上传中大型文件的需求。
Struts2 是一个 MVC 框架,主要用于将交互系统分解成模型(Model)、视图(View)、控制器(Controller)三个部分,这三个部分以最小的耦合协同
工作,以增加
程序的可扩展性和可维护性。
概括起来 MVC 框架的优点主要有以下方面: 1 多个视图可以对应一个模型。
按 MVC 设计模式,一个模型对应多个视图, 可以减少重复性
代码以及
代码的维护量,一旦模型发生改变,也易于维护; 2 模型返回的数据与显示逻辑分离。
模型数据可以应用任何的显示技术,例 如,使用
JSP 页面、Velocity 模板或者直接产生 Excel
文档等; 3 应用被分隔为三层,降低了各层之间的耦合,提供了应用的可扩展性; 4 控制层的概念也很有效,由于它把不同的模型和不同的视图组合在一起, 完成不同的请求。
因此,控制层可以说是包含了用户请求权限的概念; 5 MVC 更符合
软件工程化管理的精神。
不同的层各司其职,每一层的组件具 13 校内教学资源共享平台——前端设计与实现 有相同的特征,有利于通过工程化和工具化产生管理程序
代码。
Spring 既是一个 IOC 容器,也是一个 AOP 框架。
Spring 最好的地方是它有助于开发人员替换对象,有了 Spring 只要用 JavaBean 属性和配置文件加入依赖性(协作对象)。
然后可以很容易地在需要时替换具有类似接口的协作对象。
IOC 允许创建一个可以构造对象的应用环境,在
代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务,IOC 容器负责将这些联系在一起。
在典型的 IOC 应用中,IOC 容器创建所有对象,并设置必要的属性将它们连接在一起,决定什么时间调用方法。
AOP 让开发人员可以创建非行为性的关注点,称为横切关注点,并将它们插入到应用程序
代码中。
使用 AOP 后,公共服务(比如日志、持久性、事务等)就可以分解成方面并应用到域对象上,同时不会增加域对象的对象模型的复杂性。
AOP 的功能完全集成到了 Spring 事务管理、日志和其他各种特性的上下文中。
Hibernate 主要用于数据库的持久化(将普通
Java 对象映射到数据库中的关系实体)。
优点主要有以下方面: 1 对 JDBC 访问数据库的
代码做了封装,大大简化了数据访问层繁琐的重复 性
代码.