当前位置: 首页 > news >正文

基于SSM的教务管理系统运行教程

文章目录

    • 1、前期必备
      • 1.1、所需软件版本说明
      • 1.2、下载源码
      • 1.3、下载开发工具
      • 1.4、下载JDK并配置环境变量
      • 1.5、安装数据库和数据库管理工具
      • 1.6、安装配置Maven
    • 2、将SQL文件导入到数据库
      • 2.1、新建MySQL连接
      • 2.2、新建数据库并导入SQL
    • 3、用Eclipse运行程序
      • 3.1、导入educationalManage项目
      • 3.2、配置Maven
      • 3.3、配置Mysql
      • 3.4、配置Tomcat
      • 3.5、运行educationalManage项目
    • 4、常见问题及解决方式
      • 4.1、项目导入后中文注释乱码问题
      • 4.2、导入后项目名称前有可能出现红叉叉
      • 4.3、Eclipse中Tomcat的add and remove找不到项目
      • 4.4、项目运行时报错:配置应用程序监听器[org.springframework.web.context.ContextLoaderListener]错误
      • 4.5、运行项目时HTTP状态码出现 404、500

1、前期必备

1.1、所需软件版本说明

为避免出现其它问题,建议软件版本跟表中保持一致

软件版本说明
Eclipse2018-09开发工具版本无特殊要求
JDK1.8推荐使用JDK1.8
MySQL5.7.26使用MySQL5.5+,强烈推荐使用MySQL5.7.x
Navicat Premium12.0.16版本无要求
Maven3.6.3版本无要求

1.2、下载源码

本教程用到的源码已经放到网盘了,在公众号【IT学长】回复关键词“20221102”或者“教务管理系统”下载教务管理系统(educationalManage)源码包。

本系统开发设计文档:《基于SSM的教务管理系统设计与实现(附源码下载地址)》

1.3、下载开发工具

作者用目前非常流行的Eclipse开发工具做演示,大家可直接在百度搜索关键词下载。

1.4、下载JDK并配置环境变量

作者使用JDK1.8版本,也建议初学者使用该版本。JDK下载和环境变量配置在百度有很多教程,这里不再重复。

1.5、安装数据库和数据库管理工具

目前作者所有毕设源码数据库都用MySQL5.7版本,强烈建议初学者跟作者保持一致,避免出现其它错误,待运行成功后再根据需要调整数据库版本。

其它版本的MySQL卸载教程和MySQL5.7安装教程请看作者另一篇文章:《MySQL绿色版安装与卸载教程》

数据库管理工具作者用Navicat,没有版本要求,自己在百度搜索,傻瓜式安装即可,也可以用其他数据库管理工具。

1.6、安装配置Maven

本系统用到项目管理工具Maven来统一Jar包版本管理,关于Maven的下载安装和配置教程请阅读作者的另一篇文章:《Maven安装与配置教程》,教程中对每个步骤的描述都很详细,大家根据文章操作就可以了。

做完以上工作后,本系统运行所需的基础软件就准备完成了。

2、将SQL文件导入到数据库

2.1、新建MySQL连接

1、打开安装好的Navicat(数据库管理工具)–》连接 --》MySQL

2、输入相关信息

  • 连接名:自定义(随便起)
  • 主机:使用默认localhost或127.0.0.1
  • 端口:使用默认3306
  • 用户名:填写MySQL的用户名(使用root即可)
  • 密码:填写MySQL的密码(安装时设置的密码)

注意:使用了上面作者提供的数据库安装方式的,密码默认为空!

3、输入以上信息后,先点击“连接测试”看看信息是否正确,正确后点击“确定”。

2.2、新建数据库并导入SQL

1、test 右击–>新建数据库

数据库名:查看“教务管理系统(educationalManage)”源码包,用记事本工具打开educational_manage.sql文件。

下载好的源码包解压后:

注:“教务管理系统(educationalManage)”源码包在本文1.2章节下载

字符集:utf8
排序规则:utf8_general_ci

2、双击新建的数据库–>待数据库名由灰变亮后–>右击数据库名–>运行SQL文件–>选择文件educational_manage.sql -->点击开始–>关闭

注意:SQL文件在下载好的源码包中

3、刷新数据库表后即可看到导入的数据库表了

完成以上步骤后,sql文件已成功导入到数据库中了。

3、用Eclipse运行程序

3.1、导入educationalManage项目

1、打开之前安装好的eclipse开发工具,file --> import -->Maven–>Existing Maven Projects -->Next

2、选择下载好的 educationalManage 即可

3、导入后,如下图所示

3.2、配置Maven

