目 录
1 系统概述 1
1.1设计目的 1
1.2设计思路 1
1.3需求分析 2
1.4开发环境 2
1.4.1 B/S 简介 2
1.4.2 Java 简介 2
1.4.3 Jsp 简介 3
1.4.4 SpringMVC简介 3
1.5运行环境 4
2 总体设计 5
2.1系统结构 5
2.1.1系统流程图 5
2.1.2模块结构图 5
2.2模块功能设计 7
2.2.1登录模块设计 7
2.2.2出租方模块设计 7
2.2.3交易平台模块设计 8
2.2.4承租方模块设计 8
2.2.4数据交互模块设计 8
3 运行设计 9
3.1用户界面 9
3.2管理员界面 10
3.3订单交易展示 11
3.4后台数据库展示 14
3.5主要代码模块 15
3.5.1个人中心 15
3.5.2用户管理 18
3.5.3商品管理 20
3.5.4订单管理 23
3.5.5交易订单管理 25
4 系统测试 27
4.1功能测试 27
4.2验证代码测试 29
参考文献 31
1.2设计思路
采用MyEclipse的集成开发平台,MVC三层设计模式利用Jsp+JavaBean+Servlt及Struts编程技术等对前台用户管理模块、前台商品展示模块、前台购物车管理模块、前台在线交流模块、前台留言管理模块、后台用户管理模块、后台商品和平台信息维护模块进开发与实现。前端通过form表单提交数据到后端,后端接受请求后,处理数据。后端通过JDBC连接MySQL数据库,对数据进行增删改查,将得到的结果通过HTTP响应发送给前端界面。Web端的数据库使用的是Mysql,在数据库中建立了多张表,有用户的信息表,商品的信息表,租借日期表等。
1.3需求分析
调查结果表明89.7%的大学生拥有闲置物品,且拥有2-3件的大学生最多,达到39.7%,只拥有1件闲置物品的最少,所占比例仅为4%。大学生对二手物品的处理方式大多是两种,第一送人、第二扔掉,分别占到了46.5%和43.6%;由于没有相应的二手出售平台及供需信息的不对称,使得大学生选择出售的比例仅占7.7%。捐赠的比例则更少,对资源造成了极大的浪费。
大学生具有相似的消费心理、共同的生话环境、生话方式,许多物品在大学生之间是可以通用的,因此容易交换或者售出,交易商品具有很多共性,例如:书籍、学习用品和生活用品等,使得学生之间交易的更为简单。本文转载自http://www.biyezuopin.vip/onews.asp?id=14690调查结果显示,大一到大三的学生中有86%对校园二手物品有相关的需求,74%的同学愿意将自己的闲置物品和别人进行交换。即将离校的毕业生,由于很多物品携带不方便,大多数物品不会带走,由于处理途径狭窄,短期内无法处理大量的物品,造成很多还有实用价值的物品被丢弃,造成资源的浪费。
个人信息:
public ModelAndView getInfo(HttpServletRequest request) {
Admin admin = (Admin) request.getSession().getAttribute("admin");
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("admin", admin);
modelAndView.setViewName("admin/info");
return modelAndView;
}
个人密码:
public ModelAndView getModify(HttpServletRequest request) {
Admin admin = (Admin) request.getSession().getAttribute("admin");
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("admin", admin);
modelAndView.setViewName("admin/modify");
return modelAndView;
}
修改密码:
public ModelAndView changePassword(HttpServletRequest request,Admin admin) {
String pwd=request.getParameter("password1");
ModelAndView modelAndView = new ModelAndView();
Admin admins = (Admin) request.getSession().getAttribute("admin");
if(admin.getPassword().equals(admins.getPassword())) {
admins.setPassword(pwd);
adminService.updateAdmin(admins);
}else {
modelAndView.addObject("msg", "原密码有误,请重新输入!");
modelAndView.setViewName("admin/modify");
return modelAndView;
}
modelAndView.setViewName("admin/login");
return modelAndView;
}
完善或修改信息
public ModelAndView updateInfo(HttpServletRequest request, User user, ModelMap modelMap) {
// 从session中获取出当前用户
User cur_user = (User) request.getSession().getAttribute("cur_user");
cur_user.setUsername(user.getUsername());
cur_user.setQq(user.getQq());
userService.updateUserName(cur_user);// 执行修改操作
request.getSession().setAttribute("cur_user", cur_user);// 修改session值
return new ModelAndView("redirect:/user/basic");
}
我的闲置:查询出所有的用户商品以及商品对应的图片
public ModelAndView goods(HttpServletRequest request) {
User cur_user = (User) request.getSession().getAttribute("cur_user");
Integer userId = cur_user.getId();
List goodsList = goodsService.getGoodsByUserId(userId);
List goodsAndImage = new ArrayList();
for (int i = 0; i < goodsList.size(); i++) {
// 将用户信息和image信息封装到GoodsExtend类中,传给前台
GoodsExtend goodsExtend = new GoodsExtend();
Goods goods = goodsList.get(i);
List images = imageService.getImagesByGoodsPrimaryKey(goods.getId());
goodsExtend.setGoods(goods);
goodsExtend.setImages(images);
goodsAndImage.add(i, goodsExtend);
}
Purse myPurse = purseService.getPurseByUserId(userId);
ModelAndView mv = new ModelAndView();
mv.addObject("goodsAndImage", goodsAndImage);
mv.setViewName("/user/goods");
mv.addObject("myPurse", myPurse);
return mv;
}
3.5.2用户管理
所有查找用户
public ModelAndView getUserList(@RequestParam("pageNum") int pageNum) {
ModelAndView modelAndView = new ModelAndView();
int pageSize = 10;
int total = userService.getUserNum();
List rows = userService.getPageUser(pageNum, pageSize);
UserGrid userGrid = new UserGrid();
userGrid.setCurrent(pageNum);
userGrid.setRowCount(pageSize);
userGrid.setRows(rows);
userGrid.setTotal(total);
modelAndView.addObject("userGrid", userGrid);
modelAndView.setViewName("admin/user/user_list");
return modelAndView;
}
查看用户
public User getUser(HttpServletRequest request) {
String id = request.getParameter("id");
User user = userService.getUserById(Integer.parseInt(id));
return user;
}
修改用户
public String updateUser(HttpServletRequest request, User user) {
User users = userService.selectByPrimaryKey(user.getId());
user.setPassword(users.getPassword());
try {
userService.updateUserName(user);
} catch (Exception e) {
return "{\"success\":false,\"msg\":\"保存失败!\"}";
}
return "{\"success\":true,\"msg\":\"保存成功!\"}";
}
删除用户
public String deleteUser(HttpServletRequest request, @RequestParam(value = "ids[]") String[] ids) {
try {
for (int i = 0; i < ids.length; i++) {
userService.deleteUserById(ids[i]);
}
} catch (Exception e) {
return "{\"success\":false,\"msg\":\"删除失败!\"}";
}
return "{\"success\":true,\"msg\":\"删除成功!\"}";
}