• Java项目:JSP在线水果销售商城


    作者主页:夜未央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. 后端:Servlet

    2. 前端:JSP+CSS+JavaScript+jQuery+Bootstrap

    使用说明

    1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
    2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
    若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
    3. 将项目中src/utils/DBUtil.java配置文件中的数据库配置改为自己的配置;
    4. 运行项目,输入localhost:8080/jsp_shuiguosaleshop 登录 注:Tomcat中配置路径必须为jsp_shuiguosaleshop,否则会出问题;
    用户账号/密码: user/123456

    管理员账号/密码:admin/admin

    运行截图

    前台用户界面

     

     

     

     

     

     

     

     

     后台管理员界面

     

     

     

     

     

    相关代码 

    AdminGoodsAddServlet

    1. package servlet;
    2. import model.Goods;
    3. import org.apache.commons.fileupload.FileItem;
    4. import org.apache.commons.fileupload.FileUploadException;
    5. import org.apache.commons.fileupload.disk.DiskFileItemFactory;
    6. import org.apache.commons.fileupload.servlet.ServletFileUpload;
    7. import service.GoodsService;
    8. import javax.servlet.ServletException;
    9. import javax.servlet.annotation.WebServlet;
    10. import javax.servlet.http.HttpServlet;
    11. import javax.servlet.http.HttpServletRequest;
    12. import javax.servlet.http.HttpServletResponse;
    13. import java.io.FileOutputStream;
    14. import java.io.IOException;
    15. import java.io.InputStream;
    16. import java.util.Date;
    17. import java.util.List;
    18. @WebServlet(name = "admin_goods_add",urlPatterns = "/admin/goods_add")
    19. public class AdminGoodsAddServlet extends HttpServlet {
    20. private GoodsService gService = new GoodsService();
    21. /**
    22. * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
    23. */
    24. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    25. DiskFileItemFactory factory=new DiskFileItemFactory();
    26. ServletFileUpload upload = new ServletFileUpload(factory);
    27. try {
    28. List list = upload.parseRequest(request);
    29. Goods g = new Goods();
    30. for(FileItem item:list) {
    31. if(item.isFormField()) {
    32. switch(item.getFieldName()) {
    33. case "name":
    34. g.setName(item.getString("utf-8"));
    35. break;
    36. case "price":
    37. g.setPrice(Integer.parseInt(item.getString("utf-8")));
    38. break;
    39. case "intro":
    40. g.setIntro(item.getString("utf-8"));
    41. break;
    42. case "stock":
    43. g.setStock(Integer.parseInt(item.getString("utf-8")));
    44. break;
    45. case "typeid":
    46. g.setTypeid(Integer.parseInt(item.getString("utf-8")));
    47. break;
    48. }
    49. }else {
    50. if(item.getInputStream().available()<=0)continue;
    51. String fileName = item.getName();
    52. fileName = fileName.substring(fileName.lastIndexOf("."));
    53. fileName = "/"+new Date().getTime()+fileName;
    54. String path = this.getServletContext().getRealPath("/picture")+fileName;
    55. InputStream in = item.getInputStream();
    56. FileOutputStream out = new FileOutputStream(path);
    57. byte[] buffer = new byte[1024];
    58. int len=0;
    59. while( (len=in.read(buffer))>0 ) {
    60. out.write(buffer);
    61. }
    62. in.close();
    63. out.close();
    64. item.delete();
    65. switch(item.getFieldName()) {
    66. case "cover":
    67. g.setCover("/picture"+fileName);
    68. break;
    69. case "image1":
    70. g.setImage1("/picture"+fileName);
    71. break;
    72. case "image2":
    73. g.setImage2("/picture"+fileName);
    74. break;
    75. }
    76. }
    77. }
    78. gService.insert(g);
    79. request.getRequestDispatcher("/admin/goods_list").forward(request, response);
    80. } catch (FileUploadException e) {
    81. // TODO Auto-generated catch block
    82. e.printStackTrace();
    83. }
    84. }
    85. /**
    86. * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
    87. */
    88. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    89. // TODO Auto-generated method stub
    90. doGet(request, response);
    91. }
    92. }

    AdminGoodsEditServlet

    1. package servlet;
    2. import model.Goods;
    3. import org.apache.commons.fileupload.FileItem;
    4. import org.apache.commons.fileupload.FileUploadException;
    5. import org.apache.commons.fileupload.disk.DiskFileItemFactory;
    6. import org.apache.commons.fileupload.servlet.ServletFileUpload;
    7. import service.GoodsService;
    8. import javax.servlet.ServletException;
    9. import javax.servlet.annotation.WebServlet;
    10. import javax.servlet.http.HttpServlet;
    11. import javax.servlet.http.HttpServletRequest;
    12. import javax.servlet.http.HttpServletResponse;
    13. import java.io.FileOutputStream;
    14. import java.io.IOException;
    15. import java.io.InputStream;
    16. import java.util.Date;
    17. import java.util.List;
    18. @WebServlet(name = "admin_goods_edit",urlPatterns = "/admin/goods_edit")
    19. public class AdminGoodsEditServlet extends HttpServlet {
    20. private GoodsService gService = new GoodsService();
    21. /**
    22. * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
    23. */
    24. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    25. DiskFileItemFactory factory=new DiskFileItemFactory();
    26. ServletFileUpload upload = new ServletFileUpload(factory);
    27. try {
    28. List list = upload.parseRequest(request);
    29. Goods g = new Goods();
    30. int pageNumber =1;
    31. int type=0;
    32. for(FileItem item:list) {
    33. if(item.isFormField()) {
    34. switch(item.getFieldName()) {
    35. case "id":
    36. g.setId(Integer.parseInt(item.getString("utf-8")));
    37. break;
    38. case "name":
    39. g.setName(item.getString("utf-8"));
    40. break;
    41. case "price":
    42. g.setPrice(Float.parseFloat(item.getString("utf-8")));
    43. break;
    44. case "intro":
    45. g.setIntro(item.getString("utf-8"));
    46. break;
    47. case "cover":
    48. g.setCover(item.getString("utf-8"));
    49. break;
    50. case "image1":
    51. g.setImage1(item.getString("utf-8"));
    52. break;
    53. case "image2":
    54. g.setImage2(item.getString("utf-8"));
    55. break;
    56. case "stock":
    57. g.setStock(Integer.parseInt(item.getString("utf-8")));
    58. break;
    59. case "typeid":
    60. g.setTypeid(Integer.parseInt(item.getString("utf-8")));
    61. break;
    62. case "pageNumber":
    63. pageNumber=Integer.parseInt(item.getString("utf-8"));
    64. break;
    65. case "type":
    66. type = Integer.parseInt(item.getString("utf-8"));
    67. break;
    68. }
    69. }else {
    70. if(item.getInputStream().available()<=0)continue;
    71. String fileName = item.getName();
    72. fileName = fileName.substring(fileName.lastIndexOf("."));
    73. fileName = "/"+new Date().getTime()+fileName;
    74. String path = this.getServletContext().getRealPath("/picture")+fileName;
    75. InputStream in = item.getInputStream();
    76. FileOutputStream out = new FileOutputStream(path);
    77. byte[] buffer = new byte[1024];
    78. int len=0;
    79. while( (len=in.read(buffer))>0 ) {
    80. out.write(buffer);
    81. }
    82. in.close();
    83. out.close();
    84. item.delete();
    85. switch(item.getFieldName()) {
    86. case "cover":
    87. g.setCover("/picture"+fileName);
    88. break;
    89. case "image1":
    90. g.setImage1("/picture"+fileName);
    91. break;
    92. case "image2":
    93. g.setImage2("/picture"+fileName);
    94. break;
    95. }
    96. }
    97. }
    98. gService.update(g);
    99. request.getRequestDispatcher("/admin/goods_list?pageNumber="+pageNumber+"&type="+type).forward(request, response);
    100. } catch (FileUploadException e) {
    101. // TODO Auto-generated catch block
    102. e.printStackTrace();
    103. }
    104. }
    105. /**
    106. * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
    107. */
    108. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    109. // TODO Auto-generated method stub
    110. doGet(request, response);
    111. }
    112. }

    AdminOrderListServlet

    1. package servlet;
    2. import model.Page;
    3. import service.OrderService;
    4. import javax.servlet.ServletException;
    5. import javax.servlet.annotation.WebServlet;
    6. import javax.servlet.http.HttpServlet;
    7. import javax.servlet.http.HttpServletRequest;
    8. import javax.servlet.http.HttpServletResponse;
    9. import java.io.IOException;
    10. @WebServlet(name = "admin_order_list",urlPatterns = "/admin/order_list")
    11. public class AdminOrderListServlet extends HttpServlet {
    12. private OrderService oService = new OrderService();
    13. /**
    14. * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
    15. */
    16. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    17. int status = 0;
    18. if(request.getParameter("status") != null) {
    19. status=Integer.parseInt(request.getParameter("status") ) ;
    20. }
    21. request.setAttribute("status", status);
    22. int pageNumber = 1;
    23. if(request.getParameter("pageNumber") != null) {
    24. try {
    25. pageNumber=Integer.parseInt(request.getParameter("pageNumber") ) ;
    26. }
    27. catch (Exception e)
    28. {
    29. }
    30. }
    31. if(pageNumber<=0)
    32. pageNumber=1;
    33. Page p = oService.getOrderPage(status,pageNumber);
    34. if(p.getTotalPage()==0)
    35. {
    36. p.setTotalPage(1);
    37. p.setPageNumber(1);
    38. }
    39. else {
    40. if(pageNumber>=p.getTotalPage()+1)
    41. {
    42. p = oService.getOrderPage(status,pageNumber);
    43. }
    44. }
    45. request.setAttribute("p", p);
    46. request.getRequestDispatcher("/admin/order_list.jsp").forward(request, response);
    47. }
    48. }

    GoodsDetailServlet

    1. package servlet;
    2. import model.Goods;
    3. import service.GoodsService;
    4. import javax.servlet.ServletException;
    5. import javax.servlet.annotation.WebServlet;
    6. import javax.servlet.http.HttpServlet;
    7. import javax.servlet.http.HttpServletRequest;
    8. import javax.servlet.http.HttpServletResponse;
    9. import java.io.IOException;
    10. @WebServlet(name = "goods_detail",urlPatterns = "/goods_detail")
    11. public class GoodsDetailServlet extends HttpServlet {
    12. private GoodsService gService = new GoodsService();
    13. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    14. }
    15. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    16. int id = Integer.parseInt(request.getParameter("id"));
    17. Goods g = gService.getGoodsById(id);
    18. request.setAttribute("g", g);
    19. request.getRequestDispatcher("/goods_detail.jsp").forward(request, response);
    20. }
    21. }

    IndexServlet

    1. package servlet;
    2. import service.GoodsService;
    3. import javax.servlet.ServletException;
    4. import javax.servlet.annotation.WebServlet;
    5. import javax.servlet.http.HttpServlet;
    6. import javax.servlet.http.HttpServletRequest;
    7. import javax.servlet.http.HttpServletResponse;
    8. import java.io.IOException;
    9. import java.util.List;
    10. import java.util.Map;
    11. @WebServlet(name = "IndexServlet",urlPatterns = "/index")
    12. public class IndexServlet extends HttpServlet {
    13. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    14. }
    15. private GoodsService gService=new GoodsService();
    16. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    17. Map ScrollGood=gService.getScrollGood();
    18. request.setAttribute("scroll",ScrollGood);
    19. List>newList=gService.getGoodsList(3);
    20. request.setAttribute("newList",newList);
    21. List>hotList=gService.getGoodsList(2);
    22. request.setAttribute("hotList",hotList);
    23. //response.sendRedirect("index.jsp");
    24. request.getRequestDispatcher("index.jsp").forward(request,response);
    25. }
    26. }

    OrderListServlet

    1. package servlet;
    2. import model.Order;
    3. import model.User;
    4. import service.OrderService;
    5. import javax.servlet.ServletException;
    6. import javax.servlet.annotation.WebServlet;
    7. import javax.servlet.http.HttpServlet;
    8. import javax.servlet.http.HttpServletRequest;
    9. import javax.servlet.http.HttpServletResponse;
    10. import java.io.IOException;
    11. import java.util.List;
    12. @WebServlet(name = "order_list", urlPatterns = "/order_list")
    13. public class OrderListServlet extends HttpServlet {
    14. private OrderService oService = new OrderService();
    15. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    16. }
    17. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    18. User u = (User) request.getSession().getAttribute("user");
    19. if(u==null)
    20. {
    21. response.sendRedirect("/index");
    22. return;
    23. }
    24. List list = oService.selectAll(u.getId());
    25. request.setAttribute("orderList", list);
    26. request.getRequestDispatcher("/order_list.jsp").forward(request, response);
    27. }
    28. }

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

  • 相关阅读:
    几种在ARM MCU上控制流水灯的方法
    python LeetCode 刷题记录 94
    CAP+BASE
    Python Pandas PK esProc SPL,谁才是数据预处理王者?
    在 SAP Fiori Launchpad 里给需要执行的 SAPGUI 事物码配置系统别名
    深度学习二三事-计算机视觉目标检测回顾
    Visual Studio Code 配置C、C++ 文件debug调试环境
    Hive之同比环比的计算
    用VS Code运行C语言(安装VS Code,mingw的下载和安装)
    Java非Spring框架下的单元测试
  • 原文地址:https://blog.csdn.net/hanyunlong1989/article/details/126944392