JavaWeb仓库管理系统详解

 更新时间:2021年09月01日 11:50:19   作者:编程界明世隐  
这篇文章主要为大家详细介绍了JavaWeb仓库管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

系统界面图

在这里插入图片描述

难度系数(易入)

因为才有比较基础的语法,对Java初学者、基础不是太好的小伙伴来说,也是比较容易上手的

后端:

1.使用Java Servlet 本身就是Java语法,无缝链接,也无效更种配置,web.xml轻松配置一次既可。

2.采用C3P0连接数据库,配置文件、代码、jar包,均已就位,无需二次操作。

3.代码采用Service、Dao分层逻辑,清晰实用,代码简单易懂。

前端:

1.Jsp也是Java语法,无需学习新东西,直接写Java代码。

2.HTML仅仅只需最简单的常用标签的语法,小白也能轻松明白。

3.css只是一点点页面的样式,很容易。

4.JavaScript需要了解基本的语法,学web必备。

5.Jquery是JavaScript的插件库,这里仅仅是用来与后台交互,仅仅会使用 $.post 与后台交互即可。

最重要的,就是通过比较简单、基础的语法,让你了解用Java怎么开发一个web系统,完整的了解整个开发流程,进而提升学习的信心和增加成就感。

开发环境

仅仅是我个人的喜欢用,也可以自己选自己喜欢的

开发工具:eclipse/myEclipse8.5

数据库:mysql 5

web容器:tomcat 6

jdk版本:1.6

系统功能

在这里插入图片描述

角色介绍

1.超级管理员

权限:超级管理员是权限最大的角色,有系统所有的权限。

在这里插入图片描述

2.系统管理员

权限:用户管理、仓库管理、分类管理、物品管理、出入货信息管理、密码管理、登陆模块。

在这里插入图片描述

3.普通用户

权限:权限最小的角色,仅有修改密码、注册登陆登出系统、查看分类、查询货品信息、查询自己的出货信息。

在这里插入图片描述

表结构介绍

用户表

