一、源码特点
jsp 宠物网站系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为
TOMCAT7.0,eclipse开发,数据库为Mysql5.0,使用java语言开发。
jsp 宠物网站系统Myeclipse开发mysql数据库w
二、功能介绍
1、用户模块:
1)游客:(1)浏览网页信息 (2)注册成为用户,填写个人信息,包括姓名、性别、联系电话、邮箱等,并设置密码。
2)注册用户:(1)浏览网页信息 (2)登录,修改个人信息及密码 (3)发布帖子,录入宠物信息,包括宠物的照片或视频以及(以下将作为筛选的关键字)品种、毛色、性别、体型、年龄、是否节
育和所在地,并选择出售或招领 (4)修改及删除帖子 (5)在宠物帖子下留言及回复留言 (6)收藏宠物 (7)添加宠物进宠物车,查看及修改宠物车信息,结算宠物车 (8)查看订单信息,查询及删
除订单 (9)查看派送专员的评分及评价,下单时可自主选择派送专员为其派送宠物,收货后可评价专员并为其打分。
2、检索模块:(1)根据用户输入的内容查询并显示所有相关结果 (2)根据用户选择的关键字筛选出相应结果。
3、留言板模块:注册用户可在宠物帖子下留言,发帖的宠物主可选择回复留言。
4、收藏夹模块:(1)注册用户可将自己感兴趣的宠物帖子收藏进自己的收藏夹,便于以后查看 (2)删除收藏夹里的宠物帖子 (3)查询收藏夹里的帖子。
5、宠物车模块:(1)显示添加进宠物车的宠物基本信息 (2)修改宠物数量 (3)删除宠物 (4)统计金额,不包括派送专员的额外派送费用 (5)结算并生成订单。
6、订单模块:(1)选择派送方式:专员派送或自行交付,专员派送需提供取货地址、收货地址、双方姓名及联系电话,向买方收取额外派送费用;自行交付可双方协商,私下完成 (2)选择交
易方式,自行线下交易或在线第三方支付平台支付 (3)统计金额,包括额外派送费用 (4)收货后用户可选择对派送专员进行评分评价 (5)收货后订单显示交易成功 (6)显示所有订单信息 (7)
查询订单 (8)删除订单。
7、物流模块:(1)显示所有派送专员信息供用户参考,包括编号、照片、姓名、性别、联系电话、所在地区、评分、评价以及工作状态(派送工作中或空闲待机) (2)在用户下单并选择专员派
送宠物时,系统会为其自动选择其所在地处于空闲状态且评分最高的派送专员,订单会额外显示物流信息,包括收货地址和派送专员的编号、姓名以及联系电话 (3)用户选择专员派送并下单
成功后,专员的工作状态显示派送工作中,当用户收货成功结束订单后,专员的工作状态转为空闲待机。
8、管理员模块:(1)登录 (2)查阅管理平台上的公开信息,包括用户信息和宠物帖子信息,对不适当的信息进行修改和删除 (3)及时删除交易成功的宠物帖子,避免网页上信息冗余 (4)查阅
管理派送专员的个人信息,对人员信息进行增加、修改和删除 (5)管理派送专员的评价,删除不适当的言论 (6)根据派送专员的评分和评价情况,后台调整各个专员收取的派送费用 (7)管理
订单,包括查询和删除。
数据库设计
(1)用户信息表如表5.1所示:
表5.1 用户信息表
序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
1 | yhid | INTEGER | 11 | 是 | 用户编号 |
2 | yhm | VARCHAR | 40 | 否 | 用户名 |
3 | mm | VARCHAR | 40 | 否 | 密码 |
4 | xm | VARCHAR | 40 | 否 | 姓名 |
5 | lxdh | VARCHAR | 40 | 否 | 联系电话 |
6 | lxdz | VARCHAR | 40 | 否 | 联系地址 |
(2)管理员信息表如表5.2所示:
表5.2 管理员信息表
序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
1 | glyid | INTEGER | 11 | 是 | 管理员编号 |
2 | yhm | VARCHAR | 40 | 否 | 用户名 |
3 | mm | VARCHAR | 40 | 否 | 密码 |
4 | xm | VARCHAR | 40 | 否 | 姓名 |
(3)派送专员信息表如表5.3所示:
表5.3 派送专员信息表
序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
1 | pszyid | INTEGER | 11 | 是 | 派送专员编号 |
2 | yhm | VARCHAR | 40 | 否 | 用户名 |
3 | mm | VARCHAR | 40 | 否 | 密码 |
4 | xm | VARCHAR | 40 | 否 | 姓名 |
5 | lxdh | VARCHAR | 40 | 否 | 联系电话 |
6 | lxdz | VARCHAR | 40 | 否 | 联系地址 |
7 | zt | VARCHAR | 40 | 否 | 状态 |
8 | dq | VARCHAR | 40 | 否 | 地区 |
(4)留言信息表如表5.4所示:
表5.4 留言信息表
序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
1 | lyid | INTEGER | 11 | 是 | 留言编号 |
2 | ly | VARCHAR | 40 | 否 | 留言 |
3 | yh | VARCHAR | 40 | 否 | 用户 |
4 | sj | VARCHAR | 40 | 否 | 时间 |
(5)帖子信息表如表5.5所示:
表5.5 帖子信息表
序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
1 | tzid | INTEGER | 11 | 是 | 帖子编号 |
2 | bt | VARCHAR | 40 | 否 | 标题 |
3 | nr | VARCHAR | 40 | 否 | 内容 |
4 | fbr | VARCHAR | 40 | 否 | 发布人 |
5 | fbsj | VARCHAR | 40 | 否 | 发布时间 |
(6)帖子回复信息表如表5.6所示:
表5.6 帖子回复信息表
序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
1 | tzhfid | INTEGER | 11 | 是 | 帖子回复编号 |
2 | tz | VARCHAR | 40 | 否 | 帖子 |
3 | hf | VARCHAR | 40 | 否 | 回复 |
(7)宠物信息表如表5.7所示:
表5.7 宠物信息表
序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
1 | cwid | INTEGER | 11 | 是 | 宠物编号 |
2 | cwmc | VARCHAR | 40 | 否 | 宠物名称 |
3 | js | VARCHAR | 40 | 否 | 介绍 |
4 | tp | VARCHAR | 40 | 否 | 图片 |
5 | bz | VARCHAR | 40 | 否 | 备注 |
6 | sl | VARCHAR | 40 | 否 | 数量 |
7 | jg | VARCHAR | 40 | 否 | 价格 |
8 | psfy | VARCHAR | 40 | 否 | 派送费用 |
(8)收藏夹信息表如表5.8所示:
表5.8 收藏夹信息表
序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
1 | wlid | INTEGER | 11 | 是 | 物流编号 |
2 | dd | VARCHAR | 40 | 否 | 订单 |
3 | wlxx | VARCHAR | 40 | 否 | 物流信息 |
4 | sj | VARCHAR | 40 | 否 | 时间 |
5 | zt | VARCHAR | 40 | 否 | 状态 |
(9)订单信息表如表5.9所示:
表5.9 订单信息表
序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
1 | ddid | INTEGER | 11 | 是 | 订单编号 |
2 | ddls | VARCHAR | 40 | 否 | 订单流水 |
3 | yh | VARCHAR | 40 | 否 | 用户 |
4 | ddsj | VARCHAR | 40 | 否 | 订单时间 |
5 | zt | VARCHAR | 40 | 否 | 状态 |
6 | cwjg | VARCHAR | 40 | 否 | 宠物价格 |
7 | cw | VARCHAR | 40 | 否 | 宠物 |
8 | sl | VARCHAR | 40 | 否 | 数量 |
9 | sfzt | VARCHAR | 40 | 否 | 是否自提 |
10 | shdz | VARCHAR | 40 | 否 | 收货地址 |
11 | shxm | VARCHAR | 40 | 否 | 收货姓名 |
12 | psfy | VARCHAR | 40 | 否 | 派送费用 |
13 | zfy | VARCHAR | 40 | 否 | 总费用 |
(10)物流信息表如表5.10所示:
表5.10 物流信息表
序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
1 | wlid | INTEGER | 11 | 是 | 物流编号 |
2 | dd | VARCHAR | 40 | 否 | 订单 |
3 | qs | VARCHAR | 40 | 否 | 起始 |
4 | md | VARCHAR | 40 | 否 | 目的 |
5 | sj | VARCHAR | 40 | 否 | 时间 |
6 | zt | VARCHAR | 40 | 否 | 状态 |
7 | pszy | VARCHAR | 40 | 否 | 派送专员 |
(11)评价信息表如表5.11所示:
表5.11 评价信息表
序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
1 | pjid | INTEGER | 11 | 是 | 评价编号 |
2 | dd | VARCHAR | 40 | 否 | 订单 |
3 | pszy | VARCHAR | 40 | 否 | 派送专员 |
4 | pf | VARCHAR | 40 | 否 | 评分 |
5 | pj | VARCHAR | 40 | 否 | 评价 |
6 | fy | VARCHAR | 40 | 否 | 费用 |
7 | sj | VARCHAR | 40 | 否 | 时间 |
(12)类型信息表如表5.12所示:
表5.12类型信息表
序号 | 字段名称 | 数据类型 | 长度 | 主键 | 描述 |
1 | lxid | INTEGER | 11 | 是 | 类型编号 |
2 | lx | VARCHAR | 40 | 否 | 类型 |
代码设计
@RequestMapping(value="/add")
public String add(chongwu chongwu,HttpServletRequest request){
Map<String,Object> map= new HashMap<String,Object>();
//String name=(String)request.getParameter("name");
map.put("cwid", chongwu.getCwid());//宠物编号
map.put("cwmc", chongwu.getCwmc());//宠物名称
map.put("js", chongwu.getJs());//介绍
map.put("tp", chongwu.getTp());//图片
map.put("bz", chongwu.getBz());//备注
map.put("sl", chongwu.getSl());//数量
map.put("jg", chongwu.getJg());//价格
map.put("psfy", chongwu.getPsfy());//派送费用
map.put("lx", chongwu.getLx());
chongwudao.save(map);
request.setAttribute("msg", "<script>alert('添加成功');</script>");
System.out.println("addok");
return "chongwu/chongwuadd";
}
/**删除
*
*/
@RequestMapping(value="/del")
public String del(Integer id,HttpServletRequest request,Map<String,Object> map){
// Map<String,Object> map= new HashMap<String,Object>();
String a=(String)request.getParameter("keyid");
id=Integer.parseInt(a);
request.setAttribute("msg", "<script>alert('删除成功');</script>");
chongwudao.del(id);
return selectall(null,map);
}
/**
* 修改chongwu信息
*/
@RequestMapping(value="/update")
public String update(chongwu chongwu,HttpServletRequest request,Map<String,Object> map1){
Map<String,Object> map= new HashMap<String,Object>();
map.put("cwid", chongwu.getCwid());//宠物编号
map.put("cwmc", chongwu.getCwmc());//宠物名称
map.put("js", chongwu.getJs());//介绍
map.put("tp", chongwu.getTp());//图片
map.put("bz", chongwu.getBz());//备注
map.put("sl", chongwu.getSl());//数量
map.put("jg", chongwu.getJg());//价格
map.put("psfy", chongwu.getPsfy());//派送费用
request.setAttribute("msg", "<script>alert('修改成功');</script>");
chongwudao.update(map);
return selectall(null,map1);
}
/**
* 查询chongwu信息
*/
@RequestMapping(value="/modify")
public String modify(Integer id,Map<String,Object> map,HttpServletRequest request){
String keyid=(String)request.getParameter("keyid");
List<Map<String,Object>> list= new ArrayList<Map<String,Object>>();
list=chongwudao.select(Integer.parseInt(keyid));
request.setAttribute("cwid", list.get(0).get("cwid"));//宠物编号
request.setAttribute("cwmc", list.get(0).get("cwmc"));//宠物名称
request.setAttribute("js", list.get(0).get("js"));//介绍
request.setAttribute("tp", list.get(0).get("tp"));//图片
request.setAttribute("bz", list.get(0).get("bz"));//备注
request.setAttribute("sl", list.get(0).get("sl"));//数量
request.setAttribute("jg", list.get(0).get("jg"));//价格
request.setAttribute("psfy", list.get(0).get("psfy"));//派送费用
return "chongwu/chongwumodify";
}
@RequestMapping(value="/detail")
public String detail(Integer id,Map<String,Object> map,HttpServletRequest request){
String keyid=(String)request.getParameter("keyid");
List<Map<String,Object>> list= new ArrayList<Map<String,Object>>();
list=chongwudao.select(Integer.parseInt(keyid));
request.setAttribute("cwid", list.get(0).get("cwid"));//宠物编号
request.setAttribute("cwmc", list.get(0).get("cwmc"));//宠物名称
request.setAttribute("js", list.get(0).get("js"));//介绍
request.setAttribute("tp", list.get(0).get("tp"));//图片
request.setAttribute("bz", list.get(0).get("bz"));//备注
request.setAttribute("sl", list.get(0).get("sl"));//数量
request.setAttribute("jg", list.get(0).get("jg"));//价格
request.setAttribute("lx", list.get(0).get("lx"));//价格
request.setAttribute("psfy", list.get(0).get("psfy"));//派送费用
return "chongwu/chongwudetail";
}
@RequestMapping(value="/achongwu")
public String achongwu(Integer id,Map<String,Object> map,HttpServletRequest request){
String keyid=(String)request.getParameter("keyid");
System.out.println("keyid="+keyid);
List<Map<String,Object>> list= new ArrayList<Map<String,Object>>();
int a=0;
try{
a=Integer.parseInt(keyid);
}catch(Exception e){
e.printStackTrace();
}
list=chongwudao.select(a);
request.setAttribute("cwid", list.get(0).get("cwid"));//宠物编号
request.setAttribute("cwmc", list.get(0).get("cwmc"));//宠物名称
request.setAttribute("js", list.get(0).get("js"));//介绍
request.setAttribute("tp", list.get(0).get("tp"));//图片
request.setAttribute("bz", list.get(0).get("bz"));//备注
request.setAttribute("sl", list.get(0).get("sl"));//数量
request.setAttribute("jg", list.get(0).get("jg"));//价格
request.setAttribute("lx", list.get(0).get("lx"));//价格
request.setAttribute("psfy", list.get(0).get("psfy"));//派送费用
return "achongwu";
}
/**
* 查询chongwu信息
*/
@RequestMapping(value="/selectall")
public String selectall(Integer id,Map<String,Object> map){
List<Map<String,Object>> list= new ArrayList<Map<String,Object>>();
list=chongwudao.selectAll();
System.out.println("listsize="+list.size());
map.put("mylist", list);
return "chongwu/chongwulist";
三、注意事项
1、管理员账号:admin密码:admin 数据库配置文件DBO.java
2、开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。
3、数据库文件名是jspchongwu.sql ,系统名称chongwu
4、系统首页地址:http://127.0.0.1:8080/chongwu/
四 系统实现