【项目实战】仓库信息管理系统(layui+SSM+SpringBoot)3

简介: 【项目实战】仓库信息管理系统(layui+SSM+SpringBoot)

③库存管理

1.库存查询

这个和上面类似,不过这里因为字段较少就没有设置详情,同时为了库存安全,这里并未提供增删改功能,只能供用户查询信息。


w4.png

不过也提供筛选、导出和打印的功能



w3.png

w2.png

w1.png


2.可视化展示


w3.png

④其他管理

这里我只写了仓库增加和材料类型增加


1.材料种类添加


w2.png

2.仓库创建


w1.png

3.个人管理

①我的任务

此处会显示登录用户的未完成任务和已完成任务。


注:这里采取流式加载来懒加载数据



w4.png

点击加载更多会向服务器请求另外所需数据,如果没有则会显示“没有更多了”


w3.png


点击未完成任务,则会进入审核/验收页面


w2.png

w1.png


审核的话需要指定对应仓库的仓管员负责验收任务,同时写下备注,点击审核通过或者不通过。

验收只要写备注以及验收通过或者不通过。



w3.png

②我的申请

在这里可以查看自己提交的申请



w2.png

点击可以查看申请所处的流程阶段,实时查看自己的申请状况。



w1.png

q2.png

③个人信息管理

在这个页面,用户可以查看和修改自己的非敏感信息。



q1.png

w5.png

如果你要对你的绑定邮箱和密码进行修改,则需要进行额外的流程



w4.png

w3.png

4.网站管理

①公告

在这里可以发布公告

w2.png


同时在首页可以查看对应公告


w1.png

q1.png


②人员管理

系统管理员可以查看对应的人员信息


w5.png

可以筛选查询需要的信息


w4.png

可以(批量)删除用户信息,也可以添加用户信息


w3.png

或者编辑修改用户信息


w2.png

还可以导出打印用户信息


w1.png

五、代码结构


1.包结构

这里为了让更多人看懂代码,我讲讲我的代码结构和对应包的意义。

首先是典型的maven结构,main里面是源代码。

w5.png

entity:数据库实体类,与数据库字段一一对应

pojo:封装实体类,用于封装数据库实体类给前端需要的数据

mapper:数据库层,专门与数据库打交道

service:业务层,封装业务逻辑

controller:控制层,控制对应数据和视图,以及做一些参数检查


aop:这里面放的是切面相关的类。这里我就放了一个日志切面类,用于记录日志的

config:配置包,放配置类。这里我放了springMVC的配置类

exception:异常类。这里我定义了自己的异常类MyException

exceptionHandler:异常处理类。这里我用于捕获抛出的异常,同时返回给前端对应的错误信息

intercepter:拦截器类。利用spring的拦截器,用于做用户鉴权与权限控制。

security:安全控制,这个包下我自己实现了一套token机制,详情看我另一篇博文手把手教你用Java实现一套简单的鉴权服务(SpringBoot,SSM)(万字长文)

utils:工具类,封装了一些常用操作


六、做项目时遇到的问题


1.静态资源被拦截

在测试项目过程中,我发现返回的页面都未加载出css下的public.css文件,一开始以为是maven配置的原因导致没把对应的静态文件输出target目录中,但是看了后发现静态文件已经加载进target目录中。

于是查看对应报错信息是404未找到,

w4.png

可对应目录下有相应文件,于是我怀疑是被框架拦截了。

于是搜索相关信息,果然如此。


根据网络上的方法改来改去还是不行(主要是不明白为什么)。

认真思考推测问题的原因后,我把静态文件都放在了static目录下,同时在application.yml中加入了这句,

w3.png

就是告诉springMVC,static开头的是静态文件,你别给我拦截了。

然后我在引用静态文件时都采用static开头的写法


w2.png

做完之后问题成功解决!


2.layui框架动态表格分页的坑

这个也不算坑吧,可能也是我自己没理解,我误把count属性想成了这次请求返回的数据的数量,可实际上是所有数据的条数。仔细想想也确实该如此,不然前端怎么知道该分多少页呢?


3.部署的坑

