Java Web 大学教材自由循环交易系统设计与实现
博主介绍:专注于Java(springboot ssm 等开发框架) vue .net php phython node.js uniapp 微信小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作
☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟
我的博客空间发布了2000+毕设题目 方便大家学习使用
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人
文末下方有源码获取地址

第四章 系统总体设计
4.1系统功能模块
系统包括前台和后台两部分业务操作功能,前台主要是客户进行操作,后台主要是管理员进行操作。系统功能构成,如图4.1所示:

图 4.1 功能模块图
4.2数据库逻辑结构设计
大学教材自由循环交易系统数据库主要是要结合考虑安全性分析与设计以及具体表的设计来建立的。数据库一共包含11张表,以下是各张表的属性介绍:
表1 管理员信息表:
|
序号 |
字段名称 |
数据类型 |
长度 |
主键 |
描述 |
|
1 |
glyid |
INTEGER |
11 |
是 |
管理员编号 |
|
2 |
yhm |
VARCHAR |
40 |
否 |
用户名 |
|
3 |
mm |
VARCHAR |
40 |
否 |
密码 |
|
4 |
xm |
VARCHAR |
40 |
否 |
姓名 |
表2 用户信息:
|
序号 |
字段名称 |
数据类型 |
长度 |
主键 |
描述 |
|
1 |
yhid |
INTEGER |
11 |
是 |
用户编号 |
|
2 |
yhm |
VARCHAR |
40 |
否 |
用户名 |
|
3 |
mm |
VARCHAR |
40 |
否 |
密码 |
|
4 |
xm |
VARCHAR |
40 |
否 |
姓名 |
|
5 |
lxdh |
VARCHAR |
40 |
否 |
联系电话 |
|
6 |
lxdz |
VARCHAR |
40 |
否 |
联系地址 |
|
7 |
tx |
VARCHAR |
40 |
否 |
头像 |
|
8 |
nj |
VARCHAR |
40 |
否 |
年级 |
|
9 |
xy |
VARCHAR |
40 |
否 |
学院 |
|
10 |
xq |
VARCHAR |
40 |
否 |
校区 |
表3公告信息表
|
序号 |
字段名称 |
数据类型 |
长度 |
主键 |
描述 |
|
1 |
ggid |
INTEGER |
11 |
是 |
公告编号 |
|
2 |
bt |
VARCHAR |
40 |
否 |
标题 |
|
3 |
nr |
VARCHAR |
40 |
否 |
内容 |
|
4 |
fbsj |
VARCHAR |
40 |
否 |
发布时间 |
表4 适用人群信息表
|
序号 |
字段名称 |
数据类型 |
长度 |
主键 |
描述 |
|
1 |
syrqid |
INTEGER |
11 |
是 |
适用人群编号 |
|
2 |
rq |
VARCHAR |
40 |
否 |
人群 |
表5学院详情信息表
|
序号 |
字段名称 |
数据类型 |
长度 |
主键 |
描述 |
|
1 |
xyid |
INTEGER |
11 |
是 |
学院编号 |
|
2 |
xy |
VARCHAR |
40 |
否 |
学院 |
表6校区信息表
|
序号 |
字段名称 |
数据类型 |
长度 |
主键 |
描述 |
|
1 |
xqid |
INTEGER |
11 |
是 |
校区编号 |
|
2 |
xq |
VARCHAR |
40 |
否 |
校区 |
表7商品信息表
|
序号 |
字段名称 |
数据类型 |
长度 |
主键 |
描述 |
|
1 |
spid |
INTEGER |
11 |
是 |
商品编号 |
|
2 |
spmc |
VARCHAR |
40 |
否 |
商品名称 |
|
3 |
syrq |
VARCHAR |
40 |
否 |
适用人群 |
|
4 |
xq |
VARCHAR |
40 |
否 |
校区 |
|
5 |
xy |
VARCHAR |
40 |
否 |
学院 |
|
6 |
cbs |
VARCHAR |
40 |
否 |
出版社 |
|
7 |
cbnf |
VARCHAR |
40 |
否 |
出版年份 |
|
8 |
js |
VARCHAR |
40 |
否 |
介绍 |
|
9 |
tp |
VARCHAR |
40 |
否 |
图片 |
|
10 |
jg |
VARCHAR |
40 |
否 |
价格 |
|
11 |
yh |
VARCHAR |
40 |
否 |
用户 |
|
12 |
zt |
VARCHAR |
40 |
否 |
状态 |
表8 收藏信息表
|
序号 |
字段名称 |
数据类型 |
长度 |
主键 |
描述 |
|
1 |
szid |
INTEGER |
11 |
是 |
收藏编号 |
|
2 |
yh |
VARCHAR |
40 |
否 |
用户 |
|
3 |
sp |
VARCHAR |
40 |
否 |
商品 |
|
4 |
szsj |
VARCHAR |
40 |
否 |
收藏时间 |
表9 订单信息表
|
序号 |
字段名称 |
数据类型 |
长度 |
主键 |
描述 |
|
1 |
ddid |
INTEGER |
11 |
是 |
订单编号 |
|
2 |
ddls |
VARCHAR |
40 |
否 |
订单流水 |
|
3 |
yh |
VARCHAR |
40 |
否 |
用户 |
|
4 |
gmsj |
VARCHAR |
40 |
否 |
购买时间 |
|
5 |
zt |
VARCHAR |
40 |
否 |
状态 |
|
6 |
shdz |
VARCHAR |
40 |
否 |
收货地址 |
|
7 |
dh |
VARCHAR |
40 |
否 |
电话 |
|
8 |
shr |
VARCHAR |
40 |
否 |
收货人 |
|
9 |
zj |
VARCHAR |
40 |
否 |
总价 |
|
10 |
mj |
VARCHAR |
40 |
否 |
卖家 |
表10 订单明细信息表
|
序号 |
字段名称 |
数据类型 |
长度 |
主键 |
描述 |
|
1 |
ddmxid |
INTEGER |
11 |
是 |
订单明细编号 |
|
2 |
dd |
VARCHAR |
40 |
否 |
订单 |
|
3 |
sp |
VARCHAR |
40 |
否 |
商品 |
|
4 |
sl |
VARCHAR |
40 |
否 |
数量 |
|
5 |
jg |
VARCHAR |
40 |
否 |
价格 |
|
6 |
sj |
VARCHAR |
40 |
否 |
时间 |
|
7 |
zt |
VARCHAR |
40 |
否 |
状态 |
|
8 |
yh |
VARCHAR |
40 |
否 |
用户 |
表11 留言信息表
|
序号 |
字段名称 |
数据类型 |
长度 |
主键 |
描述 |
|
1 |
lyid |
INTEGER |
11 |
是 |
留言编号 |
|
2 |
ly |
VARCHAR |
40 |
否 |
留言 |
|
3 |
yh |
VARCHAR |
40 |
否 |
用户 |
|
4 |
sj |
VARCHAR |
40 |
否 |
时间 |
|
5 |
mj |
VARCHAR |
40 |
否 |
卖家 |
|
6 |
zt |
VARCHAR |
40 |
否 |
状态 |
|
7 |
hf |
VARCHAR |
40 |
否 |
回复 |
4.3数据库概念设计
通过E-R图对系统的实体及实体之间的联系进行描述,可以直观的分析系统的数据情况。根据需求分析,大学教材自由循环交易系统设计的实体有管理员实体,用户实体,公告实体,适用人群实体,学院实体,校区实体,商品实体,收藏实体,订单实体,订单明细实体,留言实体,具体的E-R实体如图下所示:


