吴宗霖,丁黄浩,杨艳红

(苏州大学 应用技术学院,江苏苏州,215300)

0 引言

随着网络的普及和通讯设备的进化使得人们的信息接收能力飞速提高,同时也出现了许多通过网络和通讯设备的诈骗案例和诈骗手段。为了提高人们对于各类诈骗的防范意识,减少被诈骗人群数量,应从诈骗源头入手,提高群众的防诈骗意识,重视防诈骗教育的普及,向广大人民分析并揭露诈骗手段。

1 系统开发基础

1.1 JSP

JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码,主要用于实现Java web应用程序的用户界面部分。网页开发者们通过结合HTML代码、XHTML代码、XML元素以及嵌入JSP操作和命令来编写JSP[1]。JSP标签有多种功能,比如访问数据库、记录用户选择信息、访问JavaBeans组件等,还可以在不同的网页中传递控制信息和共享信息。 JSP性能优越,使用方便,易于移植,可以用最简单的方式来实现复杂应用。

1.2 MySQL数据库

MySQL是一款安全、跨平台、高效的并与Java编程语言紧密结合的数据库系统。目前MySQL被广泛地应用在Internet上的中小型网站中。是目前运行速度最快的SQL语言数据库之一。

SQL是结构化查询语言(Structured Query Language),本质上是一种数据库查询和程序设计语言[2]。SQL 的典型特征是非过程化,它不要求用户了解数据的具体存放方式, 对于不同的数据结构,都实现数据描述、控制和数据操纵等功能。功能强大、操作灵活让 SQL 迅速成为数据库语言的通用标准。

1.3 Servlet

Servlet是Sun公司开发的、在服务器端运行的Java程序。它的主要功能是交互式地实现浏览和修改数据,生成动态的web内容[3]。Servlet能够读取客户端发送到服务端的数据进行回应。Servlet 由 Servlet 容器提供,Servlet容器是提供了Servlet功能的服务器,本系统使用的Tomcat 就是这样的服务器。当客户端发出HTTP请求时,先由HTTP服务器接收,并对HTML静态页面进行解析,HTTP服务器不会对Servlet请求进行处理,它会将Servlet请求发送给Servlet容器,Servlet容器接收后会调用相应的Servlet进行处理,并将处理后的结果返回给Servlet容器,再通过HTTP服务器将结果返回给客户端。

2 系统总体结构设计

该系统是基于前后端分离的开发方式设计的系统,其前端注重用户交互体验,界面大方简洁美观,流动性强。该系统的前端分别设计了学习视频模块、案例模块、用户登陆模块、2D滑动诈骗模拟游戏区块以及3D书画浏览区块,且首页配备快速导航,能够方便用户快速切换页面,使用系统服务。该系统的后端管理员能够对用户的信息进行增删改查等管理操作,进行系统维护,也可以对栏目大类信息和案例条目详细信息进行修改更新等功能,进行页面的运营和维护。系统总体功能结构图如图1所示。

图1 系统功能图

3 数据库结构设计

动态网站数据库的设计与实现是动态网站开发过程中的关键技术,MySQL作为一种关系型的数据库,以其容易理解、使用方便、易于维护、可用于复杂查询等特点成为了管理和设计信息系统的主流选择之一。根据防诈骗系统的需求及其所需要实现的功能设计了数据库,具体如下:

(1)用户信息表(user):用户名、邮箱、密码、生日、账号许可度(为0是超级管理员,为1则是普通用户)。

(2)栏目信息表(column):栏目名、栏目编号、栏目内容、上架时间、栏目公告。

(3)案例信息表(case):案例编号、案例标题、案例内容、案例来源、作者名称、布日期、案例浏览量。

需要建立数据表的结构为:

(1)user表:用户信息表是对系统所有用户以及后台管理员信息的描述,用来存放和记录系统前台和后台的用户信息,如表1所示。

表1 user表

(2)column表:栏目信息表是对首页案例大类的一个大体描述,用于存放案例的大类,以及说明案例类目的概况,如表2所示。

表2 column表

(3)case表:案例信息表是对案例详细信息的描述,用于存放和记录案例的相关内容,如表3所示。

表3 case表

4 系统功能设计与实现

4.1 游戏模拟实现

系统前台主要用于用户交互,系统的首页主要包含五个部分,头部有轮播图内容,其中包含防诈骗教育推广视频,教育漫画,公益广告等。第二个则是案例板块,包含四大诈骗案例栏目,每个栏目又包含着各个主题详细的案例内容。第三个是滑动浏览模块,该模块包含三个滑动浏览盒子,盒子里包含的内容则是以层层递进的方式模拟的三个2D纸片人游戏,以寓教于乐的方式向用户传递如何预防诈骗并保护自己。第四个部分包含了3D书页模块,用户可以翻动系统自带的3D电子书,进行防诈骗知识学习。第五个部分则是尾部,其中包含了系统以及开发团队的必要信息。该页面包含以下三个主要难点,第一个是网页绑定响应函数到游戏模块自动播放游戏动图,需要将函数绑定进窗口滚轮,同时添加窗口的外部监听器window.addEventListner进行实时监听,并计算出到达元素时页面的实时高度,以此来实现滚轮到达元素自动触发函数使2D纸片人游戏自动触发并播放。第二个是游戏内选项切换场景功能,需要绑定按钮响应函数,用if语句来进行判断,遍历数组中储存好的图片并达到切换的目的,在这个过程中需要对画面的排版进行准确的把控,保证在复杂的代码关系中元素能够有序触发。第三个是游戏滑动浏览页面的实现,需要对浏览部分进行分割,并绑定滚轮响应函数使之在滚轮滑动的过程中,有透明度,阴影和高度等立体变换,在这个过程中,我们需要对滚轮绑定函数进行测试,以此达到了最终的合适的参数为:

