文章目录
- 前言
- 一、项目设计
- 1. 模块设计
- 系统功能需求
- 管理员功能
- 柜员功能
- 2. 实现效果
- 二、部分源码
- 项目源码
前言
今天学长向大家分享一个 web项目:
基于JSP的超市积分管理系统
一、项目设计
1. 模块设计
系统功能需求
- (1)柜员信息的管理:包括对所有柜台柜员信息的各项设置。
- (2)会员信息的管理:包括对所有会员信息的管理设置。
- (3)会员积分管理:包括对会员积分的统计、查询等。
- (4)积分规则设置:对积分规则进行设定、修改等。
- (5)会员等级设置:包括对每个会员等级的范围进行设置管理。
- (6)兑换商品管理:对积分兑换的商品进行修改、兑换等各项管理。
- (7)兑换商品记录:记录柜员对会员每次兑换商品的操作信息。
- (8)兑换积分记录:记录柜员对会员每次兑换积分的操作信息。
管理员功能
- 1)柜员账户列表,实现对柜员账户信息的管理。
- 2)新增柜员账户,实现添加柜员信息。
- 3)兑换商品列表,实现对兑换商品信息的查看、修改、删除操作。
- 4)新增兑换商品,实现添加系统中兑换商品信息。
- 5)会员类别管理,实现对系统中会员积分等级的设置。
- 6)积分类别选择,实现对系统中的会员积分兑换规则设置。
- 7)增加积分记录,实现查看柜员为会员兑换积分的工作记录。
- 8)兑换积分记录,实现查看柜员为会员兑换商品的工作记录。
柜员功能
- 1)用户列表管理,实现对会员信息的查看、修改、删除操作。
- 2)新增用户管理,实现添加会员信息。
- 3)会员积分管理,可以查看会员的积分和级别,并按照会员消费金额兑换积分。
- 4)兑换商品列表,可以查看兑换商品及所需积分,并可为会员兑换商品。
- 5)增加积分记录,实现查看柜员为会员兑换积分的工作记录。
- 6)兑换积分记录,实现查看柜员为会员兑换商品的工作记录。
2. 实现效果
二、部分源码
部分代码示例:
//DB.java
public class DB
{
private Connection conn = null;
private Statement stmt = null;
ResultSet rs = null;
String url;
public DB() {
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=huiyuan";
}
catch(Exception e)
{
e.printStackTrace();
}
}
public ResultSet executeQuery(String sql)
{
this.stmt=null;
this.rs = null;
Connection cn;
try
{
cn=DriverManager.getConnection(url,"sa","123456");
stmt=cn.createStatement();
rs=stmt.executeQuery(sql);
}
catch(Exception e)
{
e.printStackTrace();
}
return rs;
}
public boolean executeUpdate(String sql)
{
Connection conn;
this.stmt = null;
this.rs = null;
try {
conn = DriverManager.getConnection(url, "sa", "123456");
stmt = conn.createStatement();
stmt.executeUpdate(sql);
stmt.close();
conn.close();
return true;
}
catch (SQLException ex)
{
System.err.println("" + ex.getMessage()); }
return false;
}
public void closeStmt()
{
try {
this.stmt.close();
}
catch (SQLException e)
{
e.printStackTrace();
}
}
public void closeConn() {
try {
this.conn.close();
}
catch (SQLException e)
{
e.printStackTrace();
}
}
}
//checkLogin.jsp 登录验证
<body>
<%
request.setCharacterEncoding("gb2312");
String username=request.getParameter("username");
String passwords=request.getParameter("password");
String sql="select * from admin where username ='"+username+"'";
ResultSet rs=mybean.executeQuery(sql);
if(rs.next()){
String password=rs.getString("password");
if(password.equals(passwords)){
session.setAttribute("type",rs.getString("types"));
session.setAttribute("username",rs.getString("username"));
out.print ("<script language='javascript'>alert('登陆成功');location.href('index.jsp');</script>");
}else{
out.print ("<script language='javascript'>alert('登陆失败');history.go(-1);</script>");
}
}
out.print ("<script language='javascript'>alert('登陆失败');history.go(-1);</script>");
%>
</body>
//saveAddguiyuan.jsp 添加柜员
<body>
<%
request.setCharacterEncoding("gb2312");
String name="";
String sex="";
String age="";
String username="";
String tel="";
name=request.getParameter("name");
sex=request.getParameter("sex");
age=request.getParameter("age");
username=request.getParameter("username");
tel=request.getParameter("tel");
String password=request.getParameter("password");
String sql="";
sql="insert into admin(name,sex,age,username,tel,password,types)values('"+name+"','"+sex+"','"+age+"','"+username+"','"+tel+"','"+password+"','1')";
if(mybean.executeUpdate(sql)==true)
out.print ("<script language='javascript'>alert('数据添加成功');location.href('listguiyuan.jsp');</script>");
else
out.print("<script language='javascript'>alert('数据添加失败');history.go(-1);</script>");
%>
</body>
// saveAddjf.jsp 添加积分
<body>
<%
request.setCharacterEncoding("gb2312");
String title="";
String content="";
String type="";
String moneys=request.getParameter("moneys");
String money=request.getParameter("money");
String ids=request.getParameter("ids");
int money1=Integer.parseInt(moneys);
int jifen = 0;
String sql1="select * from jftype where 1=1 ";
ResultSet rs=mybean.executeQuery(sql1);
if(rs.next()){
if(Integer.parseInt(money)>=rs.getInt("jftype")){
jifen = rs.getInt("state")*(Integer.parseInt(money)/rs.getInt("jftype"));
money1+=jifen+Integer.parseInt(money);
}else{
money1+=Integer.parseInt(money);
}
}
String sql="";
sql="update members set money='"+money1+"' where id="+ids;
if(mybean.executeUpdate(sql)==true){
Date date = new Date();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String username=request.getParameter("username");
String guiyuan=(String)request.getSession().getAttribute("username");
String project="";
String num="";
String inputdate=format.format(date);
String type1="1";
String sql2="";
sql2="insert into log(username,guiyuan,project,num,inputdate,type,jifen)values('"+username+"','"+guiyuan+"','"+project+"','"+num+"','"+inputdate+"','"+type1+"','"+jifen+"')";
mybean.executeUpdate(sql2);
out.print ("<script language='javascript'>alert('积分增加成功');location.href('listjf.jsp');</script>");
}else{
out.print("<script language='javascript'>alert('数据添加失败');history.go(-1);</script>");
}%>
</body>
// saveAddUser.jsp 添加用户
<body>
<%
request.setCharacterEncoding("gb2312");
String name="";
String sex="";
String age="";
String address="";
String tel="";
name=request.getParameter("name");
sex=request.getParameter("sex");
age=request.getParameter("age");
address=request.getParameter("address");
tel=request.getParameter("tel");
String number=request.getParameter("number");
String sql="";
sql="insert into members(name,sex,age,address,tel,number)values('"+name+"','"+sex+"','"+age+"','"+address+"','"+tel+"','"+number+"')";
if(mybean.executeUpdate(sql)==true)
out.print ("<script language='javascript'>alert('数据添加成功');location.href('listUser.jsp');</script>");
else
out.print("<script language='javascript'>alert('数据添加失败');history.go(-1);</script>");
%>
</body>
//saveduihuan.jsp 积分兑换
<body>
<%
request.setCharacterEncoding("gb2312");
String bianhao="";
bianhao=request.getParameter("bianhao");
String number=request.getParameter("number");
String ids=request.getParameter("ids");
String jifen=request.getParameter("jifen");
String name=request.getParameter("name");
String sql="";
String sql1="select * from members where number='"+bianhao+"'";
String jifen1="";
int sumjifen=0;
ResultSet rs=mybean.executeQuery(sql1);
if(rs.next()){
jifen1=rs.getString("money");
}else{
out.print ("<script language='javascript'>alert('会员编号不存在');location.href('listproduct.jsp');</script>");
return;
}
if(Integer.parseInt(jifen1)>=Integer.parseInt(jifen)*Integer.parseInt(number)){
sumjifen=Integer.parseInt(jifen1)-(Integer.parseInt(jifen)*Integer.parseInt(number));
}else{
out.print ("<script language='javascript'>alert('您的积分不足');location.href('listproduct.jsp');</script>");
}
String sql2="update members set money='"+sumjifen+"' where number='"+bianhao+"'";
if(mybean.executeUpdate(sql2)==true){
Date date = new Date();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String username=bianhao;
String guiyuan=(String)request.getSession().getAttribute("username");
String project=name;
String num=number;
String inputdate=format.format(date);
String type1="2";
String sql3="";
sql3="insert into log(username,guiyuan,project,num,inputdate,type,jifen)values('"+username+"','"+guiyuan+"','"+project+"','"+num+"','"+inputdate+"','"+type1+"','"+Integer.parseInt(jifen)*Integer.parseInt(number)+"')";
mybean.executeUpdate(sql3);
out.print ("<script language='javascript'>alert('兑换成功');location.href('listproduct.jsp');</script>");
}else{
out.print("<script language='javascript'>alert('兑换失败');history.go(-1);</script>");
}
%>
</body>
// saveguiyuan.jsp 保持柜员修改信息