系统ER图

第五章 功能块详细设计
5.1管理员登录
系统管理员通过输入用户名和密码登录入系统,如果密码或者管理员编号不正确,则不任许管理员登录到系统。只有有此系统账号的管理员才可以登录到本系统,并把员工的基本信息赋到SESSION中,以便其他工能模块能获得登录管理员的基本信息。

(a)用户输入此系统网址登录系统登录界面
(b)输入正确的用户名和密码则进入到系统首页,如果不对,则系统提示错误信息,主要流程图:

图5.1 用户登录流程图
5.2公告管理
点击公告管理菜单,显示添加公告信息和公告信息列表界面,点击添加公告信息,右侧界面呈现出添加的公告信息界面,包括公告公告编号,标题,内容,发布时间等信息,添加公告信息完毕点击“提交”按钮,则添加公告信息成功。点击“公告列表”,右侧界面呈现出需要公告的具体信息,包括公告编号,标题,内容,发布时间等信息,可对逐条公告信息进行查看、删除和修改 。

5.3 适用人群管理
点击适用人群管理菜单,显示添加适用人群信息和适用人群信息列表界面,点击添加适用人群信息,右侧界面呈现出添加的适用人群信息界面,包括适用人群适用人群编号,人群等信息,添加适用人群信息完毕点击“提交”按钮,则添加适用人群信息成功。点击“适用人群列表”,右侧界面呈现出需要适用人群的具体信息,包括适用人群编号,人群等信息,可对逐条适用人群信息进行查看、删除和修改。