1、打开Eclipse,Window–》Preferences–》Maven–》User Settings–》配置Settings.xml文件路径–》Apply and Close

2、项目名右键–》Run As–》Maven clean–》查看结果

3、项目名右键–》Run As–》Maven install–》查看结果

3.3、配置Mysql

educationalManage --》src–》main–》resources–》db.properties --》修改数据库名、数据库用户名、数据库密码 --》保存

3.4、配置Tomcat

File --》New --》Other --》Server --》Next(配置Tomcat) --》Next(将项目添加到Tomcat)–》Add and Remove

3.5、运行educationalManage项目

看到下图,说明运行成功了

7、打开浏览器输入http://localhost:8080/educationalManage/,输入对应的用户名,密码

  • 系统管理员【用户名:admin 密码:admin】
  • 教师【用户名:1001 密码:1001】
  • 学生【用户名:10001 密码:10001】

4、常见问题及解决方式

4.1、项目导入后中文注释乱码问题

项目导入后出现中文注释乱码问题,如下图所示:

解决方法:改变整个Eclipse工作空间的编码格式

在Window–》Preferences–》General–》Workspace下,面板Text file encoding 选择UTF-8格式(或者从GBK改成 UTF-8)

改变Eclipse工作空间的编码格式后:

4.2、导入后项目名称前有可能出现红叉叉

导入后项目名称前有可能出现红叉叉,这时候不要着急运行项目(运行会报错),根据以下步骤解决。

1、鼠标放到项目名称上右击 --》Build Path -->Configure Build Path

2、点击 Libraries -->检查报错项

上图中,我们看到 JRE System Library[Java](unbound)报错,这是因为未找到 JDK,鼠标放到报错项上 --》点击右侧的Edit按钮 --》选择安装好的JDK(JRE)环境就好了

未选择JDK(JRE)之前如下图:

选择JDK(JRE)之后如下图:

注意:主要检查图片中标红的两项,报错时通常出现:XXXunbound

在这里插入图片描述

  • Apache Tomcat v9.0[Apache Tomcat v9.0](unbound)
  • JRE System Library[jdk](unbound)

若出现以上报错时,直接复制“Apache Tomcat v9.0[Apache Tomcat v9.0](unbound)”去百度。

同样的方式复制“JRE System Library[jdk](unbound)”去百度

4.3、Eclipse中Tomcat的add and remove找不到项目

1、右键项目—>Propertis

2、Project Facets—>将Dynamic Web Module打勾

也可以搜索关键词“Eclipse中Tomcat的add and remove找不到项目”去百度寻求解决方法。

4.4、项目运行时报错:配置应用程序监听器[org.springframework.web.context.ContextLoaderListener]错误

1、报错原因

该项目下所引用的 jar 包没有同步到 lib 目录下

2、解决办法

选择所运行的项目>右击Build Path>Configure build path>Deployment Assembly>add>选择Java Build Path Entries>选择Maven Dependencies

4.5、运行项目时HTTP状态码出现 404、500

HTTP状态码 404: 官方解释是服务器找不到请求的网页。本项目中出现404时首先检查访问地址是否正确,其次检查服务是否正常启动(Tomcat)。

HTTP状态码 500: 官方解释是服务器内部错误,服务器遇到错误,无法完成请求。本项目中出现500时表明前端请求已经到达后端服务器,只是在逻辑处理中遇到错误,具体错误原因需要我们查看Eclipse控制台(Console)。特别注意:在本项目中输入用户名和密码后点击登录时出现500状态码,一般是数据库连接失败,MySQL数据库版本高于5.7时会出现上述情况(建议使用MySQL5.7.x)。

以上就是本期的所有内容,关注【IT学长】,跟着学长学IT。

相关文章:

基于SSM的教务管理系统运行教程

文章目录 1、前期必备1.1、所需软件版本说明1.2、下载源码1.3、下载开发工具1.4、下载JDK并配置环境变量1.5、安装数据库和数据库管理工具1.6、安装配置Maven 2、将SQL文件导入到数据库2.1、新建MySQL连接2.2、新建数据库并导入SQL 3、用Eclipse运行程序3.1、导入educationalMa…...

Docker(六)、Docker-compose简单了解

Docker-compose简单了解 一、简单了解-->概述一)、官方提供的容器编排工具:Docker-compose特点:二)、Docker-compose安装三)、浅实践下四).以上步骤遇到问题及解决 一、简单了解–>概述 Docker-comp…...

互联网Java工程师面试题·Java 面试篇·第一弹