部署的时候发现访问相应的网页,服务器上报模板未找到,搜了一下发现,返回的路径不该以/开头,当然这么说是不严谨的,这个取决于springMVC的配置

w1.png


这里我配了/,所以路径前加/的话会有两个//,因此无法找到。


七、心得体会


项目从头到尾写下来,感觉锻炼最大的不是我的后端能力,而是我的前端能力!在写页面的过程中,我渐渐开始自己去读对应文档学习前端知识,去编写自己想要的页面,去实现自己想要的功能。最后回过头去看项目,感觉还算不错,而我也摸到了前端的一些门路(当然我前端菜鸟的身份依旧未变)。


最后,附上项目演示地址演示地址,账号123456@qq.com,密码123456。


此项目已开源至gitee,想拿项目去玩玩的可以点击这里查看gitee地址,如果觉得还不错不要忘了star哦!


注:目前项目部分功能并未开发完全,由于期末要上交实验报告,所以介绍的博文我提前发出来了。由于期末很忙(一边准备期末考试,一边安排协会事宜,安排实验室暑假集训)短时间内也并不会去开发完善功能。还有就是我租的阿里云服务器快到期了,到时候估计会重新租个华为云的服务器,所以演示地址可能会失效,如果失效了记得@我一下。


相关文章
|
2月前
|
Java 数据库连接 Maven
springBoot:项目建立&配置修改&yaml的使用&resource 文件夹(二)
本文档介绍了如何创建一个基于Maven的项目,并配置阿里云仓库、数据库连接、端口号、自定义启动横幅及多环境配置等。同时,详细说明了如何使用YAML格式进行配置,以及如何处理静态资源和模板文件。文档还涵盖了Spring Boot项目的`application.properties`和`application.yaml`文件的配置方法,包括设置数据库驱动、URL、用户名、密码等关键信息,以及如何通过配置文件管理不同环境下的应用设置。
264 1
|
2月前
|
NoSQL Java MongoDB
Springboot WebFlux项目结合mongodb进行crud
这篇文章介绍了如何使用Spring Boot WebFlux框架结合MongoDB进行基本的CRUD(创建、读取、更新、删除)操作,包括项目设置、实体类和Repository的创建、控制器的实现以及配置文件的编写。
56 0
Springboot WebFlux项目结合mongodb进行crud
|
1月前
|
Java 应用服务中间件
SpringBoot获取项目文件的绝对路径和相对路径
SpringBoot获取项目文件的绝对路径和相对路径
97 1
SpringBoot获取项目文件的绝对路径和相对路径
|
1月前
|
分布式计算 关系型数据库 MySQL
SpringBoot项目中mysql字段映射使用JSONObject和JSONArray类型
SpringBoot项目中mysql字段映射使用JSONObject和JSONArray类型 图像处理 光通信 分布式计算 算法语言 信息技术 计算机应用
55 8
|
1月前
|
存储 运维 安全
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
42 2
|
2月前
|
JavaScript 前端开发 Java
解决跨域问题大集合:vue-cli项目 和 java/springboot(6种方式) 两端解决(完美解决)
这篇文章详细介绍了如何在前端Vue项目和后端Spring Boot项目中通过多种方式解决跨域问题。
400 1
解决跨域问题大集合:vue-cli项目 和 java/springboot(6种方式) 两端解决(完美解决)
|
1月前
|
JavaScript 前端开发 Java
SpringBoot项目的html页面使用axios进行get post请求
SpringBoot项目的html页面使用axios进行get post请求
54 2
|
1月前
|
前端开发 Java Spring
SpringBoot项目thymeleaf页面支持词条国际化切换
SpringBoot项目thymeleaf页面支持词条国际化切换
71 2
|
1月前
|
JSON Java 数据库
SpringBoot项目使用AOP及自定义注解保存操作日志
SpringBoot项目使用AOP及自定义注解保存操作日志
48 1
|
2月前
|
Java Maven Android开发
eclipse如何导入springboot项目
本文介绍了如何在Eclipse中导入Spring Boot项目。
47 1
eclipse如何导入springboot项目