目录
前言
本周博客我以学生宿舍管理系统为例,在Gitee上下载源码进行本地部署,熟悉该系统的功能,为以后自己独立开发一个系统积累理论知识和实操经验。本博客分为项目部署和学习其中基础知识点
一、项目部署
1.打开数据库
首先打开电脑,然后卒............
然后以管理员的身份打开cmd,输入如下命令打开数据库
net start mysql80
2.在Gitee下载源码
在登录Gitee官网后,直接搜开源代码,我以学生宿舍管理系统为例
点击右边的克隆/下载
注:Tortoise 就是小乌龟,用该工具可以实现更便捷的远程代码克隆到本地,也可以实现代码上传到云端共享(克隆时选中HTTPS进行复制,SSH是Git工具的路径)
Tortoise 工具的下载和使用在之前的博客中已经介绍过了,这里不做过多介绍。克隆好后就可以看到有这么个文件夹
然后把他以拖动的方式在IDEA中打开。一般收藏量多的开源代码,都会有README文件供读者详细了解该系统及如何部署,此系统也不例外。我们按照他所给出的步骤来部署大概率是没有问题
2.1 修改数据库
2.2 配置适配的JDK
ctrl+alt+shift+s 打开项目结构进行配置,如下
2.3 添加模块
还是ctrl+alt+shift+s 打开项目结构,点击模块,点击加号,找到下载的项目
然后点击确定,再点击库中去查看
接着点击Facet,添加依赖
点击确定即可
接着新建工件,如下图
选中之前创建好的项目模块,点击确定
然后将右侧的可用元素添加到输出根下面
最后点击右下方的确定即完成了项目的设置
在项目栏中就可以看到生成了.iml 文件
.iml 是IDEA中的项目文件,用于描述和配置项目的结构、依赖项和其他相关信息,是项目的核心文件之一
2.4 配置 Tomcat 服务器
点击当前文件,编辑配置
点击加号,在添加新配置中找到如下图配置
它会为我们自动匹配要启动的项目
点击运行,就可以启动项目了
该系统有三个模式,我就登录系统管理员作为演示
至此,部署项目的步骤就结束了,下文我来讲讲部署项目时操作不当出现的问题
二、遇到的问题和解决方案
1.HTTP状态404-未找到
当我第一次运行的时候出现了如下图的错误
然后我上网百度,度娘这么说的
然后我猜测应该是在添加模块和配置资源时的那几个步骤出了问题。
2. 原因
facet 中没有 Web 依赖,导致缺少 Web 相关资源(如 HTML、CSS、JavaScript 等)的支持
在运行项目时,我在没有导入facet中的Web依赖就配置Tomcat服务器并运行了项目
这样即使是把可用 lib 项目库移动到输出根下,在运行服务器也是会出现如上图的404错误
就是因为facet中没有导入Web依赖
3.解决方案
在facet中导入Web依赖,如下图
选中模块,点击确定就行。然后在工件中新建工件
然后就可看到如下不可缺少的东西,然后像上文一样的步骤把可用元素添加到输出根中。
这时点击确定,再运行服务器就没什么问题了。其实就是第一次部署的时候,跳过了Facet中Web的导入,才导致的问题
三、介绍该系统的功能
该系统分为三个登录模式:系统管理员、宿舍管理员和学生。下面我来详细介绍各个模式对应的功能和它们之间的联系。
登录页面如上图
输入框中有文字提示,在使用input的text标签中用到了 plcaholder 属性,用来提示输入信息
登录后进入该页面,左边是系统管理员对其他管理员的管理
在宿舍管理员管理模式下,点击绿色按钮添加,可以添加宿舍管理员
在学生管理模式下,可以对全部的学生进行信息的修改或者添加学生,在该页面下,可以清晰的看到每个学生对应的宿舍楼和寝室号
在宿舍管理模式下,可以对各个楼栋的管理员进行管理,包括管理员的添加和删除操作,还可以添加新的楼栋
需要注意的是在宿舍管理员模式下,输入对应的用户名就会进入对应的楼栋管理员
然后在学生管理下看2栋楼下有哪些学生
再看缺勤记录,记住这些信息,然后我们进行测试
退出系统,进入宿舍管理系统,进入到小张所在的楼栋管理下,对应的用户名是manager2
可以看到,小张所管理的2栋下的学生和在系统管理员那里看到的一致,在该管理模式下查看的缺勤记录仅限该2栋的学生的信息,而在系统管理模式下查看的缺勤记录是所有楼栋的学生缺勤信息
这里我把王珂珂的缺勤记录删掉,在添加小强的缺勤记录,点击保存
然后在缺勤记录下可以看到小强的缺勤记录,王珂珂的缺勤记录已被删除
再回到系统管理员模式下,查看缺勤记录
可以看到缺勤记录已同步
而学生模式下,就只有查看自己缺勤记录和修改密码两个功能
个人总结:该系统各方面都比较完善,但可以适当增加一些其他功能,如在学生模式下增加设备报修功能、最近楼栋的公告等,在宿舍管理模式下也可以增加宿舍卫生评分系统,用线下考核,线上评分机制,实现更为方便地文明寝室评分。
四、学习该系统的基础知识点
1. 技术栈
该系统基于JSP+servlet+JavaBean 进行开发
百度解释:
- JSP:一种动态网络技术标准。部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者
- servlet:是java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。
- JavaBean 是一种java语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。
接触这些还是过早了............
2. 不同类型的文件
2.1 xml 文件
xml是一种可扩展的标记性语言。它的主要作用包括保存数据、作为项目或模块的配置文件、以及作为网络传输数据的格式。在idea 中有多个 xml 文件,这些文件保存工作区配置,模块信息,运行配置,编译器配置等,保证在不同打开发环境中能保持共享和一致
2.2 lib 文件
lib指项目中使用的库文件,里面可以存放jar包,包含了用户需要的类和方法,帮助开发者构建应用程序
2.3 jar 包
就是 Java 档案文件,本质上 JAR 包是一种 ZIP 压缩文件。用于部署和封装库、组件和插件程序。jar 包实现了代码的复用性和可移植性,能够在各种平台上直接使用。
吾日三省吾身,今天学到了什么今天学到了什么今天学到了什么。好像也什么都没学到,还是先从(睡觉)基础开始吧。