目录 1、Java 中能创建 volatile 数组吗? 2、volatile 能使得一个非原子操作变成原子操作吗? 3、volatile 修饰符的有过什么实践? 4、volatile 类型变量提供什么保证? 5、10 个线程和 2 个线程的同步代码,哪个更容…...

基于材料生成优化的BP神经网络(分类应用) - 附代码

基于材料生成优化的BP神经网络(分类应用) - 附代码 文章目录 基于材料生成优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.材料生成优化BP神经网络3.1 BP神经网络参数设置3.2 材料生成算法应用 4.测试结果…...

tcp/ip协议和opc协议对比详解

TCP/IP协议和OPC协议是两种重要的网络协议,它们在不同的网络层级上运行,并为数据传输和通信提供了不同的功能。 TCP/IP协议(Transmission Control Protocol/Internet Protocol,传输控制协议/互联网协议)是互联网通信的…...

H3C交换机 万兆光模块可以插在千兆光口上使用吗?

环境: S6520X-24ST-SI交换机 H3C LSWM1QSTK2万兆40G堆叠线QSFP 问题描述: H3C交换机 万兆光模块可以插在千兆光口上使用吗? 答案: H3C交换机的万兆光模块(10 Gigabit Ethernet Module)通常使用的是SFP…...

安装.net framework报错“...扩展属性不一致”

Windows操作系统中安装.net framework4.8,双击安装文件直接报错“…扩展属性不一致”,最初以为是操作系统补丁没有装全或者是没有管理员权限造成的,但是打了几个补丁,同时以管理员身份运行安装文件后,依然报同样的错误…...

关系数据库-postgresql-基础

文章目录 介绍linux下安装postgresql源码安装 介绍 Postgresql官网开源的关系型数据库; linux下安装 Ubuntu下可以使用apt包管理器安装;参考地址CentOS下可以使用yum包管理器安装;OpenSuse下可以使用zypper包管理器安装;参考地址…...

39 WEB漏洞-XXEXML之利用检测绕过全解

目录 涉及案例pikachu靶场xml数据传输测试-回显、玩法、协议、引入玩法-读文件玩法-内网探针或攻击内网应用(触发漏洞地址)玩法-RCE引入外部实体dtd无回显-读取文件协议-读文件(绕过)xxe-lab靶场登陆框xml数据传输测试-检测发现CTF-Jarvis-OJ-Web-XXE安全…...

X32位汇编和X64位区别无参函数分析(一)

前言 一、X32汇编函数无参无返回分析 二、X64汇编函数无参无返回分析 总结 前言 提示:以下是个人学习总结:如有错误请大神指出来,只供学习参考,本内容使用使用VS2017开发工具:语言是C,需要一些常见的汇编指…...

数据仓库分层

原因 用空间换时间,通过大量的预处理来提升应用系统的用户体验(效率),因此数据仓库会存在大量冗余的数据。如果不分层的话,如果源业务系统的业务规则发生变化将会影响整个数据清洗过程,工作量巨大。通过数…...

华为企业AP开启IPV6包转发

现象&#xff1a; 华为企业AP默认关闭IPV6转发&#xff0c;影响是即便是桥接模式下客户端无法与IPV6网关等设备通信。 web页面无任何相关配置项。 解决&#xff1a; ssh或串口登录&#xff0c;wlan视图下执行sta-ipv6-service enable 开启即可。 <HUAWEI> system-vi…...

mysql 指定库对所有表加tenant_id

mysql 指定库里所有表加tenant_id 由于业务所需&#xff0c;区分公司主体&#xff0c;tenant_id油然而生 但库里表至少几百个&#xff0c;不可能一个一个去加&#xff0c;时间成本&#xff0c;人力成本都很大&#xff0c;所以写一个存储过程函数&#xff0c;对其进行一次性操作…...

uniapp 测试 app 到安卓模拟器部署方法以及常见错误解决 无废话

uniapp 测试 app 到安卓模拟器 1.1 安装安卓模拟器 https://www.yeshen.com/ 1.2 查看安装模拟器端口 右击夜神模拟器属性打开文件位置 在打开的文件夹找到 debugReport 双击运行查看运行出来的端口号 一般都是&#xff1a;62001 1.3 HBuilder 配置 选中项目运行运行到手机…...

Qt作业九

1、思维导图 2、作业 widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTimer> #include <QTime> #include <QTimerEvent> #include <QTextToSpeech>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAME…...

vulkan SDK安装

文章目录 一. vulcan官网二.安装流程 一. vulcan官网 https://vulkan.lunarg.com/sdk/home#windows 二.安装流程 点击下载 双击下载的*.exe进行安装 点击下一步 点击下一步 选择安装位置&#xff0c;点击下一步 点击全选&#xff0c;选择下一步 勾选同意&#xf…...

