系统需求分析
将本系统分为几个子系统:
超市登陆系统,用以分为普通用户和管理员
库存系统,用以保存超市货物和货物信息,可以手动添加货物信息。
管理员系统,普通用户和管理员可以修改用户名、密码,管理员还可以增加用户。
购物系统,用户管理员可以选择销售的货物,展示所选货物的销售情况。
各个系统的功能如下:
超市登录系统:
在系统首页可以用账户登录:普通用户、管理员,
库存子系统:
库存系统中可以对库存进行增加,对货物的种类进行添加。
用户管理系统:
系统中收纳了所有用户账号密码,管理员可以修改、增加用户。
购物系统:
用户可以选择销售的货物,并显示所选货物的销售情况。
系统功能设计
系统实现了对商品的简易管理。首先在登录页面区分管理员和收银员,进入系统之后可以对商品种类进行添加,还可以增加商品库存,并在另外一个页面对商品进行销售,并能够查看所销售商品的销售情况。在用户管理页面中,收银员(普通用户)可以修改自己的id和密码,而管理员可以在这基础之上添加用户。
系统结构设计
系统详细设计(主要功能代码)
(1)用户注册
在index.jsp页面中运用javascript和servlet的编写实现注册信息的合理性验证;设置表单跳转到业务控制层LoginServlet进行详细业务控制,org.wl.action.UsersAction中的add方法实现对用户信息的添加,通过验证SQL2008数据库中表单数据来进行登录 。
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Validate vd = new Validate();
String name = vd.getUnicode(request.getParameter("name"));
String pwd = vd.getUnicode(request.getParameter("pwd"));
String str = "";
LoginBean lb = new LoginBean();
int flag = lb.login(name, pwd);
ArrayList al = lb.getArrayLst();
HttpSession session = request.getSession();
session.setAttribute("login", al);
if(flag == 2 || flag == 3){
str = "/index.jsp";
request.setAttribute("error", "1");
}
if(flag == 1){
str = "/modifypwd.jsp";
}
RequestDispatcher rd=request.getRequestDispatcher(str);
rd.forward(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response);
}
(2)用户管理
(3)商品添加
在管理员对当前平台中的数据信息添加操作时,以定期产品的添加为例,描述该功能的实现过程。
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Validate vd = new Validate();
String name = vd.getUnicode(request.getParameter("name"));
String candi = vd.getUnicode(request.getParameter("candi"));
String jinjia = vd.getUnicode(request.getParameter("jinjia"));
String danjia = vd.getUnicode(request.getParameter("danjia"));
String danwei = vd.getUnicode(request.getParameter("danwei"));
String leibie = vd.getUnicode(request.getParameter("leibie"));
String sum = vd.getUnicode(request.getParameter("sum"));
String supplier = vd.getUnicode(request.getParameter("supplier"));
String sql = "insert into shangpin values('"+name+"','"+candi+"','"+jinjia+"','"+danjia+"','"+danwei+"','"+leibie+"','"+sum+"','"+supplier+"')";
InsertUpdateDelBean iudb = new InsertUpdateDelBean();
int flag = iudb.insertANDupdateANDdel(sql);
if(flag == -1){
request.setAttribute("error", "1");
}else{
request.setAttribute("ok", "1");
}
RequestDispatcher rd=request.getRequestDispatcher("/add.jsp");
rd.forward(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response);
(4)种类添加
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Validate vd = new Validate();
String name = vd.getUnicode(request.getParameter("name"));
String sql = "insert into leibie(leibie) values('"+name+"')";
InsertUpdateDelBean iudb = new InsertUpdateDelBean();
int flag = iudb.insertANDupdateANDdel(sql);
if(flag == -1){
request.setAttribute("error", "1");
}else{
request.setAttribute("ok", "1");
}
RequestDispatcher rd=request.getRequestDispatcher("/addzonglei.jsp");
rd.forward(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response);
}