【校园生活小程序_超详细部署】

校园生活小程序

  • 1 完整小程序源码
  • 2 运行环境
  • 3 初次运行
    • 3.1 启动后端程序
      • 3.1.1 导入项目,找到项目的pom.xml文件,点击ok进行打开。
      • 3.1.2 创建数据库并插入内容
    • 3.1.3 配置项目结构信息
      • 3.1.4 配置Tomcat服务器
      • 3.1.5 正式启动后端项目
      • 3.1.6`出现BUG`
      • 3.1.7 解决方案
  • 链接:[maven项目出错必看](https://blog.csdn.net/weixin_44229726/article/details/134621304)

1 完整小程序源码

github地址:https://github.com/SGY321/ssmbhhdb.git
将代码压缩包下载至本地,解压缩到不包含中文名称的路径中
在这里插入图片描述

2 运行环境

环境Value
开发平台IDEA
开发语言Java
框架ssm
JDK版本JDK1.8
服务器tomcat 8.5以上
数据库mysql 5.7
数据库工具Navicat 11 或者直接使用IDEA
Maven 包apache-maven-3.6.1
--
小程序框架uniapp
小程序开发软件HBuilder X
小程序运行软件微信开发者工具

在Java开发中,SSM框架是指Spring + Spring MVC + MyBatis这三个框架的整合使用。这三个框架分别是Spring框架、Spring MVC框架和MyBatis框架,它们各自具有不同的功能和特点,通过整合使用可以实现更加高效、灵活和易于维护的Java Web应用程序开发。

  • Spring框架是一个轻量级的IoC(控制反转)和AOP(面向切面编程)容器,提供了依赖注入和面向切面编程等功能,可以方便地管理Java应用程序中的对象和依赖关系。
  • Spring MVC框架是Spring框架的一个模块,用于构建Web应用程序的MVC(Model-View-Controller)架构,提供了请求处理器、视图解析器等组件,可以方便地开发Web应用程序。
  • MyBatis框架是一个持久层框架,用于简化数据库操作,通过XML或注解配置SQL语句,提供了对象关系映射(ORM)功能,可以方便地操作数据库。

整合使用SSM框架可以充分发挥各个框架的优势,实现数据持久化、业务逻辑处理和Web界面展示的分离,提高开发效率和代码质量。SSM框架在Java Web开发中被广泛应用,是一种常用的开发模式。

3 初次运行

3.1 启动后端程序

3.1.1 导入项目,找到项目的pom.xml文件,点击ok进行打开。

在这里插入图片描述

3.1.2 创建数据库并插入内容

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
运行成功,数据库内容加载成功
在这里插入图片描述

3.1.3 配置项目结构信息

在这里插入图片描述

在这里插入图片描述
若ssmbhhdb目录下已经有Web则无需添加
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Tomcat服务器需要用到Artifacts,提前设置好
在这里插入图片描述

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

3.1.4 配置Tomcat服务器

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

3.1.5 正式启动后端项目

会产生一个out文件夹,下面就是Artifact里的内容
在这里插入图片描述

3.1.6出现BUG

在这里插入图片描述

404错误通常表示客户端发出了一个请求,但服务器上没有找到请求的资源。这种情况可能由以下几种原因导致:

  1. 文件路径错误:可能是由于客户端请求的文件路径错误,或者文件在服务器上的位置发生了变化,导致服务器无法找到对应的资源。

  2. 文件不存在:请求的文件可能已被删除或移动到其他位置,导致服务器无法找到请求的资源。

  3. 权限问题:服务器可能没有权限访问请求的资源,或者客户端没有权限查看该资源。

  4. 服务器配置错误:错误的服务器配置可能导致无法正确处理客户端的请求,从而返回404错误。

  5. 链接错误:如果是通过链接访问页面,链接可能错误或者失效,导致无法找到目标资源。

  6. 缓存问题:有时候浏览器缓存的旧页面可能导致404错误,尝试清除浏览器缓存或者使用无缓存模式重新加载页面。

  7. 网络问题:网络连接问题可能导致客户端无法正确访问服务器上的资源,从而收到404错误。

解决404错误的方法包括检查文件路径、确认文件是否存在、检查服务器权限设置、检查服务器配置、修复链接错误、清除浏览器缓存以及排除网络问题。如果以上方法无法解决问题,建议查看服务器日志以获取更多详细的错误信息,以便进一步调试和解决问题。

优先检查文件路径问题
1.url是否写错
2.数据库是否连接失败,导致访问失败,从而得不到文件
3.maven的相关配置

3.1.7 解决方案

链接:maven项目出错必看

(1)因为我们起初导入项目是根据pom.xml导入,那么maven会自动选择之前设置的jdk,经检查之前设置的是jdk11,将其设置为jdk8
在这里插入图片描述
在这里插入图片描述

点击应用ok

(2)我所得到的源码pom.xml有误,修改为1.8。(github上为正确的代码)
在这里插入图片描述
在这里插入图片描述

(3)点击图中的旋转符号,reload重新载入maven项目
在这里插入图片描述

(3)启动Tomcat,若失败请重新设置一下之前的Artifact
在这里插入图片描述
启动成功,自动跳转
在这里插入图片描述
管理员账号:abo 管理员密码:abo
多出来out和target目录
在这里插入图片描述

至此后端部署成功,接下来部署小程序

创作不易,如果帮助到你,请点赞支持,谢谢


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/630443.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

小程序框架是智能融媒体平台构建的最佳线路

过去5年,媒体行业一直都在进行着信息化建设向融媒体平台建设的转变。一些融媒体的建设演变总结如下: 新闻终端的端侧内容矩阵建设,如App新闻端,社交平台上的官方媒体等新闻本地生活双旗舰客户端,兼顾主流媒体核心宣传…

【密评】 | 商用密码应用安全性评估从业人员考核题库(09)

Hill密码是重要古典密码之一,其加密的核心思想的是()。 A.线性变换 B.非线性变换 C.循环移位 D.移位 著名的Kerckhoff原则是指()。 A.系统的保密性不但依赖于对加密体制或算法的保密,而且依赖于密钥 B.系统…

深入 Go 语言:使用 math/rand 包实现高效随机数生成

深入 Go 语言:使用 math/rand 包实现高效随机数生成 介绍math/rand 包的核心功能设计哲学应用场景 基础使用方法初始化和种子设置设置种子创建私有随机数生成器 基础函数详解生成整数生成特定范围的整数生成浮点数随机置乱数组 进阶技巧随机数的统计属性生成正态分布…

第83天: 代码审计-PHP 项目RCE 安全调试追踪代码执行命令执行

案例一:CNVD拿1day-RCE命令执行-百家CMS 这里用代码审计系统搜索system,可以利用的是第一种 打开看细节 查找函数引用 查找$_file第一次出现的地方 这个时候就明白了,必须上传文件,然后利用文件名,去执行system命令 …

2024年湖北省安全员-B证证模拟考试题库及湖北省安全员-B证理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年湖北省安全员-B证证模拟考试题库及湖北省安全员-B证理论考试试题是由安全生产模拟考试一点通提供,湖北省安全员-B证证模拟考试题库是根据湖北省安全员-B证最新版教材,湖北省安全员-B证大…

有多少小于当前数字的数字

链接:https://leetcode.cn/problems/how-many-numbers-are-smaller-than-the-current-number/description/ 思路: 最简单的思路来说,就是双重for循环进行遍历,来判断个数, 优化思路,其中一个思路就是递推 …

vue3修改eldialog弹窗css不生效

问题:子组件中的eldialog没有父标签 直接使用如下是不生效的 .el-dialog{ top: 10%; } 解决: 加一个父标签 使用deep深度查询 .dialogClass :deep(.el-dialog) { top: 10%; } 就可以修改了

传输层协议——TCP协议

TCP协议又叫传输控制协议,TCP/IP协议是计算机通信网络中目前使用最多的协议,同时也融入了生活的方方面面,不管是浏览网页使用的http/https协议、物联网设备使用的MQTT/MQTTS协议与下载文件使用的ftp协议、工业以太网中使用的Modbus TCP协议等…

Elasticsearch 搜索引擎实现对文档内容进行快速检索(保姆级教程)

本文主要讲解ES如何从提取文档中提取内容(word、pdf、txt、excel等文件类型),实现快速检索文档内容实现。 特别说明一下,为什么用7.10.0版本,因为在项目中除了精确匹配的要求,也会有模糊查询(关…

k8s二进制部署--多master、负载均衡、高可用

目录 1、环境准备 1.1 服务器配置 1.2 master02 节点部署 2、负载均衡部署 2.1 下载nginx 2.2 修改nginx配置文件 2.3 启动nginx 2.3.1 检查配置文件语法 2.3.2 启动nginx服务,查看已监听6443端口 3. 部署keepalived服务(nginx主机,以nginx01为…

SOP for Oracle 23ai:Python 连接 Oracle 的两种方法

前情回顾 前文介绍了如何使用 python-oracledb 连接 Oracle 23ai 数据库,并演示了如何使用独立连接方式。 其中提到了支持两种连接池: DRCP 和 PRCP。 本文将对这两种连接池做具体演示。 DRCP 和 PRCP 连接池 连接池技术的优点不言而喻: 缩短…

selenium发展史

Selenium Core 2004 年,Thoughtworks 的工程师 Jason Huggins 正在负责一个 Web 应用的测试工作,由于这个项目需要频繁回归,这导致他不得不每天做着重复且低效的工作。为了解决这个困境,Jason 开发了一个运行在 JavaScript 沙箱中…

Python的for循环

for循环 Python中的for循环是一种迭代循环,可以迭代容器中的每一个元素。 for循环结构 示例: users ["汤姆", "艾米", "李华"] for i in users:print(i) 其中i为临时变量,仅在循环中有效;users…

使用可接受gitlab参数的插件配置webhook

jenkins配置 安装Generic Webhook Trigger 配置远程触发令牌 勾选Print post content和Print contributed variables用于打印值 配置gitlab 选择新增webhook 配置webhook http://JENKINS_URL/generic-webhook-trigger/invoke,将JENKINS_URL修改成自己的jenkins地址 先保存…

mysql 查询---多表设计

部分数据 1distinct去重 select distinct job from tb_emp;select * from tb_emp where id in (1,2,3); select * from tb_emp where id between 1 and 5; select * from tb_emp where name like __; #下划线匹配单个字符, %匹配任意多个字符select min(entrydate) from tb_e…

第9章.Keil5-MDK软件简介

目录 0. 《STM32单片机自学教程》专栏 9.1 主界面 9.2 文本格式编辑 9.3 代码提示&语法检测&代码模版 9.4 其他小技巧 9.4.1 TAB 键的妙用 9.4.2 快速定位函数/变量被定义的地方 9.4.3 快速注释与快速消注释 9.4.4 快速打开头文件 9.4.5 查找替换…

C++基础——继承(下)

一、继承与静态成员 基类定义了static 静态成员,则整个继承体系里面只有一个这样的成员。无论派生出多少个子 类,都只有一个 static 成员实例 。 class person { public:person(const char* name "lisi"):_name(name){} public:string _name;…

Trieve实践:好用功的开源RAG

目录 RAG概述 RAG架构 Trieve Trieve介绍 Trieve使用 初始化 自行搭建RAG Trieve是什么,RAG是什么,本文来带你了解。其实在很多产品应用里面都会有RAG,比如ai客服,针对性的智能问答,都是基于RAG实现的 RAG概述 RAG 是一种…

Electron学习笔记(五)

文章目录 相关笔记笔记说明 七、系统1、系统对话框2、自定义窗口菜单3、系统右键菜单4、快捷键(1)、监听网页按键事件 (窗口需处于激活状态)(2)、监听全局按键事件 (窗口无需处于激活状态)(3)、补充:自定义窗口菜单快捷…

力扣刷题 day2

快乐数 202. 快乐数 - 力扣(LeetCode)   图: java // 快乐数 --> 19 > 1^2 9 ^2 82 > 82 > 8 ^ 2 2 ^ 2 ......public boolean isHappy(int n) {// 使用快慢指针int slow n, fast getSum(n);while (slow ! fast) {slow getSum(slo…