vscode调试技巧 断言 assert

目录 调试技巧标题debug release介绍调试技巧断点 断点的意思 就是代码执行到断点处停下来&#xff0c;让你去调试。不管前面有多少代码&#xff0c;直接跳到断点处&#xff08;当然前面的已经执行&#xff09;逐过程 不会进入调用函数内部&#xff0c;不管里面怎么执行。 逐语…...

2、Kafka 生产者

3.1 生产者消息发送流程 3.1.1 发送原理 在消息发送的过程中&#xff0c;涉及到了两个线程——main 线程和 Sender 线程。在 main 线程 中创建了一个双端队列 RecordAccumulator。main 线程将消息发送给 RecordAccumulator&#xff0c; Sender 线程不断从 RecordAccumulator 中…...

使用CDN构建读取缓存设计

在构建需要高吞吐量和最小响应时间的系统的API时&#xff0c;缓存几乎是不可避免的。每个在分布式系统上工作的开发人员都曾在某个时候使用过某种缓存机制。在本文中&#xff0c;我们将探讨如何使用CDN构建读取缓存设计&#xff0c;不仅可以优化您的API&#xff0c;还可以降低基…...

windows上下载github上的linux内核项目遇到的问题

问题一&#xff1a;clone的时候报错 Cloning into G:\github\linux... POST git-upload-pack (gzip 27925 to 14032 bytes) remote: Counting objects: 6012062, done. remote: Compressing objects: 100% (1031/1031), done. remote: Total 6012062 (delta 893), reused 342 (…...

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式&#xff0c;可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表&#xff0c;若其中包含环&#xff0c;则输出环的入口节点。 若其中不包含环&#xff0c;则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

【算法训练营Day07】字符串part1

文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接&#xff1a;344. 反转字符串 双指针法&#xff0c;两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...

【2025年】解决Burpsuite抓不到https包的问题

环境&#xff1a;windows11 burpsuite:2025.5 在抓取https网站时&#xff0c;burpsuite抓取不到https数据包&#xff0c;只显示&#xff1a; 解决该问题只需如下三个步骤&#xff1a; 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

【单片机期末】单片机系统设计

主要内容&#xff1a;系统状态机&#xff0c;系统时基&#xff0c;系统需求分析&#xff0c;系统构建&#xff0c;系统状态流图 一、题目要求 二、绘制系统状态流图 题目&#xff1a;根据上述描述绘制系统状态流图&#xff0c;注明状态转移条件及方向。 三、利用定时器产生时…...

免费PDF转图片工具

免费PDF转图片工具 一款简单易用的PDF转图片工具&#xff0c;可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件&#xff0c;也不需要在线上传文件&#xff0c;保护您的隐私。 工具截图 主要特点 &#x1f680; 快速转换&#xff1a;本地转换&#xff0c;无需等待上…...

用递归算法解锁「子集」问题 —— LeetCode 78题解析

文章目录 一、题目介绍二、递归思路详解&#xff1a;从决策树开始理解三、解法一&#xff1a;二叉决策树 DFS四、解法二&#xff1a;组合式回溯写法&#xff08;推荐&#xff09;五、解法对比 递归算法是编程中一种非常强大且常见的思想&#xff0c;它能够优雅地解决很多复杂的…...

【Ragflow】26.RagflowPlus(v0.4.0):完善解析逻辑/文档撰写模式全新升级

概述 在历经半个月的间歇性开发后&#xff0c;RagflowPlus再次迎来一轮升级&#xff0c;正式发布v0.4.0。 开源地址&#xff1a;https://github.com/zstar1003/ragflow-plus 更新方法 下载仓库最新代码&#xff1a; git clone https://github.com/zstar1003/ragflow-plus.…...

【QT】qtdesigner中将控件提升为自定义控件后,css设置样式不生效(已解决,图文详情)

目录 0.背景 1.解决思路 2.详细代码 0.背景 实际项目中遇到的问题&#xff0c;描述如下&#xff1a; 我在qtdesigner用界面拖了一个QTableView控件&#xff0c;object name为【tableView_electrode】&#xff0c;然后【提升为】了自定义的类【Steer_Electrode_Table】&…...

NLP学习路线图(三十四): 命名实体识别(NER)

一、命名实体识别(NER)是什么? 命名实体识别(Named Entity Recognition, NER)是自然语言处理中的一项关键序列标注任务。其核心目标是从非结构化的文本中自动识别出特定类别的名词性短语,并将其归类到预定义的类别中。 核心目标:找到文本中提到的命名实体,并分类。 典…...