第5章系统实现
一、技术路线:
开发语言:Java
前端技术:JavaScript、VUE.js(2.X)、css3
数据库:MySQL 5.7
数据库管理工具:Navicat或sqlyog
开发工具:IDEA或Ecplise
二、项目介绍:
https://www.bilibili.com/video/BV1Gz4y1A798/
三、运行截图:
3.1基本任务
系统实现阶段的根本目标在这个阶段的设计工作中精确地描述出目标系统,从而在编码阶段可以直接根据这个描述翻译成用程序语言编写的系统。
系统实现的基本任务有以下几个:
(1) 为每个模块进行详细的算法设计。用某种图形、表格、语言等工具将每个模块处理过程的详细算法描述出来。
(2) 为模块内的数据结构进行设计。对于需求分析、概要设计确定的概念性的数据类型进行确切的定义。
(3) 对数据结构进行物理设计,即确定数据库的物理结构。
(4) 其他设计:根据软件系统的类型,可能还需要进行代码设计、输入/输出格式设计、人机对话设计。
(5) 编写系统实现说明书。
(6) 评审。对处理过程的算法和数据库的物理结构都要评审。
系统结构可分为src的jsp源代码,database文件夹为系统的数据库文件,webroot为系统的界面代码文件。Src文件夹里面包含control包、dao包、util包,dao包为逻辑层,是系统方法的底层包,包括各种数据增删改查的方法,control包是控制层,用来连接逻辑层和视图层,在逻辑层调用逻辑层,完成视图层需要的功能,视图层为系统的界面代码,完成界面的设计和数据的显示。
3.2登录模块的实现
3.2.1首页实现
经过用户登录后,页面跳转至后台首页,main.php,首页是由2个页面组成的,包括top、left和center等页面,通过@ Register引入,这里也是浏览者操作系统功能的入口,系统首页主要介绍系统的基本信息,包括当前用户、当前日期、当前访问浏览器的版本、服务器的端口数、当前用户的权限、当前电脑的ip、当前电脑的操作系统名称、本系统的开发日期、系统作者、指导教师、开发日期等,主页面如下图所示。
图3.1 首页页面图
首页主要代码如下:
3.2.2管理员后台登录
为了确保系统安全性,系统操作员只有在后台登录界面输入正确的用户名、密码、权限以及验证码,单击“登录”按钮后才能够进入本系统的后台管理界面。
用户登录流程图如下所示。
图3-2用户登录流程图
登录界面如下图所示。
图3-3登录界面
用户登录的逻辑代码如下:
if(ac.equals("adminlogin"))
{
String username = request.getParameter("username");
String password = request.getParameter("pwd");
String utype = request.getParameter("cx");
String pagerandom = request.getParameter("pagerandom")==null?"":request.getParameter("pagerandom");
String random = (String)request.getSession().getAttribute("random");
if(!pagerandom.equals(random)&&request.getParameter("a")!=null)
{
request.setAttribute("random", "");
go("/login.jsp", request, response);
}
else{
String sql1 = "select * from allusers where username='"+username+"' and pwd='"+password+"' ";
List userlist1 = dao.select(sql1);
if(userlist1.size()==1)
{
request.getSession(). setAttribute("username", userlist1.get(0).get("username"));
request.getSession(). setAttribute("cx", userlist1.get(0).get("cx"));
gor("main.jsp", request, response);
}else{
request.setAttribute("error", "");
go("/login.jsp", request, response);
}
}
}
3.3用户模块的实现
3.3.1维护记录管理模块的实现
维护记录信息添加功能主要指对其编号、名称等一些基本信息的添加、删除和修改。维护记录查询能根据编号、名称等多种条件对维护记录信息进行查询。
维护记录管理流程图如下所示。
图3-4维护记录管理流程图
维护记录添加如下图所示:
图3-5维护记录添加
维护记录查询如下图所示:
图3-6维护记录查询
3.3.2使用记录管理模块的实现
用户点击某个维护记录进入使用记录页,点击使用记录按钮进入使用记录页,提交使用记录信息,成功使用记录后,管理员管理用户的使用记录信息,审核使用记录信息。
用户使用记录流程图如下所示。
图3-7用户使用记录流程图
用户使用记录界面如图所示。
图3-8用户使用记录
使用记录管理界面如图所示。
图3-9使用记录管理
3.4管理员模块的实现
3.3.1用户管理模块的实现
系统用户管理主要是对新用户的添加和旧用户的删除。新用户的添加主要是指添加用户名称并确定其密码;旧用户的删除也是从下拉菜单中找到对应的用户名称将其删除。不论是新用户添加还是旧用户的删除,这个权限只有管理员具有。
用户管理流程图如下所示。
图3-10用户管理流程图
用户管理界面如下图所示。
图3-11用户管理
系统用户管理关键代码为:
new CommDAO().delete(request,"yonghuzhuce");
String url = "yonghuzhuce_list.jsp?1=1";
String sql = "select * from yonghuzhuce where 1=1 ";
if(request.getParameter("yonghuming")=="" ||
request.getParameter("yonghuming")==null ){}else{sql=sql+" and
yonghuming like '%"+request.getParameter("yonghuming").trim()+"%'";}
if(request.getParameter("xingming")=="" ||
request.getParameter("xingming")==null ){}else{sql=sql+" and
xingming like '%"+request.getParameter("xingming").trim()+"%'";}
if(request.getParameter("QQ")=="" ||request.getParameter
("QQ")==null ){}else{sql=sql+" and QQ like '%"+request.getParameter
("QQ").trim()+"%'";}
if(request.getParameter("youxiang")=="" ||
request.getParameter("youxiang")==null ){}else{sql=sql+" and
youxiang like '%"+request.getParameter("youxiang").trim()+"%'";}
if(request.getParameter("dianhua")=="" ||
request.getParameter("dianhua")==null ){}else{sql=sql+" and dianhua
like '%"+request.getParameter("dianhua").trim()+"%'";}
if(request.getParameter("shenfenzheng")=="" ||
request.getParameter("shenfenzheng")==null ){}else{sql=sql+" and
shenfenzheng like '%"+request.getParameter("shenfenzheng").trim
()+"%'";}
sql+=" order by id desc";
//out.print(sql);
ArrayList list = PageManager.getPages(url,10,sql,
request );
int i=0;
for(HashMap map:list){
i++;
%>
3.3.2注册模块及登录的实现
用户输入用户名、密码、电话、姓名等必填信息后,点击注册按钮完成用户的注册。
用户注册流程图如下所示。
图3-4用户注册流程图
用户注册界面如下图所示。
图3-5用户注册
用户登录界面如下图所示。
图3-6用户管理
HashMap ext = new HashMap();
ext.put("issh","否");
new CommDAO().insert(request,response,"yonghuzhuce",ext,true,false,"index.jsp");
%>
Php:
include_once 'conn.php';
$addnew=$_POST["addnew"];
if($addnew=="1")
{
$username=$_POST['username'];
$pwd=$_POST['pwd1'];
$cx=$_POST['cx'];
$sql="select * from allusers where username='$username' and pwd='$pwd'";
$query=SQL_query($sql);
$rowscount=SQL_num_rows($query);
if($rowscount>0)
{
echo "";
}
else
{
//date_default_timezone_set("PRC");
$ndate =date("Y-m-d H:i:s");
$sql="insert into allusers(username,pwd,cx) values('$username','$pwd','$cx')";
SQL_query($sql);
echo "";
}
3.3.3区域信息管理模块的实现
区域信息信息添加功能主要指对其区域、内容等一些基本信息的添加、删除和修改。区域信息查询能根据区域、内容等多种条件对区域信息信息进行查询。
区域信息管理流程图如下所示。
图3-14区域信息管理流程图
区域信息添加如下图所示:
图3-15区域信息添加
区域信息查询如下图所示:
图3-16区域信息查询
区域信息信息添加关键代码为:
function gows()
{
document.location.href="shangpinfenleii_add.jsp?id=";
}
function hsgxia2shxurxu(nstr,nwbk)
{
if (eval("form1."+nwbk).value.indexOf(nstr)>=0)
{
eval("form1."+nwbk).value=eval("form1."+nwbk).value.replace(nstr+";", "");
}
else
{
eval("form1."+nwbk).value=eval("form1."+nwbk).value+nstr+";";
}
}
3.3.4商户信息管理模块的实现
管理员发布新的商户信息,系统显示商户信息,商户信息添加功能主要指对其编号、名称等一些基本信息的添加、删除和修改。
商户信息管理流程图如下所示。
图3-17商户信息管理流程图
商户信息添加如下图所示:
图3-18商户信息添加
商户信息查询如下图所示:
图3-19商户信息查询
商户信息关键代码为:
function gows()
{
document.location.href="bumenxinxi_add.jsp?id=";
}
function hsgxia2shxurxu(nstr,nwbk)
{
if (eval("form1."+nwbk).value.indexOf(nstr)>=0)
{
eval("form1."+nwbk).value=eval("form1."+nwbk).value.replace(nstr+";", "");
}
else
{
eval("form1."+nwbk).value=eval("form1."+nwbk).value+nstr+";";
}
}
3.3.5维护人员管理模块的实现
管理员发布新的维护人员,系统显示维护人员,维护人员添加功能主要指对其工号、姓名等一些基本信息的添加、删除和修改。
维护人员管理流程图如下所示。
图3-20维护人员管理流程图
维护人员添加如下图所示:
图3-21维护人员添加
维护人员查询如下图所示:
图3-22维护人员查询
维护人员关键代码为:
function gows()
{
document.location.href="cangku_add.jsp?id=";
}
function hsgxia2shxurxu(nstr,nwbk)
{
if (eval("form1."+nwbk).value.indexOf(nstr)>=0)
{
eval("form1."+nwbk).value=eval("form1."+nwbk).value.replace(nstr+";", "");
}
else
{
eval("form1."+nwbk).value=eval("form1."+nwbk).value+nstr+";";
}
3.3.5投放信息管理模块的实现
管理员发布新的投放信息,系统显示投放信息,投放信息添加功能主要指对其编号、名称等一些基本信息的添加、删除和修改。
投放信息添加页面,如下图所示。
图3.22 投放信息添加页面图
投放信息管理页面,如下图所示。
图3.23投放信息管理页面图
投放信息管理主要代码如下:
function gows()
{
document.location.href="cangwei_add.jsp?id=";
}
function hsgxia2shxurxu(nstr,nwbk)
{
if (eval("form1."+nwbk).value.indexOf(nstr)>=0)
{
eval("form1."+nwbk).value=eval("form1."+nwbk).value.replace(nstr+";", "");
}
else
{
eval("form1."+nwbk).value=eval("form1."+nwbk).value+nstr+";";
}