5.4商品管理
点击商品管理菜单,显示添加商品信息和商品信息列表界面,点击添加商品信息,右侧界面呈现出添加的商品信息界面,包括商品商品编号,商品名称,适用人群,校区,学院,出版社,出版年份,介绍,图片,价格,用户,状态等信息,添加商品信息完毕点击“提交”按钮,则添加商品信息成功。点击“商品列表”,右侧界面呈现出需要商品的具体信息,包括商品编号,商品名称,适用人群,校区,学院,出版社,出版年份,介绍,图片,价格,用户,状态等信息,可对逐条商品信息进行查看、删除和修改

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%@ page import="com.util.*"%>
<%
request.setCharacterEncoding("gb2312");//设置页面字符集
DBO db=new DBO();//初始数据链接
/*
商品信息添加页面
*/
String sql="";
ResultSet rs=null;
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<script language="javascript" src="../js/prototype.js"></script>
<link href="../images/right.css" rel="stylesheet" type="text/css"/>
<script language="javascript">
function windowHeight() {
var de = document.documentElement;
return self.innerHeight||(de && de.clientHeight)||document.body.clientHeight;
}
window.onload=window.onresize=function(){
var wh=windowHeight();
document.getElementById("contentWrap").style.height = document.getElementById("sidebar").style.height = (wh-document.getElementById("header").offsetHeight-document.getElementById("footer").offsetHeight)+"px";
}
</script>
<script language="javascript">
function checkDo(){
if(form.spmc.value==""){
alert("商品名称不能为空");
return false;
form.spmc.focus();
}
if(form.syrq.value==""){
alert("适用人群不能为空");
return false;
form.syrq.focus();
}
if(form.xq.value==""){
alert("校区不能为空");
return false;
form.xq.focus();
}
if(form.xy.value==""){
alert("学院不能为空");
return false;
form.xy.focus();
}
if(form.cbs.value==""){
alert("出版社不能为空");
return false;
form.cbs.focus();
}
if(form.cbnf.value==""){
alert("出版年份不能为空");
return false;
form.cbnf.focus();
}
if(form.js.value==""){
alert("介绍不能为空");
return false;
form.js.focus();
}
if(form.tp.value==""){
alert("图片不能为空");
return false;
form.tp.focus();
}
if(form.jg.value==""){
alert("价格不能为空");
return false;
form.jg.focus();
}
if(form.yh.value==""){
alert("用户不能为空");
return false;
form.yh.focus();
}
if(form.zt.value==""){
alert("状态不能为空");
return false;
form.zt.focus();
}
form.action="shangpin_add.jsp";
form.submit();
}
</script>
</head>
<body>
<div id="sidebar" class="right">
<div class="column">
<span>商品信息管理</span>
</div>
<div class="content">
<div class="ts"><b>添加商品信息:</b></div>
<form name="form" action="" method="post" >
<table width="100%" border="1" bordercolor="#b1c7e0" bordercolordark="#FFFFFF" cellspacing="0" cellpadding="0" class="tab01">
<tr>
<td class="t" style="padding-right:10px" align="right" height="28" width="120">名称</td>
<td class="t" style="padding-left:10px" align="left">信息</td>
</tr>
<tr>
<td height="28" style="padding-right:10px" align="right">商品名称:</td>
<td style="padding-left:10px" align="left"><input name="spmc" type="text" value="" placeholder="输入商品名称" > <span id="notice_user_name">
<font color="red">*</font> </span></td>
</tr>
<tr>
<td height="28" style="padding-right:10px" align="right">适用人群:</td>
<td style="padding-left:10px" align="left">
<select name="syrq">
<%
sql="select * from syrq";
rs=db.query(sql);
while(rs.next()){
%>
<option value="<%=rs.getString("rq")%>"><%=rs.getString("rq")%></option>
<% }%>
</select>
<span id="notice_user_name">
<font color="red">*</font> </span></td>
</tr>
<tr>
<td height="28" style="padding-right:10px" align="right">校区:</td>
<td style="padding-left:10px" align="left">
<select name="xq">
<%
sql="select * from xiaoqu";
rs=db.query(sql);
while(rs.next()){
%>
<option value="<%=rs.getString("xq")%>"><%=rs.getString("xq")%></option>
<% }%>
</select>
<span id="notice_user_name">
<font color="red">*</font> </span></td>
</tr>
<tr>
<td height="28" style="padding-right:10px" align="right">学院:</td>
<td style="padding-left:10px" align="left">
<select name="xy">
<%
sql="select * from xueyuan";
rs=db.query(sql);
while(rs.next()){
%>
<option value="<%=rs.getString("xy")%>"><%=rs.getString("xy")%></option>
<% }%>
</select>
<span id="notice_user_name">
<font color="red">*</font> </span></td>
</tr>
<tr>
<td height="28" style="padding-right:10px" align="right">出版社:</td>
<td style="padding-left:10px" align="left"><input name="cbs" type="text" value="" placeholder="输入出版社" > <span id="notice_user_name">
<font color="red">*</font> </span></td>
</tr>
<tr>
<td height="28" style="padding-right:10px" align="right">出版年份:</td>
<td style="padding-left:10px" align="left"><input name="cbnf" type="text" value="" placeholder="输入出版年份" > <span id="notice_user_name">
<font color="red">*</font> </span></td>
</tr>
<tr>
<td height="28" style="padding-right:10px" align="right">介绍:</td>
<td style="padding-left:10px" align="left">
<textarea name="js" cols="80" rows="5" placeholder="输入介绍" ></textarea>
<span id="notice_user_name">
<font color="red">*</font> </span></td>
</tr>
<tr>
<td height="28" style="padding-right:10px" align="right">图片:</td>
<td style="padding-left:10px" align="left"><input name="tp" type="text" value="" placeholder="输入图片" ><iframe id="ifr" name="ifr" width="400" height="40" frameborder="no" scrolling="no" src="fileupload.jsp?kname=tp"></iframe>< <span id="notice_user_name">
<font color="red">*</font> </span></td>
</tr>
<tr>
<td height="28" style="padding-right:10px" align="right">价格:</td>
<td style="padding-left:10px" align="left"><input name="jg" type="text" value="" onKeyUp="this.value=this.value.replace(/\D/g,'')" placeholder="输入价格" > <span id="notice_user_name">
<font color="red">*</font> </span></td>
</tr>
<tr>
<td height="28" style="padding-right:10px" align="right">用户:</td>
<td style="padding-left:10px" align="left"><input name="yh" type="text" value="<%=session.getAttribute("yhm")%>" placeholder="输入用户" > <span id="notice_user_name">
<font color="red">*</font> </span></td>
</tr>
<tr>
<td height="28" style="padding-right:10px" align="right">状态:</td>
<td style="padding-left:10px" align="left"><input name="zt" type="text" value="上架" placeholder="输入状态" > <span id="notice_user_name">
<font color="red">*</font> </span></td>
</tr>
<tr>
<td height="28" style="padding-right:10px" align="right"> </td>
<td style="padding-left:10px" align="left">
<input type="button" value="保存" name="B1" class="btn" style="width:60px" onclick="checkDo()" />
<input type="reset" value="取消" style="width:60px" name="chanel" class="btn" />
</td>
</tr>
</table>
</form>
</div></div>
</body>
</html>
5.6首页展现
展现系统公告,以及最新发布商品图书信息,以及登录信息

5.7 图书商品展现
以图片和和商品名称展现系统内的所有的已经上架商品信息,并且通过查询条件查询信息

大家点赞、收藏、关注、评论啦 其他的定制服务 商务合作 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 或者私信作者
更多推荐



所有评论(0)