• 超市管理系统(java+Mysql)


    目 录
    摘 要 I
    Abstract II
    1 正文 1
    1.1研究背景分析 1
    1.2 超市管理系统的概述 2
    1.3所需软、硬件技术准备 2
    1.4可行性分析 3
    1.4.1 技术可行性 3
    1.4.2 经济可行性 3
    1.4.3 社会可行性 3
    2 需求分析 4
    2.1 需求分析的任务及主要内容 4
    2.2.1 具体业务的需求 4
    2.2 层次图 4
    2.3数据流图 5
    3 概要设计 5
    3.1 系统分析 5
    3.1.1 系统的总体分析 6
    3.2 数据库的设计与实现 6
    3.2.1 数据库系统分析 7
    3.2.2 数据库物理实现 7
    4 详细设计 9
    4.1 Servlet的详细应用 9
    4.2 特定模块的详细介绍 9
    4.2.1 登陆模块 9
    4.2.2 账单管理模块 15
    4.2.2 供应商管理模块 21
    4.2.3 用户管理模块 26
    5 系统测试 32
    结 语 33
    注 释 34
    参考文献 35
    致 谢 37
    附录1 38
    1.4可行性分析
    1.4.1 技术可行性
    本系统戏是用java语言所编写的,java语言作为前导课程已经学过。重点学习了jsp,最后又系统的学习了Servlet,Servlet这同时又是本系统应用的重点。从设计,开发,测试到最后的维护,都综合了所学的java知识。本系统所实现的是超市管理,因此在给定的时间内完成是绝对可行。制作本系统的软件均可以在网上免费获得,同时也可以获得开源的代码和图片。本组的技术人员有开发此类项目的经验。综上所述,此系统开发有可靠的技术支持,技术上是完全可行的。
    1.4.2 经济可行性
    对本组的经济现状和投资能力进行分析,对系统建设运行和维护费用进行估算,对系统建成后可能取得的社会和经济效益进行估计。由于本系统是作为毕业设计由我们学生自己开发的,在经济上的投入甚微,系统建成之后将为超市行业提供很大的方便,因此在经济上是可行的。
    1.4.3 社会可行性
    本系统编程所使用的是网上的开源代码和图片,又不以获利为目的。因此不必承担任何法律责任

    2 需求分析
    2.1 需求分析的任务及主要内容
    2.2.1 具体业务的需求
    主要模块包括:
    (1)账单管理模块,主要是管理超市,账单的编号、商品名称、商品数量、交易金额、是否付款、供应商名称、商品描述、账单时间。然后计算出顾客购买商品的总价,计算顾客实付金额和应付金额的差价。减少人工计算产生的错误。
    (2)供应商管理模块,主要管理与超市合作的供应商,有编号、供应商名称、供应商描述、联系人、电话、地址。
    (3)用户管理模块,主要管理管理超市的用户,有编号、用户名称、性别、年龄、电话、地址、权限。用户管理信息化,减少了人力资源的浪费。

    2.2 层次图
    在这里插入图片描述

    图2-1层次图
    2.3数据流图
    在这里插入图片描述

    图2-2

    在这里插入图片描述

    图2-3

    代码:public class HandelLogin extends HttpServlet{
    	UserOper oper=new UserOper();
    	public void init(ServletConfig config)throws ServletException{
    		super.init(config);
    	}
    	public void destroy() {
    		super.destroy(); 
    		
    	}
    	public void doGet(HttpServletRequest request, HttpServletResponse response)
    		throws ServletException, IOException {
    			this.doPost(request, response);
    	}
    	public void doPost(HttpServletRequest request,HttpServletResponse response)
    		throws ServletException,IOException{
    		request.setCharacterEncoding("utf-8");
    		response.setCharacterEncoding("utf-8");
    		response.setContentType("text/html;charset=utf-8");		
    		HttpSession session=request.getSession(true);
    		String op = request.getParameter("op");
    		String opg= request.getParameter("opg");
    		String opyh = request.getParameter("opyh");
    		String zdgroup=request.getParameter("zdgroup");
    		System.out.println(zdgroup);
    		String gysgroup=request.getParameter("gysgroup");
    		Login judgeLogin = (Login)(session.getAttribute("login"));
    		if ("doLogin".equals(op)) {
    			doLogin(request, response);
    			return;
    		}
    		if (judgeLogin!=null&&!"".equals(judgeLogin)){
    			if("经理".equals(judgeLogin.getYh_quanxian())){
    				if ("ZD".equals(op)){
    						doLnquiresZD(request,response);							
    				}else if("ZDAdd".equals(op)){
    						doZDAdd(request,response);
    				}else if("ZDXinXi".equals(op)){
    					    doZDXinXi(request,response);
    				}else if("修 改".equals(op)){
    					    doZDXiuGai(request,response);
    				}else if("删 除".equals(op)){
    					    doZDDel(request,response);
    				}else if("组合查询".equals(zdgroup)){
    						doZDChaXun(request,response);
    				}else if("GYS".equals(op)){			
    						doLnquiresGYS(request,response);				
    				}else if("GYSAdd".equals(op)){
    					    doGYSAdd(request,response);
    				}else if("GYSXinXi".equals(op)){
    					    doGYSXinXi(request,response);
    				}else if("修 改".equals(opg)){
    						doGYSXiuGai(request,response);
    				}else if("删 除".equals(opg)){
    						doGYSDel(request,response);
    				}else if("组合查询".equals(gysgroup)){
    						doGYSChaXun(request,response);
    				}else if("YH".equals(op)){
    						doLnquiresYH(request,response);					
    				}else if("YHAdd".equals(op)){
    					    doYHAdd(request,response);
    				}else if("YHXinXi".equals(op)){
    					    doYHXinXi(request,response);
    				}else if("修 改".equals(opyh)){
    						doYHXiuGai(request,response);
    				}else if("删 除".equals(opyh)){
    						doYHDel(request,response);
    				}else if ("查询".equals(opyh)) {
    						doYhChaXun(request,response);
    				}else if("修改密码".equals(opyh)){
    					    doYHMiMa(request,response);
    				}else if("修改密码".equals(op)){
    						doAdminMiMaXiuGai(request,response);
    				}
    			}
    			if("普通用户".equals(judgeLogin.getYh_quanxian())){
    				if ("ZD".equals(op)){
    						doLnquiresZD(request,response);							
    				}else if("ZDAdd".equals(op)){
    						doZDAdd(request,response);
    				}else if("ZDXinXi".equals(op)){
    					    doZDXinXi(request,response);
    				}else if("修 改".equals(op)){
    					    doZDXiuGai(request,response);
    				}else if("删 除".equals(op)){
    					    doZDDel(request,response);
    				}else if("组合查询".equals(zdgroup)){
    						doZDChaXun(request,response);
    				}else if("GYS".equals(op)){			
    						doLnquiresGYS(request,response);				
    				}else if("GYSAdd".equals(op)){
    					    doGYSAdd(request,response);
    				}else if("GYSXinXi".equals(op)){
    					    doGYSXinXi(request,response);
    				}else if("修 改".equals(opg)){
    						doGYSXiuGai(request,response);
    				}else if("删 除".equals(opg)){
    						doGYSDel(request,response);
    				}else if("组合查询".equals(gysgroup)){
    						doGYSChaXun(request,response);
    				}else if("YH".equals(op)||"修改密码".equals(op)||"修改密码".equals(opyh)||
    						"查询".equals(opyh)||"删 除".equals(opyh)||"修 改".equals(opyh)||
    						"YHXinXi".equals(op)||"YHAdd".equals(op)){
    						Information info=new Information();
    						String msg="对不起您没有那么高的权限";
    						info.setMsg(msg);
    						request.setAttribute("info", info);
    						request.getRequestDispatcher("mainWindow.jsp").forward(request, response);
    				}
    			}
    		}else{
    			response.sendRedirect("login.jsp");	
    		}
    		
    		
    	}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    别再低效筛选数据了!试试pandas query函数
    Spring修炼之旅(3)自动装配与注解开发
    firewalld服务讲解
    webgis前端控件编程
    Go基础——数组、切片、集合
    java实现文件断点续传、秒传
    你真的会写Restful API吗?
    内存一致性,指令重排序,内存屏障,volatile解析
    开播客户端
    前端三剑客 HTML、CSS、JavaScript 入门到上手
  • 原文地址:https://blog.csdn.net/newlw/article/details/127947539