//用户表
CREATE TABLE `user` (
  `id` int(11) NOT NULL auto_increment COMMENT '主键',
  `no` varchar(20) default NULL COMMENT '账号-学生一般用学号',
  `name` varchar(100) not NULL COMMENT '名字',
  `password` varchar(20) not NULL COMMENT '密码',
  `sex` varchar(20) default NULL COMMENT '性别',
  `phone` varchar(20) default NULL COMMENT '电话',
  `role_id` int(11) default NULL COMMENT '角色 0超级管理员,1管理员,2普通用户',
  `isValid` varchar(4) default 'Y' COMMENT '是否有效,Y有效,其他无效',
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

默认插入超级管理员数据

INSERT INTO `user` VALUES ('1', 'sa', '超级管理', '123', '1', '111', '0', 'Y');

菜单表

CREATE TABLE `menu` (
  `id` int(11) NOT NULL,
  `menuCode` varchar(8) default NULL COMMENT '菜单编码',
  `menuName` varchar(16) default NULL COMMENT '菜单名字',
  `menuLevel` varchar(2) default NULL COMMENT '菜单级别',
  `menuParentCode` varchar(8) default NULL COMMENT '菜单的父code',
  `menuClick` varchar(16) default NULL COMMENT '点击触发的函数',
  `menuRight` varchar(8) default NULL COMMENT '权限 0超级管理员,1表示管理员,2表示普通用户,可以用逗号组合使用',
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

默认插入的数据(建议一行行的插入,反正我的mysql一条条的弄,不然后面的中文会乱码)

INSERT INTO `menu` VALUES ('1', '001', '管理员管理', '1', null, 'adminManage', '0');
INSERT INTO `menu` VALUES ('2', '002', '用户管理', '1', null, 'userManage', '0,1');
INSERT INTO `menu` VALUES ('3', '003', '仓库管理', '1', null, 'storageManage', '0,1');
INSERT INTO `menu` VALUES ('4', '004', '物品分类管理', '1', null, 'goodsTypeManage', '0,1,2');
INSERT INTO `menu` VALUES ('5', '005', '物品管理', '1', null, 'goodsManage', '0,1,2');
INSERT INTO `menu` VALUES ('6', '006', '出入库记录', '1', null, 'recordManage', '0,1,2');
INSERT INTO `menu` VALUES ('7', '007', '修改密码', '1', null, 'modPwd', '0,1,2');
INSERT INTO `menu` VALUES ('8', '008', '退出系统', '1', null, 'logout', '0,1,2');

仓库表

CREATE TABLE `storage` (
  `id` int(11) NOT NULL auto_increment COMMENT '主键',
  `name` varchar(100) not NULL COMMENT '仓库名',
  `remark` varchar(1000) default NULL COMMENT '备注',
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

分类表

CREATE TABLE `goodsType` (
  `id` int(11) NOT NULL auto_increment COMMENT '主键',
  `name` varchar(100) not NULL COMMENT '分类名',
  `remark` varchar(1000) default NULL COMMENT '备注',
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

货品表

CREATE TABLE `goods` (
  `id` int(11) NOT NULL auto_increment COMMENT '主键',
  `name` varchar(100) not NULL COMMENT '货名',
  `storage` int(11) not NULL COMMENT '仓库',
  `goodsType` int(11) not NULL COMMENT '分类',
  `count` int(11) default NULL COMMENT '数量',
  `remark` varchar(1000) default NULL COMMENT '备注',
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

出入库记录表

CREATE TABLE `record` (
  `id` int(11) NOT NULL auto_increment COMMENT '主键',
  `goods` int(11) not NULL COMMENT '货品id',
  `userId` int(11)  default NULL COMMENT '取货人/补货人',
   `createtime` datetime default NULL COMMENT '操作时间',   
  `admin_id` int(11) default NULL COMMENT '操作人id',
  `count` int(11) default NULL COMMENT '数量',
  `remark` varchar(1000) default NULL COMMENT '备注',
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

系统模块介绍

系统管理员管理

超级管理员才有的权限,可以增加、修改、删除系统管理员。

在这里插入图片描述

在这里插入图片描述

用户管理

管理员和超管都可以操作,新增、修改、删除等操作。

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

仓库管理

管理员和超管都可以操作,新增、修改、删除等操作。

在这里插入图片描述

分类管理

管理员和超管都可以操作,新增、修改、删除等操作。

在这里插入图片描述

物品管理

管理员和超管都可以操作,新增、修改、删除、出货、补货等操作。

用户 仅仅有查看功能

在这里插入图片描述

在这里插入图片描述

出入货物管理

可以查看到出入库的情况(包含物品、操作人、取货人、时间,数量等,红色负数表示出货、绿色表示补货)。

在这里插入图片描述

修改密码

在这里插入图片描述

代码目录 

java文件

在这里插入图片描述

页面

在这里插入图片描述

后端分层

在这里插入图片描述 

总结

因为有之前类似系统的积累,所以编码效率比较高吧,这也是老程序员的能力,有代码参考 CV 的很快,哈哈!也希望能够给朋友们带来些许帮助!

注意点

1.样式比较简单,可能不太好看,因为没有去花精力做样式。
2.表设计可能不是特别完善、功能也比较简单,自己凭感觉做的。
3.难免会有些bug吧,不过也不是上线用的,参考学习的话我觉得是足够了。
4.代码里面也有部署文档。

 本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • 深入理解Java中的EnumMap和EnumSet

    深入理解Java中的EnumMap和EnumSet

    这篇文章主要介绍了深入理解Java中的EnumMap和EnumSet,一般来说我们会选择使用HashMap来存储key-value格式的数据,考虑这样的特殊情况,一个HashMap的key都来自于一个Enum类,这样的情况则可以考虑使用本文要讲的EnumMap,需要的朋友可以参考下
    2023-11-11
  • Spring boot2+jpa+thymeleaf实现增删改查

    Spring boot2+jpa+thymeleaf实现增删改查

    这篇文章主要介绍了Spring boot2+jpa+thymeleaf实现增删改查,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • 浅谈java面向对象(类,封装,this,构造方法)

    浅谈java面向对象(类,封装,this,构造方法)

    下面小编就为大家带来一篇浅谈java面向对象(类,封装,this,构造方法)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • 一文带你了解SpringBoot的启动原理

    一文带你了解SpringBoot的启动原理

    大家通常只需要给一个类添加一个@SpringBootApplication 注解,然后再加一个main 方法里面固定的写法 SpringApplication.run(Application.class, args);那么spring boot 到底是如何启动服务的呢,接下来咱们通过源码解析,需要的朋友可以参考下
    2023-05-05
  • Springboot mybais配置多数据源过程解析

    Springboot mybais配置多数据源过程解析

    这篇文章主要介绍了Springboot+mybais配置多数据源过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • idea构建web项目的超级详细教程

    idea构建web项目的超级详细教程

    好多朋友在使用IDEA创建项目时,总会碰到一些小问题,下面这篇文章主要给大家介绍了关于idea构建web项目的超级详细教程,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-03-03
  • SpringBoot+Hibernate实现自定义数据验证及异常处理

    SpringBoot+Hibernate实现自定义数据验证及异常处理

    这篇文章主要为大家介绍了SpringBoot如何整合Hibernate自定义数据验证及多种方式异常处理,文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-04-04
  • 详解Spring中Bean的加载的方法

    详解Spring中Bean的加载的方法

    本篇文章主要介绍了Spring中Bean的加载的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • java中的序列化解析

    java中的序列化解析

    这篇文章主要介绍了java中的序列化解析,为了将对象进行网络传输或者是持久化,我们需要将对象的状态信息转换为可以存储或者传输的形式,这个转换的过程就叫序列化,需要的朋友可以参考下
    2023-09-09
  • spring boot定时任务接收邮件并且存储附件的方法讲解

    spring boot定时任务接收邮件并且存储附件的方法讲解

    今天小编就为大家分享一篇关于spring boot定时任务接收邮件并且存储附件的方法讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03

最新评论