共享图书Web平台系统设计
2019-08-03张静
张静
摘 要 针对公共图书馆数量有限、位置不便以及购买图书成本太高等问题,通过共享书店的运作方式,实现人与人之间、书店与读者之间的信息共享,用最小成本推进全民阅读。论证共享图书Web平台的意义和技术支持,提出一款名为“纸书”的共享图书平台,并对Web系统的系统前台、用户管理以及后台管理三大模块功能进行设计。
关键词 共享图书;Web平台;纸书
中图分类号:G642 文献标识码:B
文章编号:1671-489X(2019)02-0058-03
1 共享图书Web平台的意义及技术支持
意义 随着互联网的快速发展和智能终端的普及,越来越多人热衷于电子书,但是看的时间久了,眼睛容易疲劳。公共图书馆存在数量有限以及位置不便等问题。图书价格近年来飙升,很多热爱读书的人不愿花那么多钱去买书,又不能从图书馆有限的图书资源中借阅到合适的书籍。“纸书”网站在最大程度上帮助人们解决了借书难、买书贵的问题,让人们可以随时随地借阅到自己想要阅读的图书。
图书资源共享不仅可以帮助图书馆解决经费紧张的问题,并节约成本。网络资源的共享化其实对图书馆是馆藏的延伸,增加图书馆的书籍数量。让人们增强对网络的认识以及共享的态度,可以促进图书网络资源共享化。因此,依据互联网开放的平台和人们图书借阅的需求,解决传统方式无法完成的图书共享,给读者带来便捷。秉承“传递书香,收获知识”的宗旨,致力于建立一个新的图书共享平台,从而提高我国国民的精神文化素质,并为读者提供优质的服务。
技术支持 SSM框架技术由Spring、Spring MVC和My-
Batis三部分组成,适用于搭建开发各种中、小企业应用系统。Eclipse平台可以搭建各种项目,具有内存小、使用免费、源代码和插件开放等优势。本文采用软件工程思想,采用B/S(Browser/Server)结构,运用SSM框架技术和Eclipse平台编写开发,使用Java语言和SSM框架技术实现系统的相关模块。在Web开发应用方面,MySQL应用软件能够灵活地定义、控制以及查询数据信息。本文采用MySQL数据库,通过使用阿里数据连接池,完成Eclipse与MySQL数据库的连接,实现基于B/S的与图书共享相适应的图书共享Web平台。
2 系统功能及图书借还流程设计
在移动互联网被广泛使用的今天,想要实现高校内图书共享,首先要实现用户的实名制,以此来解决用户之间存在的信任问题;然后进行书目整合,要求图书共享平台的书目检索目录不仅可以搜索到图书馆馆藏书目,还可以搜索到私人共享书目,这样读者可以一次性地查询校园内所有的图书资源;最后要建立跨平台的终端,图书共享平台的系统设计要将移动优先作为设计导向,使得平台可以适应移动终端和其他不同终端的使用。“纸书”校园图书共享Web平台设计包括系统功能模块设计、图书借还流程设计。
系统功能模块设计 系统结构如图1所示。
1)系统前台。前台网页主要分为图书检索、图书分类展示以及热门图书这三个板块,用户可以通过登录平台界面,寻找自己想要借阅的图书,提交借阅图书的申请。
2)用户管理。在图书共享平台上的用户信息必须要实名注册。用户ID、手机号以及使用的邮箱,在注册后会保存在数据库中。如果其他用户注册后使用相同的信息,系统会自动提示该用户名、该手机号或者该邮箱已经使用过。如果输入的不正确,会提示用户该账号错误请更改。注册时,官方会向用户发送手机验证码。本系统在登录时有两种不同的操作权限,不同的操作权限在登录后会有不同的界面显示与操作。当拥有合法身份的账号在输入正确的账号及密码,并点击下面的“登录”按钮后,进入后台管理系统首页;如果输入账号不存在,会在界面提示“该用户不存在”;若输入密码错误,会在界面提示“密码错误”。此外,用户在第一次登录的时候,平台内部的系统会将用户的信息自动保存到本地,为下一次登录的本地认证提供便利。用户可以修改个人信息和联系方式,设置个人信息的公开内容。
3)后台管理。平台后台管理主要有三个功能板块:在
“我的借阅”板块,用户可以查看自己的借阅申请是否被图书出借者确认,可以查看图书出借者的基本信息,还可以查看已借阅过图书的信息、图书借阅是否超期以及历史借阅记录;在“图书共享”板块,所有经过认证的用户都可以发布图书的共享信息;在“借出管理”板块,用户可以查看自己所借出图书的信息和期限、图书借阅者是否按时归还图书,还可以查看图书借阅者的基本信息以及历史借出记录等。
图书借还流程设计 图书借还流程设计包括借书和还书流程设计。
1)借书流程。
①用户进行认证登录之后,要先查找想要借阅的图书,确认该图书是否为私人共享:如果该图书是图书馆的藏书,用户可以直接前往图书馆进行借阅;如果该图书是私人共享,用户要在线上提交借阅申请。
②系统会通过邮件的形式将借阅申请传递给图书的借出者,借阅者和借出者可以通过平台留言或者根据个人信息中展示的联系方式,约定线下借书的时间和地点;最后用户要再次登录平台,确認图书已经借阅成功。
2)还书流程:用户在进行认证登录之后,在“我的借阅”模块中进行还书操作,然后借阅者和借出者约定好线下还书的时间和地点;等到图书归还之后,借出者要在平台中确认已经收回借阅的图书。
3 网站布局设计开发过程
根据用户表设计注册页面的表单元素,由手机号、用户名、昵称、注册邮箱、密码构成。Form表单提交方式为Post,action为Servlet/Rejisterpage.java,先走一遍过滤器,过滤器较为简单,包含一个中文乱码的过滤。未登录时访问首页或者会员页、论坛页时,进行跳转至登录页面的过滤,因为这些页面需要通过Session获取user对象,防止对user操作时出现空指针异常。
Step1 用html划分布局,分为头部、中间和尾部。头部内容包含一个纸书项目Logo,一个导航栏。中间内容就是注册页面的表单。尾部内容包含营业信息和版权声明。用Css设置页面的样式和显示效果。
Step2 用Jquery控制页面的逻辑和效果。用pattern设置其规范<正则表达式>。可以用字符串的match方法判断是否匹配,也可以通过对提交按钮绑定Click()事件,获取表单元素对象,通过validity.patternMismatch的返回值验证是否匹配规范,满足给其兄弟元素空的div增加绿色背景样式,提示输入正确;不满足则增加红色的背景样式,根据错误信息给出提示。
Step3 根据用户表设计注册页面的表单元素,由手机号、用户名、昵称、注册邮箱、密码构成。Form表单提交方式为Post,action为Servlet/Loginpage.java,内建一个正则表达式引擎。用户名-pattern:由字母、数字、下划线、点、减号组成;只能以数字、字母开头或结尾,且长度为4~18个字符。手机号-pattern:手机号码,以13、15、17、18开头的11位数字。昵称-pattern:只能由汉字、字母、数字、下划线以及特殊字符@!#$%&*组成,长度为4~16个字符。注册邮箱-pattern:输入常用电子邮箱,邮箱应包含符号@和.。密码-pattern:密码应为6~16个字符。
Step4 获取验证码为a标签,通过window.setInterval
設置时钟,刷新时间为1000 ms,定义时间变量为“time=60;
time--”;获取a标签元素调用text方法,传参time+″s″;
当time==0,清除时钟,把a标签的禁用属性设为able。用Servlet接收注册页面传过来的参数,对参数进行逻辑判断。用Servlet接收登录页面传过来的参数,用选择分支判断。只要满足一个就进行跳转(用户名/手机号/邮箱与密码匹配),查询结果返回值为true,跳转至首页;否则提示用户名或密码错误。
Step5 通过request对象调用getParameter()获取注册页面的传参,这里需要用到一个POJO里User的类。根据这些传参,实例出一个具有以上信息的User对象。通过Dao层中的方法看返回值是否为空,若为空,说明注册的手机号、邮箱、用户名都未被注册过。向数据库里增加用户的操作,调用addUser()方法,设置Session对象User,然后跳转至首页。不为空,则说明数据库里已存在这样的信息。因为增加了唯一约束,增的话会报错,这时候就要告诉用户什么地方出问题,再返回到注册界面修改。用reponse.setHeader()设置提示信息。
Step6 面向接口编程,为保证登录时可以用用户登录,也可以用邮箱或手机号登录,在UserDao里用到public
String getPasswordbyusername、public String getPass-wordbyemail和public String getPasswordbyphone三种抽象方法。
在BookDao里用到public boolean addUser、public boolean Existsusername和public User getUser三种抽象方法。public boolean addUser方法用于增加用户,注册验证该用户名、手机号、邮箱都没有被使用过。这里邮箱和手机号在数据库里都是唯一约束,所以要验证。public
boolean Existsusername方法通过传用户名,查数据库,如果数据不为1的话,就返回true,否则返回false。public
User getUser方法通过用户名、邮箱、手机号获取对象。该方法根据单一用户名的用户对象,返回该用户的全部信息的用户对象。因为每个帖子只有用户名和头像的路径信息,所以public User getUser方法主要应用于论坛页面。
public List
pageSize方法是对书分类做一个分页。public int get
TotalCount()方法是获取该分类下有多少本这样的书籍。public boolean addBook、public boolean deleteBook和public boolean queryBook这三种方法是给管理员操作图书的权限,分别是增加图书、删除图书和查询图书。
在LuntanDao里,public boolean addLuntanList(Lun
tanList luntan)方法是向论坛列表里增加数据,public List
4 结语
本文基于Web技术,针对“纸书”校园共享图书Web平台进行了系统功能设计。图书借还流程主要包括借书和还书流程设计。注册、登录以及网站借阅界面都已实现。建立高校图书共享Web平台,能够最大限度帮助学生解决借书难、买书贵的问题,让学生可以随时随地借阅到自己想要阅读的图书。“纸书”网站可以激发高校师生阅读的热情,提高图书的使用率,不会因与图书馆闭馆时间相冲突,从而无法借阅到自己想要阅读的图书。
参考文献
[1]米高峰,李思美,赵梦飞.全民阅读语境下图书资源整合与共享平台设计研究[J].出版广角,2018(6):61-63.
[2]赵琰,戴晓翔,詹庆东.互联网思维下图书共享模式研究[J].图书情报工作,2018,62(3):33-38.
[3]邓蓉敬.学校社区共建共享联合图书馆:国外农村公共图书服务均等化服务模式与启示[J].图书馆工作与研究,2014(1):55-59.
[4]廖文俊.用户期望在Web网站设计中的应用研究[D].江苏:江南大学,2013.
[5]WU Y. Analyses of PHP Dynamic Website Development Technology in the Era of Internet+[M]//International Informatization and Engineering Associations.2015:4.