var box2height = TOP - document.documentElement. scrollTop*1.15;

var box1opcity = TOP / document.documentElement. scrollTop * 1.05;

var box2opcity = TOP / document.documentElement. scrollTop

var box2scale = TOP / document.documentElement.scrollTop

box3height = TOP*1.2 - document.documentElement. scrollTop;

4.2 登陆注册实现

在系统的首页会有登陆按钮,点击登陆按钮可以进行用户登陆,如果用户没有注册该系统账号,则可以切换至注册页面进行注册,注册页面端有机器人客服系统可以帮助解决用户注册遇到的一些硬性问题或者普遍遇到的问题,如果有进一步的困难则可以从QQ页面跳转至人工客服寻求帮助。注册成功之后,系统将自动返回至登陆页面进行登陆,系统的登陆流程包括:①验证登陆;②查询权限;③登陆至相应端页面[4]。在登陆的过程中需要对用户账号进行验证,首先判断用户是否在文本框内输入了用户名密码和验证码,在这个逻辑实现中,使用了request.getParameter()的方法,用来获取通过http协议提交过来的数据,通过容器的实现来取得通过get或者post方法提交过来的数据,该方法把客户端的数据传送到服务器端,并返回String类型的数据使之与web端输入的内容对比验证其是否为空,并作出相应的红字提示,如果不为空,则再对数据库中的用户名密码进行查找并判断是否正确,接着再对随机验证码进行判断是否符合,全部验证通过后,系统会对该登陆账号的预先设置好的权限进行判断,再依据账号权限进入其对应的管理权限界面,具体的登陆流程如图2所示。

图2 登陆算法流程图

4.3 用户信息管理功能实现

在用户信息管理功能模块中,管理员账号可以对所有用户的信息进行查询,删除,修改等管理操作,来维护系统环境,封禁违规用户,保护网络安全。管理员可以用分页查询、搜索查询、快速查找等多种查询方法来查询系统全部的用户信息,方便了管理员的统一管理以及精准修改,当管理员查询到相应的用户之后,管理员可以对该用户信息进行修改更新,也可以快捷删除不良用户,或者主动增加用户信息,为有突发状况无法注册的的用户提供了便利,在此处的逻辑实现中多次使用了request.setAttribute()方法,该方法为某一变量赋值,该值使用request.getRequestDispatcher().forward(request, response)的方法从Jsp页面中去获取,接着使用request.getAttribute()方法使Jsp页面获取到该值进行显示,而该方法传递的数值只会出现在Web容器内部,这个部分用于页面的红字提示,可以辅助管理员的一系列信息管理操作。在验证管理员输入不为空之后,系统会对管理员输入的用户信息进行查找验证,比对数据库确认存在后,可完成删除修改等一系列操作。其中具体的修改界面如图3所示。

图3 用户快速删除功能界面

4.4 栏目管理功能实现

在栏目信息管理功能中,主要实现了对栏目的编号、信息、内容、时间、公告、名称的修改操作,管理员使用这一功能,可以根据栏目实时更新相应的内容,对栏目进行分类编号以及详细信息的修改,并方便了更新每日公告板,以及公益短视频。栏目作为案例模块的分类入口,对栏目的分类,更加方便了之后案例的管理,使整个页面系统调理更加清晰,避免了管理员的冗余工作,大大提高了管理效率。

4.5 案例管理功能

在案例管理功能中,主要实现了增加案例、删除案例、修改案例、查询案例的四步操作,在这四步操作的基础下,管理员能够更好的修改案例的编号,标题,内容,时间,作者名称等详细的案例信息。并可以根据案例每日浏览量制定好更合适的浏览计划,上架效果更好的案例资源与链接,方便了用户的观看学习的同时,也大大提高了自己的工作效率。

5 结语

防诈骗系统的设计与开发是基于Java Web的基础上,实现的一个前后端分离系统,经过单元测试和系统测试,证明了系统的稳定性与可靠性,同时异步加载大大优化了页面的加载速度。在如今这个诈骗方法层出不穷的时代,防诈骗系统的必要性也体现了出来,为了能够给大众群体提供免费的反诈骗知识以及锻炼反诈骗意识,我们的系统实现并达到了预期的功能,符合国家当下防诈骗宣传,帮助广大老百姓提高反诈骗能力,能够向用户传达一定的防诈骗知识,具有重大教育意义。系统前台页面美观简洁且通俗易懂,方便老年人以及青少年使用,适用于广大群众,系统后台操作方便,兼容度高,加快整体响应速度,很大程度上方便了管理员的操作,能够很好的支撑和运营起整个系统。