• Java项目:SSM在线个人PC电脑商城平台网站系统


    作者主页:夜未央5788

     简介:Java领域优质创作者、Java项目、学习资料、技术互助

    文末获取源码

     

    项目介绍

    该项目为前后台项目,分为普通用户与管理员两种角色,前台普通用户登录,后台管理员登录;

    管理员角色包含以下功能:

    管理员登录,用户管理,一级分类管理,二级分类管理,商品管理,所有订单管理,留言管理,公告管理等功能。

    用户角色包含以下功能:

    浏览所有商品,加入购物车,查看留言板和公告,查看我的订单,用户注册登录,提交订单,确认订单等功能。

    环境需要

    1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
    2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
    3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
    4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 

    5.数据库:MySql 5.7版本;

    6.是否Maven项目:否;

    技术栈

    1. 后端:Spring+SpringMVC+Mybatis

    2. 前端:JSP+jQuery+Ajax

    使用说明

    1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;

    2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;

    若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;

    3. 将项目中jdbc.properties配置文件中的数据库配置改为自己的配置;

    4. 运行项目,输入localhost:8080/ 登录

    运行截图

    前台界面

     

     

     

     

     

     

     

    后台界面

     

     

     

     

     

     

    相关代码

    注册控制器

    1. package com.shop.controller;
    2. import java.util.ArrayList;
    3. import java.util.List;
    4. import javax.servlet.http.HttpServletRequest;
    5. import org.springframework.beans.factory.annotation.Autowired;
    6. import org.springframework.stereotype.Controller;
    7. import org.springframework.ui.Model;
    8. import org.springframework.validation.BindingResult;
    9. import org.springframework.validation.ObjectError;
    10. import org.springframework.validation.annotation.Validated;
    11. import org.springframework.web.bind.annotation.RequestMapping;
    12. import org.springframework.web.bind.annotation.RequestParam;
    13. import com.shop.exception.zdyException;
    14. import com.shop.po.User;
    15. import com.shop.service.UserService;
    16. @Controller
    17. public class registController {
    18. @Autowired
    19. private UserService userService;
    20. @RequestMapping("regist")
    21. public String regist() {
    22. return "regist";
    23. }
    24. @RequestMapping("/userRegist")
    25. public String userRegist(Model model, HttpServletRequest request,
    26. @Validated User user, BindingResult bindingResult,
    27. @RequestParam String checkImg) throws Exception {
    28. if (bindingResult.hasErrors()) {
    29. List errors =bindingResult.getAllErrors();
    30. List list = new ArrayList<>();
    31. for (ObjectError objectError : errors) {
    32. String str = new String(objectError.getDefaultMessage()
    33. .getBytes("ISO-8859-1"), "gbk");
    34. list.add(str);
    35. }
    36. model.addAttribute("errors", list);
    37. return "regist";
    38. }
    39. // 查看验证码
    40. String sessionCode = (String) request.getSession().getAttribute(
    41. "checkcode");
    42. // System.out.println("adadadad" + sessionCode);
    43. if (!sessionCode.equalsIgnoreCase(checkImg)) {
    44. // model.addAttribute("message", "验证码错误请重新注册");
    45. throw new zdyException("验证码错误请重新注册");
    46. }
    47. // 开始写入数据库
    48. userService.saveUser(user);
    49. //model.addAttribute("message", "注册成功请去邮箱激活");
    50. model.addAttribute("message", "注册成功请登录");
    51. return "msg";
    52. }
    53. @RequestMapping("/activeUser")
    54. public String activeUser(@RequestParam String code,Model model) throws zdyException,Exception {
    55. /*
    56. * 根据传递激活码进行用户查询. 如果用户不为空: 修改用户状态 改为1 如果用户为空: 激活码被篡改了.
    57. */
    58. User activeUser = userService.findByCode(code);
    59. if(activeUser==null){
    60. // model.addAttribute("message", "激活码被篡改了,请重新注册");
    61. throw new zdyException("激活码被篡改了,请重新注册");
    62. }
    63. activeUser.setState(1);
    64. activeUser.setCode(null);
    65. userService.activeUser(activeUser);
    66. model.addAttribute("message", "激活码成功");
    67. return "msg";
    68. }
    69. }

    产品控制器

    1. package com.shop.controller;
    2. import org.springframework.beans.factory.annotation.Autowired;
    3. import org.springframework.stereotype.Controller;
    4. import org.springframework.ui.Model;
    5. import org.springframework.web.bind.annotation.RequestMapping;
    6. import org.springframework.web.bind.annotation.RequestParam;
    7. import com.shop.po.Product;
    8. import com.shop.service.ProductService;
    9. @Controller
    10. public class ProductController {
    11. @Autowired
    12. private ProductService prodcutService;
    13. @RequestMapping("/productFindByPid")
    14. public String productFindByPid(@RequestParam int pid,Model model) throws Exception {
    15. Product product = prodcutService.productFindByPid(pid);
    16. model.addAttribute("product", product);
    17. return "product";
    18. }
    19. }

    订单控制器

    1. package com.shop.controller;
    2. import java.util.Date;
    3. import java.util.Map;
    4. import java.util.Map.Entry;
    5. import javax.servlet.http.HttpServletRequest;
    6. import org.springframework.beans.factory.annotation.Autowired;
    7. import org.springframework.stereotype.Controller;
    8. import org.springframework.ui.Model;
    9. import org.springframework.web.bind.annotation.RequestMapping;
    10. import org.springframework.web.bind.annotation.RequestParam;
    11. import com.shop.Utils.PageBean;
    12. import com.shop.po.Cart;
    13. import com.shop.po.CartItem;
    14. import com.shop.po.Orderitem;
    15. import com.shop.po.Orders;
    16. import com.shop.po.User;
    17. import com.shop.service.OrderService;
    18. @Controller
    19. public class orderController {
    20. @Autowired
    21. private OrderService orderService;
    22. @RequestMapping("/toOrder")
    23. public String toOrder(HttpServletRequest request,Model model) throws Exception {
    24. Orders orders = new Orders();
    25. Cart cart = (Cart) request.getSession().getAttribute("cart");
    26. User loginUser = (User) request.getSession().getAttribute("loginUser");
    27. if(loginUser==null){
    28. model.addAttribute("message", "对不起您还没有登录");
    29. return "msg";
    30. }
    31. // 0表示没有付款、1表示已付款即将发货 2表示确认收货 3表示交易成功
    32. orders.setState(0);
    33. orders.setOrderTime(new Date());
    34. orders.setUid(loginUser.getUid());
    35. orders.setMoney(cart.getTotale());
    36. orderService.toOrder(orders);
    37. Map cartItems = cart.getCartItem();
    38. for (Entry entry : cartItems.entrySet()) {
    39. CartItem cartItem = entry.getValue();
    40. Orderitem orderitem = new Orderitem();
    41. orderitem.setProduct(cartItem.getProduct());
    42. orderitem.setCount(cartItem.getCount());
    43. orderitem.setPid(cartItem.getProduct().getPid());
    44. orderitem.setSubtotal(cartItem.getSubtotle());
    45. orderitem.setOid(orders.getOid());
    46. orders.getOiList().add(orderitem);
    47. orderService.toOrderItem(orderitem);
    48. }
    49. cart.clearCart();
    50. request.getSession().setAttribute("orders", orders);
    51. return "order";
    52. }
    53. // 为定单付款
    54. @RequestMapping("/payOrder")
    55. public String payOrder(Orders orders,@RequestParam String receiveInfo,@RequestParam String phoNum,@RequestParam String accepter) throws Exception {
    56. orders.setReceiveinfo(receiveInfo);
    57. orders.setPhonum(phoNum);
    58. orders.setAccepter(accepter);
    59. orderService.payOrder(orders);
    60. return "redirect:myOrder.action?page=1";
    61. }
    62. //payOrderAganin
    63. @RequestMapping("/payOrderAganin")
    64. public String payOrderAganin(@RequestParam int oid,HttpServletRequest request){
    65. Orders noPayOrder = orderService.findOrderByOid(oid);
    66. request.getSession().setAttribute("orders", noPayOrder);
    67. return "order";
    68. }
    69. // 查询myOrder
    70. @RequestMapping("/myOrder")
    71. public String myOrder(@RequestParam int page, Model model,
    72. HttpServletRequest request) throws Exception {
    73. User loginUser = (User) request.getSession().getAttribute("loginUser");
    74. PageBean pageBean = orderService.findOrderByUidAndPage(page,loginUser.getUid());
    75. model.addAttribute("pageBean", pageBean);
    76. return "orderList";
    77. }
    78. // 确认收货
    79. @RequestMapping("/updateState")
    80. public String updateState(@RequestParam int oid ) throws Exception {
    81. orderService.updateOrderStatus(oid, 3);
    82. return "redirect:myOrder.action?page=1";
    83. }
    84. }

    留言控制器

    1. package com.shop.controller;
    2. import java.util.Date;
    3. import javax.servlet.http.HttpServletRequest;
    4. import org.springframework.beans.factory.annotation.Autowired;
    5. import org.springframework.stereotype.Controller;
    6. import org.springframework.ui.Model;
    7. import org.springframework.web.bind.annotation.RequestMapping;
    8. import org.springframework.web.bind.annotation.RequestParam;
    9. import com.shop.Utils.PageBean;
    10. import com.shop.po.Message;
    11. import com.shop.po.User;
    12. import com.shop.service.MessageService;
    13. @Controller
    14. public class messageController {
    15. @Autowired
    16. private MessageService messageService;
    17. @RequestMapping("/saveMessage")
    18. public String saveMessage(@RequestParam String messageinfo,HttpServletRequest request,Model model) throws Exception {
    19. Message Message = new Message();
    20. User loginUser = (User) request.getSession().getAttribute("loginUser");
    21. if(loginUser==null){
    22. model.addAttribute("message", "对不起您还没有登录");
    23. return "msg";
    24. }
    25. java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    26. Message.setMessage(messageinfo);
    27. Message.setUid(loginUser.getUid());
    28. Message.setMessagedate(sdf.format(new Date()));
    29. messageService.insertMessage(Message);
    30. request.getSession().setAttribute("Message", Message);
    31. return "redirect:/messageList.action?page=1";
    32. }
    33. // 显示留言板全部留言
    34. @RequestMapping("/messageList")
    35. public String messageList(@RequestParam int page, Model model,
    36. HttpServletRequest request) throws Exception {
    37. PageBean pageBean = messageService.findAllMessageByPage(page);
    38. model.addAttribute("pageBean", pageBean);
    39. return "messageList";
    40. }
    41. }

    如果也想学习本系统,下面领取。关注并回复:166ssm

  • 相关阅读:
    十四天学会C++之第三天(数组和字符串)
    Java编码规范总结
    《Linux驱动:s3c2440 lcd 驱动分析--终结篇》
    记录一次错误---想让U-net网络输入大小不一致的图片
    (Note)在Excel中选中某一行至最后一行的快捷键操作
    被误删的HDFS文件如何有效恢复
    【JAVA版本】websocket获取B站直播弹幕——基于直播开放平台
    云服务器使用指南
    数仓开发之DWD层(四)
    Python 批量合并图片到word文档
  • 原文地址:https://blog.csdn.net/hanyunlong1989/article/details/126445687