全民健身电子地图在线服务平台的设计与实现Word格式.docx
《全民健身电子地图在线服务平台的设计与实现Word格式.docx》由会员分享,可在线阅读,更多相关《全民健身电子地图在线服务平台的设计与实现Word格式.docx(34页珍藏版)》请在冰豆网上搜索。
2.管理员能够登录、实现数据维护和操作员权限管理等操作。
3.能够浏览、发布、删除、修改新闻信息和赛事公告信息。
4.能够查看、添加、回复、删除评论信息。
5.能够以电子地图方式显示场馆位置,进行地理坐标定位,实现本地附近搜索功能。
1.2系统用例分析
全民健身电子地图在线服务平台的用户分为:
普通游客,注册用户和管理员三种。
下面将分别描述三种用户的功能用例图:
图1-1普通游客用例图
普通游客用例:
享有浏览平台的新闻信息、赛事信息、场馆信息、场馆电子地图查询以及注册成会员用户等功能。
图1-2注册用户用例图
注册用户用例:
在普通游客享有全部功能之外,还享有评论留言、用户登录、个人信息修改和密码修改等功能。
图1-3管理员用例图
系统管理员用例:
享有对用户信息、其他管理员信息、新闻信息、赛事信息、场馆信息、评论信息等的管理。
第二章系统设计
2.1总体设计
2.1.1模块划分
全民健身电子地图在线服务平台通过其需求功能可划分如下几个模块:
普通用户管理,管理员用户管理,新闻资讯,赛事公告,场馆信息,评论留言,电子地图七个模块,其总体结构模块图划分如图2-1所示。
图2-1总体功能模块图
2.1.2总体结构
全民健身电子地图在线服务平台总体结构图主要介绍了平台功能模块的再划分,详细的描述了每一个模块的子功能,通过平台的总体结构图,可以很快的了平台各模块在前后台对应的各个功能,其总体划分结构图如图2-2和图2-3所示。
图2-2系统前台结构图
图2-3系统后台结构图
2.1.3功能描述
全民健身电子地图按需求可将功能分为前台用户和后台管理员所对应的功能,其前台用户主要有以下功能:
1.注册用户:
实现非用户的注册,用户需要填写必要信息,通过前台JavaScript的校验,且用户名不能是已经注册的用户名。
2.用户登录:
实现注册用户的登录,个人密码修改,个人信息修改和退出系统功能。
3.新闻浏览:
用户通过新闻浏览可以查看全部新闻信息,通过每个新闻的标题链接,用户可以查看该新闻标题对应的新闻详细信息。
4.赛事公告:
用户通过赛事公告可以查看最新的5条赛事信息,也可以通过赛事锦集来查看全部赛事信息,除此之外,用户可以通过每条赛事标题查看其对应的详细赛事信息。
5.场馆信息:
实现显示全部场馆信息功能,用户可通过详细介绍查看每个场馆的详细信息。
6.电子地图:
显示所在城市的电子地图,通过电子地图标注显示所有的场馆信息(系统主要显示呼和浩特市),用户可以点击标注查看场馆详细信息,实现了到该馆的公交路线查询和附近搜索功能,还可以实现地图定位。
7.评论留言:
用户通过该功能可以查看所有的评论信息,选择评论内容可查看该评论的详细信息,此外,登录的注册用户可以进行评论留言。
8.后台管理:
为管理员提供后台登录的链接。
后台管理员主要有以下功能:
1.管理员登录:
实现系统管理员的后台登录,并且需要对管理员的账号、密码和验证码进行校验,只有通过校验者才能进入后台。
2.修改个人密码:
实现在线管理员个人密码的修改。
3.Admin信息管理:
管理员可以对其余管理员信息管理,包括删除,添加操作。
4.注册用户管理:
管理员可查看所有注册用户的详细信息(不包括密码),以及删除注册用户信息。
5.场馆信息管理:
管理员可以添加,修改和删除场馆信息。
管理员可以获取添加场馆坐标,也可以预览添加场馆在电子地图中的位置。
7.赛事公告:
管理员可以发布,修改,删除赛事信息。
8.新闻信息:
管理员可以发布,修改,删除新闻信息。
9.评论留言:
管理员可以回复、删除用户评论。
2.1.4功能时序图
时序图(SequenceDiagram)描述了对象之间传递消息的时间顺序,它用来表示用例中的行为顺序。
在全民健身电子地图在线服务平台中,按照每一个用例功能都可以建立一个时序图,而系统功能比较多,以下将列出几个典型的功能时序图。
1.用户评论留言时序图
用户通过自己用户名和密码登录后,将用户所有信息保存在session中,然后通过评论留言模块的“我要评论”链接进入评论页面,session中没有用户信息的游客不允许评论。
用户填写完评论信息,将信息提交至数据库,更新数据成功之后给用户提示信息,评论留言时序图如图2-4所示。
图2-4用户评论时序图
2.新闻浏览时序图
用户通过新闻信息菜单可以查看所有新闻的标题信息,选择相应的标题之后获取标题ID,跳转到新闻详细页面,用户可以查看新闻详细信息,新闻浏览时序图如图2-5所示。
图2-5新闻浏览时序图
3.管理员发布新闻时序图
管理员通过后台登录,登录时输入管理员账号、密码及验证码。
通过新闻管理添加新闻信息,添加新闻信息时需要输入新闻标题和正文,然后将新闻信息提交至数据库,更新数据库之后系统将向管理员提示添加成功,新闻发布时序图如图2-6所示。
图2-6管理员发布新闻时序图
4.管理员删除新闻信息时序图
管理员登录后台以后,进入新闻管理,选择删除新闻信息,系统向管理员提示确认删除,得到管理员确认后,系统将要删除的新闻ID提交至数据库,执行删除操作,删除成功后跳转到新闻管理页面,新闻删除时序图如图2-7所示。
图2-7管理员删除新闻时序图
5.管理员修改新闻信息时序图
管理员登录后台以后,选择新闻管理,再选择具体新闻,获取新闻ID跳转至新闻修改页面,管理员输入修改新闻信息,提交至数据库,数据库更新成功以后向管理员提示新闻修改成功,新闻修改时序图如图2-8所示。
图2-8管理员修改新闻时序图
2.2系统工作流程
全民健身电子地图在线服务平台基于B/S模式开发,采用MVC三层设计模式。
包括,显示层:
主要负责接收Servlet传递的内容,并且运用JavaBean,将内容通过JSP显示给用户。
控制层:
用过Servlet实现,负责接收所有用户的请求参数,判断请求参数是否合法,根据请求的类型调用JavaBean执行操作并将最终的处理结果交给显示层进行显示。
模型层:
用过JavaBean实现,按照数据库字段定义属性,提供相应字段的set和get方法。
用户通过浏览器可完成在该平台下的一系列操作,管理员通过后台发布和管理相关信息。
平台工作流程图如图2-9所示。
图2-9全民健身电子地图服务平台工作流程图
2.3数据库设计
2.3.1数据库概念结构设计
全民健身电子地图在线服务平台按照模块可划分新闻、赛事公告、场馆、用户、管理员、评论留言六个实体。
E-R图能够清晰的描述各实体之间的联系,为数据库设计提供概念模型。
系统E-R图如图2-10所示。
图2-10系统E-R图
系统E-R图中,一个用户可以评论N条评论信息,一条评论只能由一位用户评论。
一位管理员可以回复M条评论,而一条评论只能有一位管理员评论。
图2-11新闻信息E-R图
新闻信息E-R图中,新闻实体和管理员实体关系为:
每个管理员可以发布N条新闻信息,一条新闻信息只能由一位管理员发布。
图2-12赛事公告E-R图
赛事公告E-R图中,赛事实体和管理员实体关系为:
每个管理员可以发布M条赛事公告信息,一条赛事公告信息只能由一位管理员发布。
图2-13场馆信息E-R图
场馆E-R图中,场馆实体和管理员实体关系为:
每位管理员可以发布N条场馆信息,一条场馆信息只能由一位管理员发布。
2.3.2数据库逻辑结构设计
基于上面的实体关系模式,数据库表结构如下。
1.用户信息表
表名:
T_USER,注册用户基本信息,如表2-1所示。
表2-1用户信息表T_USER
字段
字段类型
字段含义
备注
ID
varchar2(50)
用户编号
主键
LOGINNAME
用户登录名
唯一键,非空
LOGINPW
用户登录密码
非空
NAME
用户姓名
SEX
用户性别
‘男’,‘女’
EMAIL
电子邮件
ADDRESS
nvarchar2(100)
用户地址
2.场馆信息表
T_GUAN,场馆基本信息如表2-2所示。
表2-2场馆信息表T_GUAN
场馆编号
MINGCHENG
nvarchar2(255)
场馆名称
DIZHI
场馆地址
DIANHUA
场馆电话
JIESHAO
varchar2(2000)
场馆介绍
FUJIAN
照片附件
JINGDU
number(12,6)
场馆经度
WEIDU
场馆纬度
USERNAME
场馆添加者
外键
其中,USERNAME为T_ADMIN表的唯一键。
3.新闻信息表
T_NEWS,新闻信息如表2-3所示。
表2-3新闻信息表T_NEWS
新闻编号
TITLE
新闻标题
CONTENT
新闻内容
SHIJIAN
发布时间
新闻发布者
4.赛事公告表
T_GONGGAO,赛事公告信息如表2-4所示。
表2-4赛事公告表T_GONGGAO
ID
赛事编号
赛事标题
赛事内容
赛事发布者
5.管理员信息表
T_ADMIN,管理员表如表2-5所示。
表2-5管理员表T_ADMIN
USERID
number(10)
管理员编号
主键,自增
管理员账号
USERPW
管理员密码
其中主键USERID使用触发器,插入数据主键按序列实现自增。
6.评论留言表
T_LIUYAN,评论留言信息如表2-6所示。
表2-6评论留言表T_LIUYAN
评论编号
NEIRONG
varchar2(776)
评论内容
LIUYANSHI
评论时间
评论用户
HUIFU
回复内容
HUIFUSHI
回复时间
回复管理员
2.4运行环境
操作系统:
MicrosoftWindowsServer2003/2008,Linux(服务器版)。
数据库:
Oracle10g及以上。
服务器:
Tomcat7.0。
JDK:
JDK1.6。
第三章系统实现
3.1相关技术
3.1.1DWR
DWR(DirectWebRemoting)是一个用于改善Web页面与Java类交互的远程服务器端Ajax开源框架,实现局部刷新页面的效果。
这个框架的最大优点就是可以在JavaScript中调用Java方法,传递参数,并且可以得到返回值。
本课题中大量的使用了该技术。
dwr.xml文件配置如下:
<
dwr>
<
allow>
createcreator="
new"
javascript="
toolService"
>
paramname="
class"
value="
com.qmjs.service.toolService"
/param>
/create>
convertconverter="
bean"
match="
com.qmjs.table.Tguan"
/convert>
/allow>
/dwr>
其中:
param>
标签配置了JavaScript可访问的Java类,<
convert>
标签使DWR自动在Java和JavaScript之间调整数据类型转换。
3.1.2过滤器
过滤器是以一种组件形式绑定到Web应用程序中,采用链式方式处理。
所有的请求将首先交给过滤器处理,然后再访问相应的Web资源。
系统中使用了两个Filter,分别是编码过滤(EncodingFilter)和后台登录验证过滤(adminLoginFilter)。
编码验证:
将所有请求信息通过编码过滤。
后台登录过滤:
将对访问后台的所有文件进行session中管理员信息过滤,如果session中存在管理员信息将对请求放行,如果管理员信息不存在,则在服务器端自动跳转到后台登录界面。
3.1.3单例设计模式
单例设计模式是软件设计中常用的一种设计模式。
其核心结构中只包含一个被称为单例类的特殊类。
通过单例模式可以保证在系统中,一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数进行控制并节约系统资源。
3.1.4JavaScript
JavaScript是基于对象和事件驱动的客户端脚本语言,广泛的用于Web客户端脚本开发,能够给HTML网页添加动态功能,比如响应用户的各种操作。
在本系统中,大部分客户端校验都使用了JavaScript技术,这样能够减轻服务器端负担,便于用户交互。
本系统中的电子地图也是采用XX地图JavaScriptAPI实现,它提供了一套由JavaScript编写的应用程序接口,能够在线创建功能丰富、交互性强的电子地图,还提供了一些强大应用功能的开源库,此外还支持HTML5特性。
3.1.5数据库连接池
数据库连接池为解决资源频繁的分配和释放等问题,而为数据库连接创建一个“缓冲池”,在资源重用、系统响应速度、资源分配、连接管理方面有重要的意义。
系统数据库连接采DBCP数据库连接池,配置信息在JdbcConfig.properties文件中,其配置信息如图3-1所示。
图3-1数据库连接池DBCP配置信息
3.2系统实现
3.2.1系统前台
系统前台主要有用户登录、赛事公告、新闻浏览、赛事锦集、场馆信息、用户注册、电子地图、评论留言等模块,下面将详细介绍各模块运行效果和实现过程,全民健身电子地图在线服务平台的前台运行界面如图3-2所示。
图3-2系统首页
1.用户登录
用户登录为用户提供注册用户的登录功能,用户需通过用户名和密码校验后才能登录,由userLogin.jsp页面实现。
用户点击“登录”按钮时首先会对用户账户进行数据校验,通过数据校验后调用toolService类的login()方法,对用户名和密码在T_user表里查找,若不存在,提示用户输入错误;
若存在,则跳转到登录后的界面,并将用户的全部信息保存在session之中,用户成功登录界面如图3-3所示。
图3-3用户登录
修改个人密码由userPw.jsp页面实现。
用户必须输入原始密码、新密码和确认密码。
当用户点击修改时,会首先对用户填写的原始密码和session中的密码以及新密码和确认密码是否相同进行数据校验,通过校验后调toolService类的userPwEdit()方法修改用户密码。
修改个人密码界面如图3-4所示。
图3-4修改个人密码
修改个人信息由页面userModifyInfo.jsp实现,该页面首先会将session中保存的个人信息显示在修改页面上,当用户修改完信息提交时,会对用户填写的信息进行必要的校验:
如邮件格式、必填项等,通过校验后调用toolService类的userModifyInfo()方法修改个人信息,个人信息修改成功之后系统将重新从数据库里面读取个人信息,更新session。
修改个人信息界面如图3-5所示。
图3-5个人信息修改
2.用户注册
用户注册由userReg.jsp页面实现,用户注册填写完信息提交后,系统先将用户填写的信息进行前台校验,通过前台校验后,系统将填写的用户名在数据库中查找,如果存在则给出用户提示重新填写用户名;
若通过后台逻辑校验,则将数据添加到数据库,提示用户注册成功。
用户注册界面如图3-6所示。
、
图3-6新用户注册
当添加信息错误时系统会提示用户。
如邮箱格式不正确、用户名已被注册。
出错提示如图3-7所示。
图3-7邮箱格式和用户账号错误提示
3.新闻信息