JavaWeb仓库管理系统详解

目录
  • 难度系数(易入)
  • 开发环境
  • 系统功能
  • 角色介绍
  • 表结构介绍
  • 系统模块介绍
    • 系统管理员管理
    • 用户管理
    • 仓库管理
    • 分类管理
    • 物品管理
    • 出入货物管理
    • 修改密码
  • 代码目录
    • java文件
    • 页面
    • 后端分层
  • 总结

系统界面图

难度系数(易入)

因为才有比较基础的语法,对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.代码里面也有部署文档。

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

(0)

相关推荐

  • .NETCore Docker实现容器化与私有镜像仓库管理

    一.Docker介绍 Docker是用Go语言编写基于Linux操作系统的一些特性开发的,其提供了操作系统级别的抽象,是一种容器管理技术,它隔离了应用程序对基础架构(操作系统等)的依赖.相较于虚拟机而言,Docker共享的是宿主机的硬件资源,使用容器来提供独立的运行环境来运行应用.虚拟机则是基于Supervisor(虚拟机管理程序)使用虚拟化技术来提供隔离的虚拟机,在虚拟机的操作系统上提供运行环境!虽然两者都提供了很好的资源隔离,但很明显Docker的虚拟化开销更低! Docker涉及了三个核心

  • Docker私有仓库管理和删除本地仓库中的镜像

    一:Docker私有仓库安装 1. 下载镜像是有镜像仓库: [root@localhost ~]# systemctl start docker #如果已经有镜像了,强制删除原来的镜像的方式如下: [root@xxx-pub /]# docker rmi -f docker.io/registry Untagged: docker.io/registry:latest Untagged: docker.io/registry@sha256:51bb55f23ef7e25ac9b8313b139a

  • 微信开发准备第一步 Maven仓库管理新建WEB项目

    在我们的项目开发中经常会遇到项目周期很长,项目依赖jar包特别多的情况,所以我们经常会在项目中引入Maven插件,建立起Maven项目,今天我就记录一个简单的Maven项目建立的简单流程! (一)Maven基础项目的建立(前提:你的开发工具中已经集成Maven插件) 新建项目-->建立Maven项目-->选择依赖-->项目名称等即可,大致流程如下: 这里要注意的是[第三张图片]和[第四张图片],第四张图片增加一个选项可以将项目名称做到简单修改,参考图[第五张图片],对项目名称有严格要求的

  • JavaWeb仓库管理系统详解

    目录 难度系数(易入) 开发环境 系统功能 角色介绍 表结构介绍 系统模块介绍 系统管理员管理 用户管理 仓库管理 分类管理 物品管理 出入货物管理 修改密码 代码目录 java文件 页面 后端分层 总结 系统界面图 难度系数(易入) 因为才有比较基础的语法,对Java初学者.基础不是太好的小伙伴来说,也是比较容易上手的 后端: 1.使用Java Servlet 本身就是Java语法,无缝链接,也无效更种配置,web.xml轻松配置一次既可. 2.采用C3P0连接数据库,配置文件.代码.jar包

  • Java实现学生管理系统详解流程

    目录 学生管理系统 项目介绍 JavaSwing 功能展示 使用说明 遇到的问题 JavaWeb 功能展示 使用说明 遇到的问题 最后 学生管理系统 前言:这个是大二做的课设(还是学生管理系统…),理论上虽然是4个人一组一起做的,但是,注意这个“但是”,还是我一个人承担了所有…代码和文档基本都是我一个人写的,当初直接肝得吐血,这也是为啥后面的 Web 版部分功能没有完成的原因. 项目介绍 项目分为一个JavaSwing写的GUI桌面应用和一个半成品的Web应用,下图是项目的整体功能结构展示 Ja

  • Django 自定义权限管理系统详解(通过中间件认证)

    1. 创建工程文件, 修改setting.py文件 django-admin.py startproject project_name 特别是在 windows 上,如果报错,尝试用 django-admin 代替 django-admin.py 试试 setting.py 最终的配置文件 import os import sys # Build paths inside the project like this: os.path.join(BASE_DIR, ...) BASE_DIR =

  • Servlet开发JavaWeb工程示例详解

    一.什么是Servlet? Servlet是在服务器上运行的小程序,也就是一个Java类,但比较特殊,不需要new,自动就可以运行.也有创建.垃圾回收和销毁过程.Servlet是JavaWeb的三大组件之一(Servlet.Filter.Listener),它属于动态资源.Servlet的作用是处理请求,服务器会把接收到的请求交给Servlet来处理,在Servlet中通常需要: 接收请求数据: 处理请求: 完成响应. 例如客户端发出登录请求,或者输出注册请求,这些请求都应该由Servlet来完

  • vuex管理状态仓库使用详解

    一.什么是Vuex?  Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化.Vuex 也集成到 Vue 的官方调试工具 devtools extension,提供了诸如零配置的 time-travel 调试.状态快照导入导出等高级调试功能.采用了全局单例模式,将组件的共享状态抽离出来管理,使得组件树中每一个位置都可以获取共享的状态或者触发行为.  那么什么是状态呢?我把状态理解为在没有使用vu

  • Java 实战项目之疫情防控管理系统详解

    目录 ☣基于java疫情防控管理系统 1.登录模块(注册) 2.今日疫情模块 3.防疫管理模块 4.系统管理模块 5.用户模块 ☣基于java疫情防控管理系统 ☣项目介绍:通过对依社区为单位进行人群的管理,以及疫苗的情况,包括小区状况,通过RBAC进行角色与用户之间的权限管理. ☣项目:环境-IDEA.Mysql数据库,Tomcat服务器,SpringMVC,SpringBoot,AOP,拦截器,过滤器,全局异常,RBAC权限控制等. 1.登录模块(注册) 核心代码:service层 @Serv

  • Java 实战项目之疫情人员流动管理系统详解

    一.项目简述 本系统主要实现的功能有: 社区疫情流动人员管理系统,住户管理,出入管理,访客管理,体温录入,高风险警示等等. 二.项目运行 环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持) 项目技术: Springboot+ SpringMVC + MyBatis + Jsp + Html+ JavaScript + JQuery + Ajax + maven等等 系统用户后台管理代

  • JavaWeb会话技术详解与案例

    1.什么是会话: 2.会话技术有哪些: 什么是Cookie? Cookie,有时也用其复数形式 Cookies.类型为"小型文本文件",是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息. 3.cookie学习案例: cookie:是数组,中每个元素有:名称和值, 可以通过名称找到名称对应的元素. 重要: Cookie[] cookies = req.getCookies(); //创建cookie对象

  • C#利用ASP.NET Core开发学生管理系统详解

    目录 涉及知识点 创建项目 登录模块 1. 创建控制器--LoginController 2. 创建登录视图 3. 创建用户模型 4. 创建数据库操作DataContext 5. 创建数据库和表并构造数据 6. 添加数据库连接配置 7. 添加注入信息 8. 运行测试 随着技术的进步,跨平台开发已经成为了标配,在此大背景下,ASP.NET Core也应运而生.本文主要利用ASP.NET Core开发一个学生管理系统为例,简述ASP.NET Core开发的常见知识点,仅供学习分享使用,如有不足之处,

  • C++实现完整功能的通讯录管理系统详解

    目录 一.确定结构体 二.简易菜单 三.为通讯录添加功能 四.各功能与实现详解 功能之添加联系人 功能之显示联系人 功能之查找联系人 功能之修改联系人 功能之删除联系人 功能之清空通讯录 四.源码 五.运行效果 运行效果图 生成可执行程序 结语 一.确定结构体 通讯录里应该存有联系人的信息,包括姓名.性别.电话.地址等等,通讯录也应该有长度,存的联系人要有上限.所以我们这样确定结构体: #define Max 1000 struct person { string m_Name; string

随机推荐