基于Java的在线阅览系统设计

时间:2022-09-08 03:30:51

基于Java的在线阅览系统设计

摘 要: 本系统设计了一个在线阅览系统使各格式文档得以电子化,提高书籍循环利用率,更方便了读者查找需要的文档与分享自己觉得有价值的内容。本系统在SSH的系统架构之上利用Flexpaper等开源组件,设计了一个可以阅读pdf、doc、ppt、txt等不同格式文档的在线阅览系统。系统会向用户推荐热门的文档,用户可以在系统里上传分享有价值文档,下载文档以及在线阅览并且评价文档,方便了用户也节约了资源。

关键词: 在线阅览器 Java Flexpaper SQL Server2005

0 引言

现在是一个信息爆炸的时代,各种不同格式、不同内容的文档存在于互联网的各个角落。倡导文档电子化存储与阅览,不仅环保,有利于节能减排,提高书籍循环利用率,更方便了读者查找需要的文档与分享自己觉得有价值的内容。因此本文在SSH的系统架构之上利用Flexpaper等开源组件,设计并实现了一个可以阅读pdf、doc、ppt、txt等不同格式文档的在线阅览系统。系统会向用户推荐热门的文档,用户可以在系统里上传分享有价值文档,下载文档以及在线阅览并且评价文档,方便了用户也节约了资源。

1 相关技术介绍

1.1 开源组件Flexpaper

FlexPaper是一个开源轻量级的在浏览器上显示各种文档的组件,被设计用来与PDF2SWF一起使用, 使在浏览器中显示PDF成为可能,而这个过程并无需PDF软件环境的支持。另外也可以通过将一些例如Word、PPT等文档转成PDF,然后实现在线浏览。使用工具SwfTools, 可以使用命令行将pdf文件转换为swf文件。在java代码中可以通过调用Runtime.getRuntime

().exec(cmd)的方法实现上传文件时在后台自动将文件转换为swf格式。至于doc,ppt等MS格式的文档,使用flashpaper工具将之转换为swf格式,调用方法与swftools类似。

1.2 SSH框架

SSH 在J2EE项目中表示了3种框架,即 Spring + Struts +Hibernate。 Struts对Model,View和Controller都提供了对应的组件。Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,可以应用在任何使用JDBC的场合,可以在Servlet/JSP的Web应用中使用,也可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

2 在线阅览系统的设计

本系统为在线阅读系统,目的是为用户提供一个分享文档与查阅文档的平台。在分享方面,系统会为用户提供优秀文档推荐,喜爱文档上传分享的功能(注册用户),并可对需要的文档进行下载。在查阅文档方面,系统为用户提供了分类检索的功能和按关键字检索的功能,并可限制查阅文档为指定的格式。

2.1 系统架构设计

本子系统主要分为三大模块,包括注册与登录模块,上传与下载模块,搜索模块,读书模块。用户在前台各种产生的动作与行为由struts来拦截,在action中调用service对象处理业务逻辑,如查询文档,阅读文档,分享文档等需求。在service

中调用dao对象来操作后台数据库和文档中心。在表现层的jsp页面中需要显示文档时,从后台读取对应文档的swf格式文件由FlexPaper开源组件来实现加载与显示。Spring容器是系统中最大的工厂,负责管理系统中的所有组件的生成与销毁。系统由文档数据库和swf格式实体文档驱动,不同的请求在经过权限验证之后获得数据库的返回信息。

完成功能模块划分后,我们对系统进行流程设计,即普通游客和注册用户在登录本系统后是如何进行操作的流程以及管理员进行管理时的流程,下面将对两个流程进行说明。

用户流程:用户在登录本站时可以选择以注册用户和游客两种身份登录。如果是普通游客可以选择是否注册成为会员。若不注册成为会员,则用户可以在线阅读文档内容及文档的相关信息,但不能做更多的操作如对文档评分,下载,上传文档等。若选择注册成为会员,则用户使用自己的用户名和密码登陆成功后,可以查看图书的详细信息,并可上传有价值的文档,还可以下载需要的文档。在个人主页里面会保存用户的浏览历史,下载记录等信息。

管理员流程:管理员在登录了本站之后除了具有普通用户的功能与权限,还可以选择对文档信息、用户信息等方面进行管理。其中对文档的管理,可以选择修改文档的信息,修改系统首页推荐,删除不符合规定的文档,设置特定用户的权限等。

2.2 数据库设计

基于java在线阅览系统的数据库开发与设计基于SQL Server2005。数据库功能主要体现在对各种信息的提供、保存、更新和查询。操作上,包括用户信息、文档信息、浏览统计等表信息,各部分数据的数据内容又有着内在的联系。数据库中的每张表都满足BCNF。

3 系统典型功能模块的设计与实现

限于文章的篇幅,我们只以读书模块为例来说明。

读书模块包含显示文档内容,显示文档相关信息如作者、简介、用户评分、阅读次数、下载次数和提供下载方式等功能。显示文档内容功能的实现主要依赖Flexpaper插件来显示已被转化为swf格式的文档,FlexPaperViewer.swf实现阅读器框架,swfobject组件实现阅读器功能,只需要在页面内包含一段SwfFile路径和Scale放大倍数等参数的代码。当用户点击了任何一个包含文档路径的链接,程序会向数据库发出请求,查询被转化为swf格式的目标文档在服务器硬盘中的存储位置,并将位置信息传给Flexpaper插件。同时会从后台文档数据表中查询出文档名、简介、评分等数据并放到一个数据结构中,然后在页面上进行显示。在系统的后台编写了两个计数器,用来记录文档被阅读的次数和计算用户对文档的综合评分。如果用户想对文档进行评分、下载等操作,系统会检测Session的连接情况,必须为注册用户并登陆之后才能进行操作。同时会对用户的账户虚拟货币情况进行查询与计算,检测余额是否足够下载操作,同时对发生交易关系的相关账户进行虚拟货币的

加减操作。

4 结束语

本文通过构建在线阅览平台,实现文档的管理信息化与电子化,加快文档的分享与传播,使用户更快速、方便地找到需要的书籍文档,且系统支持大部分的文档格式。不仅环保,提高了书籍的循环利用率,更方便了读者查找需要的文档与分享自己觉得有价值的内容。系统会向用户推荐热门的文档,用户可以在系统里上传分享有价值文档,下载文档以及在线阅览并且评价文档,方便了用户也节约了资源。

参考文献:

[1]王珊、萨师煊,数据库系统概论(第四版)[M].高等教育出版社,2006.

[2]齐志昌,软件工程(第二版)[M].高等教育出版社,2004.

[3]李刚, 轻量级Java EE企业应用实战(第三版)[M].电子工业出版社,2012.

[4]吴晨,数据库开发与实例[M].清华大学出版社,2006.

上一篇:基于GPRS的智能微电网负荷监测系统 下一篇:域名备案后台流程设计