Java课程设计:基于Javaweb的超市管理系统

embedded/2024/12/25 10:18:33/

一、项目介绍

超市账单管理系统主要用于对超市的交易账单进行管理,如账单录入、账单修改、账单
删除,以及和超市商品相关的供应商、用户的管理等。所谓账单,就是超市与供应商进
行交易的凭据。超市采购部的职员、超市的部门经理是该系统的目标用户。
要求:

  1. 使用 jsp、jstl 以及其他技术整合实现该系统。
  2. 使用MySQL数据库。
  3. 必须按照 B/S 结构完成系统。

二、项目功能

在这里插入图片描述

三、核心代码

用户servlet

java">@WebServlet("/UserServlet")
public class UserServlet extends HttpServlet {private static final long serialVersionUID = 1L;/*** @see HttpServlet#HttpServlet()*/public UserServlet() {super();// TODO Auto-generated constructor stub}/*** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)*/protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubdoPost(request, response);}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)*/protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubtry {request.setCharacterEncoding("utf-8");User user = new User();user.setId(Integer.parseInt(request.getParameter("userId")));user.setName(request.getParameter("username"));user.setPassword(request.getParameter("password"));user.setSex(Integer.parseInt(request.getParameter("sex")));user.setAge(Integer.parseInt(request.getParameter("age")));user.setTel(request.getParameter("mobile"));user.setLoc(request.getParameter("address"));user.setRole(Integer.parseInt(request.getParameter("auth")));UserDao userdao = new UserDao();if (userdao.insertUser(user)) {response.sendRedirect("GetUserServlet");}else {response.sendRedirect("userAdd.jsp");}} catch (Exception e) {response.sendRedirect("userAdd.jsp");// TODO: handle exception}}}

数据库工具类

java">public class DBUtil {private static Connection con = null;private static Statement sts = null;public static Connection getDB(String name, String user, String password){try {Class.forName("com.mysql.cj.jdbc.Driver");String url = "jdbc:mysql://localhost:3306/" + name + "?useSSL=false&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8";con = DriverManager.getConnection(url, user, password);} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}catch (SQLException e) {// TODO: handle exceptione.printStackTrace();}return con;}
}

用户数据库层代码

java">public class UserDao {Connection con;PreparedStatement ps;ResultSet rs;//判断登陆public boolean checkUser(String username,String password) {String sql = "select user_password from user where user_name = '"+username +"'";con = DBUtil.getDB("supermarket", "root", "02200059");try {PreparedStatement ps = con.prepareStatement(sql);rs = ps.executeQuery();if (rs.next()) {if (rs.getString(1).equals(password)) {return true;}}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return false;}//遍历数据库中数据public ArrayList<User> getAllUser(){ArrayList<User> list = new ArrayList<User>();con = DBUtil.getDB("supermarket", "root", "02200059");try {ps = con.prepareStatement("select * from user");rs = ps.executeQuery();while(rs.next()) {User user = new User();user.setId(rs.getInt("user_id"));user.setName(rs.getString("user_name"));user.setPassword(rs.getString("user_password"));user.setSex(rs.getInt("user_sex"));user.setAge(rs.getInt("user_age"));user.setTel(rs.getString("user_tel"));user.setLoc(rs.getString("user_loc"));user.setRole(rs.getInt("user_role"));list.add(user);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return list;}//插入数据public boolean insertUser(User user) {con = DBUtil.getDB("supermarket", "root", "02200059");String sql = "insert into user values(?,?,?,?,?,?,?,?)";try {ps = con.prepareStatement(sql);ps.setInt(1, user.getId());ps.setString(2, user.getName());ps.setString(3, user.getPassword());ps.setInt(4,user.getSex());ps.setInt(5,user.getAge());ps.setString(6, user.getTel());ps.setString(7, user.getLoc());ps.setInt(8, user.getRole());int i = ps.executeUpdate();if(i != 0) {return true;}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return false;}//查询用户名public ArrayList<User> getUser(String username){ArrayList<User> list = new ArrayList<User>();con = DBUtil.getDB("supermarket", "root", "02200059");String sql = "select * from user where user_name = ?";try {ps = con.prepareStatement(sql);ps.setString(1, username);rs = ps.executeQuery();while(rs.next()) {User user = new User();user.setId(rs.getInt("user_id"));user.setName(rs.getString("user_name"));user.setPassword(rs.getString("user_password"));user.setSex(rs.getInt("user_sex"));user.setAge(rs.getInt("user_age"));user.setTel(rs.getString("user_tel"));user.setLoc(rs.getString("user_loc"));user.setRole(rs.getInt("user_role"));list.add(user);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return list;}//查询idpublic ArrayList<User> getUserid(int userid){ArrayList<User> list = new ArrayList<User>();con = DBUtil.getDB("supermarket", "root", "02200059");String sql = "select * from user where user_id = " + userid;try {ps = con.prepareStatement(sql);rs = ps.executeQuery();if(rs.next()) {User user = new User();user.setId(rs.getInt("user_id"));user.setName(rs.getString("user_name"));user.setPassword(rs.getString("user_password"));user.setSex(rs.getInt("user_sex"));user.setAge(rs.getInt("user_age"));user.setTel(rs.getString("user_tel"));user.setLoc(rs.getString("user_loc"));user.setRole(rs.getInt("user_role"));list.add(user);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return list;}//删除public boolean delUser(int userid) {con = DBUtil.getDB("supermarket", "root", "02200059");String sql = "delete from user where user_id = " + userid;try {ps = con.prepareStatement(sql);int i = ps.executeUpdate();if(i != 0) {return true;}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return false;}//修改public boolean alterUser(User user) {con = DBUtil.getDB("supermarket", "root", "02200059");String sql = "update user set user_name = ?, user_password = ?, "+ "user_sex = ?,user_age = ?, user_tel = ?, "+ "user_loc = ? where user_id = ?";try {ps = con.prepareStatement(sql);ps.setString(1, user.getName());ps.setString(2, user.getPassword());ps.setInt(3,user.getSex());ps.setInt(4,user.getAge());ps.setString(5, user.getTel());ps.setString(6, user.getLoc());ps.setInt(7, user.getId());int i = ps.executeUpdate();if(i != 0) {return true;}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return false;}}

四、项目展示

登录页面
在这里插入图片描述
主页面
在这里插入图片描述
账单列表
在这里插入图片描述
用户管理
在这里插入图片描述
供货商管理
在这里插入图片描述
账号管理
在这里插入图片描述

五、源码

因为页面与源码太多了,所以页面与源码只展示了一部分,完整源码已经打包了,点击下面蓝色链接获取!

点我获取源码


http://www.ppmy.cn/embedded/148586.html

相关文章

flutter轮播图控件根据图片高度动态调整图高度

1.图片链接资源需要带有宽高信息 例如&#xff1a;https://zmkx.oss-cn-hangzhou.aliyuncs.com/oss/folder/atui2024-12-231734938007236a30cb975297842d0b3d2b82e4ec7f72b7unhmlcaj4el.jpg?Size1080x2388 在链接中拼接?Size1080x2388携带。 2.获取到数据后切割出宽高 List…

AI 在医疗行业的应用

AI 在医疗行业的应用正在迅速发展&#xff0c;它不仅提升了医疗服务的效率和准确性&#xff0c;还推动了医学研究和患者管理的创新。以下是 AI 在医疗行业的几个主要应用领域&#xff1a; 1. 疾病诊断与早期检测 医学影像分析&#xff1a;AI&#xff0c;尤其是深度学习&#…

I.MX6U 启动方式详解

一、启动方式选择 BOOT 的处理过程是发生在 I.MX6U 芯片上电以后,芯片会根据 BOOT_MODE[1:0]的设置 来选择 BOOT 方式。 BOOT_MODE[1:0]的值是可以改变的,有两种方式,一种是改写 eFUSE(熔 丝),一种是修改相应的 GPIO 高低电平。第一种修改 eFUSE 的方式只能修改一次,后面就…

vue3 前端实现pdf打印预览 printjs

在utils建print.ts文件 interface PrintFunction { extendOptions: Function; getStyle: Function; setDomHeight: Function; toPrint: Function; } const Print function (dom, options?: object): PrintFunction { options options || {}; // ts-expect-error if (!(this …

纯css 实现呼吸灯效果

开始效果 呼吸效果 实现代码 <div class"container"><div class"breathing-light"></div> </div><style>html,body {height: 100%;background-color: white;}.container {padding: 100px;}.container .breathing-light {wi…

微服务openfeign配置重试机制

场景&#xff1a; 1、在实际开发中&#xff0c;通过feign调用其他服务&#xff0c;如果出现read-timeout超时、或调用出现异常 2、如上问题&#xff0c;有时候可能是网络速度、网路抖动等原因导致超时异常&#xff0c;并非程序本身错误&#xff0c;所以可以配置openfeign重试…

【踩坑记录】C编程变量未初始化导致的程序异常

1、在编程的时候养成良好的习惯&#xff0c;定义变量以后记得给变量初始化&#xff0c;不然可能会产生一些意想不到的Bug。 2、比如下面的例子&#xff0c;如果定义的变量没有被初始化就有可能是一个随机值。如果代码少还好&#xff0c;很容易排查出来。但如果是一个比较大的项…

【华为OD-E卷-狼羊过河 100分(python、java、c++、js、c)】

【华为OD-E卷-狼羊过河 100分&#xff08;python、java、c、js、c&#xff09;】 题目 羊、狼、农夫都在岸边&#xff0c;当羊的数量小于狼的数量时&#xff0c;狼会攻击羊&#xff0c;农夫则会损失羊。农夫有一艘容量固定的船&#xff0c;能够承载固定数量的动物。 要求求出…