xxl-job升级到springboot3.0 导致页面打不开报错)问题

原因:springboot3.0 因为移除了jsp 导致xxl-job不能访问,解决方法如下

1、修改PermissionInterceptor拦截器

package com.xxl.job.admin.controller.interceptor;import com.xxl.job.admin.controller.annotation.PermissionLimit;
import com.xxl.job.admin.core.model.XxlJobUser;
import com.xxl.job.admin.core.util.I18nUtil;
import com.xxl.job.admin.service.LoginService;import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Component;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.AsyncHandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;/*** 权限拦截** @author xuxueli 2015-12-12 18:09:04*/
@Component
public class PermissionInterceptor implements AsyncHandlerInterceptor {@Resourceprivate LoginService loginService;@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {if (!(handler instanceof HandlerMethod)) {return true;	// proceed with the next interceptor}// if need loginboolean needLogin = true;boolean needAdminuser = false;HandlerMethod method = (HandlerMethod)handler;PermissionLimit permission = method.getMethodAnnotation(PermissionLimit.class);if (permission!=null) {needLogin = permission.limit();needAdminuser = permission.adminuser();}if (needLogin) {XxlJobUser loginUser = loginService.ifLogin(request, response);if (loginUser == null) {response.setStatus(302);response.setHeader("location", request.getContextPath()+"/toLogin");return false;}if (needAdminuser && loginUser.getRole()!=1) {throw new RuntimeException(I18nUtil.getString("system_permission_limit"));}request.setAttribute(LoginService.LOGIN_IDENTITY_KEY, loginUser);}return true;	// proceed with the next interceptor}/*** 新增拦截方法* @param request* @param response* @param handler* @param modelAndView* @throws Exception*/@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {// 此处数据是preHandle方法set的loginUser信息Object loginIdentityKey = request.getAttribute("XXL_JOB_LOGIN_IDENTITY");if (null != modelAndView && null != loginIdentityKey) {modelAndView.addObject("XXL_JOB_LOGIN_IDENTITY", loginIdentityKey);}}
}

2、修改common.macro.ftl文件

<#macro commonStyle><#-- favicon --><link rel="icon" href="${request.contextPath}/static/favicon.ico" /><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><!-- Tell the browser to be responsive to screen width --><meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport"><!-- Bootstrap --><link rel="stylesheet" href="${request.contextPath}/static/adminlte/bower_components/bootstrap/css/bootstrap.min.css"><!-- Font Awesome --><link rel="stylesheet" href="${request.contextPath}/static/adminlte/bower_components/font-awesome/css/font-awesome.min.css"><!-- Ionicons --><link rel="stylesheet" href="${request.contextPath}/static/adminlte/bower_components/Ionicons/css/ionicons.min.css"><!-- Theme style --><link rel="stylesheet" href="${request.contextPath}/static/adminlte/dist/css/AdminLTE.min.css"><!-- AdminLTE Skins. Choose a skin from the css/skins folder instead of downloading all of them to reduce the load. --><link rel="stylesheet" href="${request.contextPath}/static/adminlte/dist/css/skins/_all-skins.min.css"><!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --><!-- WARNING: Respond.js doesn't work if you view the page via file:// --><!--[if lt IE 9]><script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script><script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script><![endif]--><!-- pace --><link rel="stylesheet" href="${request.contextPath}/static/adminlte/bower_components/PACE/themes/blue/pace-theme-flash.css"><#-- i18n --><#global I18n = I18nUtil.getMultString()?eval /></#macro><#macro commonScript><!-- jQuery --><script src="${request.contextPath}/static/adminlte/bower_components/jquery/jquery.min.js"></script><!-- Bootstrap --><script src="${request.contextPath}/static/adminlte/bower_components/bootstrap/js/bootstrap.min.js"></script><!-- FastClick --><script src="${request.contextPath}/static/adminlte/bower_components/fastclick/fastclick.js"></script><!-- AdminLTE App --><script src="${request.contextPath}/static/adminlte/dist/js/adminlte.min.js"></script><!-- jquery.slimscroll --><script src="${request.contextPath}/static/adminlte/bower_components/jquery-slimscroll/jquery.slimscroll.min.js"></script><!-- pace --><script src="${request.contextPath}/static/adminlte/bower_components/PACE/pace.min.js"></script><#-- jquery cookie --><script src="${request.contextPath}/static/plugins/jquery/jquery.cookie.js"></script><#-- jquery.validate --><script src="${request.contextPath}/static/plugins/jquery/jquery.validate.min.js"></script><#-- layer --><script src="${request.contextPath}/static/plugins/layer/layer.js"></script><#-- common --><script src="${request.contextPath}/static/js/common.1.js"></script><script>var base_url = '${request.contextPath}';var I18n = ${I18nUtil.getMultString()};</script></#macro><#macro commonHeader><header class="main-header"><a href="${request.contextPath}/" class="logo"><span class="logo-mini"><b>XXL</b></span><span class="logo-lg"><b>${I18n.admin_name}</b></span></a><nav class="navbar navbar-static-top" role="navigation"><a href="#" class="sidebar-toggle" data-toggle="push-menu" role="button"><span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></a><div class="navbar-custom-menu"><ul class="nav navbar-nav"><#-- login user --><li class="dropdown"><a href="javascript:" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false">${I18n.system_welcome} ${XXL_JOB_LOGIN_IDENTITY.username}<span class="caret"></span></a><ul class="dropdown-menu" role="menu"><li id="updatePwd" ><a href="javascript:">${I18n.change_pwd}</a></li><li id="logoutBtn" ><a href="javascript:">${I18n.logout_btn}</a></li></ul></li></ul></div></nav></header><!-- 修改密码.模态框 --><div class="modal fade" id="updatePwdModal" tabindex="-1" role="dialog"  aria-hidden="true"><div class="modal-dialog "><div class="modal-content"><div class="modal-header"><h4 class="modal-title" >${I18n.change_pwd}</h4></div><div class="modal-body"><form class="form-horizontal form" role="form" ><div class="form-group"><label for="lastname" class="col-sm-2 control-label">${I18n.change_pwd_field_newpwd}<font color="red">*</font></label><div class="col-sm-10"><input type="text" class="form-control" name="password" placeholder="${I18n.system_please_input} ${I18n.change_pwd_field_newpwd}" maxlength="18" ></div></div><hr><div class="form-group"><div class="col-sm-offset-3 col-sm-6"><button type="submit" class="btn btn-primary"  >${I18n.system_save}</button><button type="button" class="btn btn-default" data-dismiss="modal">${I18n.system_cancel}</button></div></div></form></div></div></div></div></#macro><#macro commonLeft pageName ><!-- Left side column. contains the logo and sidebar --><aside class="main-sidebar"><!-- sidebar: style can be found in sidebar.less --><section class="sidebar"><!-- sidebar menu: : style can be found in sidebar.less --><ul class="sidebar-menu"><li class="header">${I18n.system_nav}</li><li class="nav-click <#if pageName == "index">active</#if>" ><a href="${request.contextPath}/"><i class="fa fa-circle-o text-aqua"></i><span>${I18n.job_dashboard_name}</span></a></li><li class="nav-click <#if pageName == "jobinfo">active</#if>" ><a href="${request.contextPath}/jobinfo"><i class="fa fa-circle-o text-yellow"></i><span>${I18n.jobinfo_name}</span></a></li><li class="nav-click <#if pageName == "joblog">active</#if>" ><a href="${request.contextPath}/joblog"><i class="fa fa-circle-o text-green"></i><span>${I18n.joblog_name}</span></a></li><#if XXL_JOB_LOGIN_IDENTITY.role == 1><li class="nav-click <#if pageName == "jobgroup">active</#if>" ><a href="${request.contextPath}/jobgroup"><i class="fa fa-circle-o text-red"></i><span>${I18n.jobgroup_name}</span></a></li><li class="nav-click <#if pageName == "user">active</#if>" ><a href="${request.contextPath}/user"><i class="fa fa-circle-o text-purple"></i><span>${I18n.user_manage}</span></a></li></#if><li class="nav-click <#if pageName == "help">active</#if>" ><a href="${request.contextPath}/help"><i class="fa fa-circle-o text-gray"></i><span>${I18n.job_help}</span></a></li></ul></section><!-- /.sidebar --></aside>
</#macro><#macro commonControl ><!-- Control Sidebar --><aside class="control-sidebar control-sidebar-dark"><!-- Create the tabs --><ul class="nav nav-tabs nav-justified control-sidebar-tabs"><li class="active"><a href="#control-sidebar-home-tab" data-toggle="tab"><i class="fa fa-home"></i></a></li><li><a href="#control-sidebar-settings-tab" data-toggle="tab"><i class="fa fa-gears"></i></a></li></ul><!-- Tab panes --><div class="tab-content"><!-- Home tab content --><div class="tab-pane active" id="control-sidebar-home-tab"><h3 class="control-sidebar-heading">近期活动</h3><ul class="control-sidebar-menu"><li><a href="javascript::;"><i class="menu-icon fa fa-birthday-cake bg-red"></i><div class="menu-info"><h4 class="control-sidebar-subheading">张三今天过生日</h4><p>2015-09-10</p></div></a></li><li><a href="javascript::;"> <i class="menu-icon fa fa-user bg-yellow"></i><div class="menu-info"><h4 class="control-sidebar-subheading">Frodo 更新了资料</h4><p>更新手机号码 +1(800)555-1234</p></div></a></li><li><a href="javascript::;"> <i class="menu-icon fa fa-envelope-o bg-light-blue"></i><div class="menu-info"><h4 class="control-sidebar-subheading">Nora 加入邮件列表</h4><p>nora@example.com</p></div></a></li><li><a href="javascript::;"><i class="menu-icon fa fa-file-code-o bg-green"></i><div class="menu-info"><h4 class="control-sidebar-subheading">001号定时作业调度</h4><p>5秒前执行</p></div></a></li></ul><!-- /.control-sidebar-menu --></div><!-- /.tab-pane --><!-- Settings tab content --><div class="tab-pane" id="control-sidebar-settings-tab"><form method="post"><h3 class="control-sidebar-heading">个人设置</h3><div class="form-group"><label class="control-sidebar-subheading"> 左侧菜单自适应<input type="checkbox" class="pull-right" checked></label><p>左侧菜单栏样式自适应</p></div><!-- /.form-group --></form></div><!-- /.tab-pane --></div></aside><!-- /.control-sidebar --><!-- Add the sidebar's background. This div must be placed immediately after the control sidebar --><div class="control-sidebar-bg"></div>
</#macro><#macro commonFooter ><footer class="main-footer">Powered by <b>XXL-JOB</b> ${I18n.admin_version}<div class="pull-right hidden-xs"><strong>Copyright &copy; 2015-${.now?string('yyyy')} &nbsp;<a href="https://www.xuxueli.com/" target="_blank" >xuxueli</a>&nbsp;<a href="https://github.com/xuxueli/xxl-job" target="_blank" >github</a></strong><!-- All rights reserved. --></div></footer>
</#macro>

3、修改joblog.index.ftl文件

<!DOCTYPE html>
<html>
<head><#import "../common/common.macro.ftl" as netCommon><@netCommon.commonStyle /><!-- DataTables --><link rel="stylesheet" href="${request.contextPath}/static/adminlte/bower_components/datatables.net-bs/css/dataTables.bootstrap.min.css"><!-- daterangepicker --><link rel="stylesheet" href="${request.contextPath}/static/adminlte/bower_components/bootstrap-daterangepicker/daterangepicker.css"><title>${I18n.admin_name}</title>
</head>
<body class="hold-transition skin-blue sidebar-mini <#if cookieMap?exists && cookieMap["xxljob_adminlte_settings"]?exists && "off" == cookieMap["xxljob_adminlte_settings"].value >sidebar-collapse</#if> ">
<div class="wrapper"><!-- header --><@netCommon.commonHeader /><!-- left --><@netCommon.commonLeft "joblog" /><!-- Content Wrapper. Contains page content --><div class="content-wrapper"><!-- Content Header (Page header) --><section class="content-header"><h1>${I18n.joblog_name}</h1></section><!-- Main content --><section class="content"><div class="row"><div class="col-xs-2"><div class="input-group"><span class="input-group-addon">${I18n.jobinfo_field_jobgroup}</span><select class="form-control" id="jobGroup"  paramVal="<#if jobInfo?exists>${jobInfo.jobGroup}</#if>" ><#if XXL_JOB_LOGIN_IDENTITY.role == 1><option value="0" >${I18n.system_all}</option>  <#-- 仅管理员支持查询全部;普通用户仅支持查询有权限的 jobGroup --></#if><#list JobGroupList as group><option value="${group.id}" >${group.title}</option></#list></select></div></div><div class="col-xs-2"><div class="input-group"><span class="input-group-addon">${I18n.jobinfo_job}</span><select class="form-control" id="jobId" paramVal="<#if jobInfo?exists>${jobInfo.id}</#if>" ><option value="0" >${I18n.system_all}</option></select></div></div><div class="col-xs-2"><div class="input-group"><span class="input-group-addon">${I18n.joblog_status}</span><select class="form-control" id="logStatus" ><option value="-1" >${I18n.joblog_status_all}</option><option value="1" >${I18n.joblog_status_suc}</option><option value="2" >${I18n.joblog_status_fail}</option><option value="3" >${I18n.joblog_status_running}</option></select></div></div><div class="col-xs-4"><div class="input-group"><span class="input-group-addon">${I18n.joblog_field_triggerTime}</span><input type="text" class="form-control" id="filterTime" readonly ></div></div><div class="col-xs-1"><button class="btn btn-block btn-info" id="searchBtn">${I18n.system_search}</button></div><div class="col-xs-1"><button class="btn btn-block btn-default" id="clearLog">${I18n.joblog_clean}</button></div></div><div class="row"><div class="col-xs-12"><div class="box"><#--<div class="box-header hide"><h3 class="box-title">调度日志</h3></div>--><div class="box-body"><table id="joblog_list" class="table table-bordered table-striped display" width="100%" ><thead><tr><th name="jobId" >${I18n.jobinfo_field_id}</th><th name="jobGroup" >jobGroup</th><#--<th name="executorAddress" >执行器地址</th><th name="glueType" >运行模式</th><th name="executorParam" >任务参数</th>--><th name="triggerTime" >${I18n.joblog_field_triggerTime}</th><th name="triggerCode" >${I18n.joblog_field_triggerCode}</th><th name="triggerMsg" >${I18n.joblog_field_triggerMsg}</th><th name="handleTime" >${I18n.joblog_field_handleTime}</th><th name="handleCode" >${I18n.joblog_field_handleCode}</th><th name="handleMsg" >${I18n.joblog_field_handleMsg}</th><th name="handleMsg" >${I18n.system_opt}</th></tr></thead><tbody></tbody></table></div></div></div></div></section></div><!-- footer --><@netCommon.commonFooter />
</div><!-- 日志清理.模态框 -->
<div class="modal fade" id="clearLogModal" tabindex="-1" role="dialog"  aria-hidden="true"><div class="modal-dialog"><div class="modal-content"><div class="modal-header"><h4 class="modal-title" >${I18n.joblog_clean_log}</h4></div><div class="modal-body"><form class="form-horizontal form" role="form" ><div class="form-group"><label class="col-sm-3 control-label">${I18n.jobinfo_field_jobgroup}:</label><div class="col-sm-9"><input type="text" class="form-control jobGroupText" readonly ><input type="hidden" name="jobGroup" ></div></div><div class="form-group"><label class="col-sm-3 control-label">${I18n.jobinfo_job}:</label><div class="col-sm-9"><input type="text" class="form-control jobIdText" readonly ><input type="hidden" name="jobId" ></div></div><div class="form-group"><label class="col-sm-3 control-label">${I18n.joblog_clean_type}:</label><div class="col-sm-9"><select class="form-control" name="type" ><option value="1" >${I18n.joblog_clean_type_1}</option><option value="2" >${I18n.joblog_clean_type_2}</option><option value="3" >${I18n.joblog_clean_type_3}</option><option value="4" >${I18n.joblog_clean_type_4}</option><option value="5" >${I18n.joblog_clean_type_5}</option><option value="6" >${I18n.joblog_clean_type_6}</option><option value="7" >${I18n.joblog_clean_type_7}</option><option value="8" >${I18n.joblog_clean_type_8}</option><option value="9" >${I18n.joblog_clean_type_9}</option></select></div></div><hr><div class="form-group"><div class="col-sm-offset-3 col-sm-6"><button type="button" class="btn btn-primary ok" >${I18n.system_ok}</button><button type="button" class="btn btn-default" data-dismiss="modal">${I18n.system_cancel}</button></div></div></form></div></div></div>
</div><@netCommon.commonScript />
<!-- DataTables -->
<script src="${request.contextPath}/static/adminlte/bower_components/datatables.net/js/jquery.dataTables.min.js"></script>
<script src="${request.contextPath}/static/adminlte/bower_components/datatables.net-bs/js/dataTables.bootstrap.min.js"></script>
<!-- daterangepicker -->
<script src="${request.contextPath}/static/adminlte/bower_components/moment/moment.min.js"></script>
<script src="${request.contextPath}/static/adminlte/bower_components/bootstrap-daterangepicker/daterangepicker.js"></script>
<script src="${request.contextPath}/static/js/joblog.index.1.js"></script>
</body>
</html>

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024 天池云原生编程挑战赛决赛名单公布,9 月 20 日开启终极答辩

历时 4 个月&#xff0c;2024 天池云原生编程挑战赛决赛名单公布&#xff01; 本届大赛规模创新高&#xff0c;参赛战队达 20000 支&#xff0c; 广覆盖国内外优秀高校和杰出企业&#xff01;吸引了来自北京大学、清华大学等 176 所国内外优秀高校&#xff0c;以及美团、米哈游…

2025年25届必看:如何用Java SpringBoot+Vue搭建大学生成绩量化管理系统?

✍✍计算机毕业编程指导师** ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java…

青岛实训 8月21号 day33

1.设置主从从mysql57服务器 1&#xff09;配置主数据库 [rootmsater_5 ~]# systemctl stop filewalld [rootmsater_5 ~]# setenforce 0 [rootmsater_5 ~]# systemctl disable filewalld [rootmsater_5 ~]# ls anaconda-ks.cfg mysql-5.7.44-linux-glibc2.12-x86_64.tar.g…

怎么摆脱非自然链接?

什么是非自然链接&#xff1f; 非自然链接是人为创建的链接&#xff0c;用于操纵网站在搜索引擎中的排名。非自然链接违反了Google 的准则&#xff0c;网站可能会因此受到惩罚。 它们不是由网站所有者编辑放置或担保的。示例包括带有过度优化锚文本的链接、通过 PR 的广告、嵌…

rancher搭建k8s及jenkins自动化部署

1、准备环境 角色IP用途k8s-rancher-master192.168.3.63master节点k8s-rancher-node01192.168.3.64node节点k8s-rancher-node02192.168.3.66node节点k8s-rancher-server192.168.2.33rancher-server节点注: 服务器名需要配置不同,相同服务器名不能加入node节点 在所有节点进行…

jQuery入门(七)jQuery实现按钮分页

一、分页案例分析 功能分析&#xff1a;使用分页插件&#xff0c;实现分页&#xff0c;效果如下图&#xff1a; 二、实现思路和代码 2.1&#xff09;页面实现分析 1.引入分页插件的样式文件和 js 文件。 2. 定义当前页码和每页显示的条数。(分页必备信息) 3. 调用查询数据…

Express与SQLite集成教程:轻松实现数据库操作

Express使用SQLite的教程可以大致分为以下几个步骤。以下是一个详细的指南&#xff0c;帮助你在Express项目中集成SQLite数据库。 1. 安装必要的库 首先&#xff0c;你需要在你的Express项目中安装sqlite3库。打开终端或命令提示符&#xff0c;切换到你的项目目录&#xff0c…

挂轨巡检机器人在发电厂与煤矿皮带机场景的应用

一、引言 在发电厂和煤矿等重工业领域&#xff0c;皮带机作为关键设备&#xff0c;其运行状态直接关系到生产效率和安全。然而&#xff0c;传统的人工巡检方式不仅效率低下&#xff0c;还存在安全隐患。随着智能巡检技术的不断发展&#xff0c;杭州旗晟智能科技有限公司推出的…

使用mobaxterm连接linux出现连接中断问题

1.问题描述 使用mobaxterm在连接到远程服务器时&#xff0c;如果隔一段时间不进行操作的话&#xff0c;会出现中断连接的现象。 2.解决 为了增强Linux系统的安全性&#xff0c;我们需要在用户输入空闲一段时间后自动断开&#xff0c;这个操作可以由设置TMOUT值来实现。将以下…

HTB-Pennyworth(cve查询 和 exp使用)

前言 各位师傅大家好&#xff0c;我是qmx_07,今天给大家讲解Pennyworth靶场 渗透过程 信息搜集 服务器端口开放了8080http端口 访问网站 服务器使用jenkins cms系统&#xff0c;版本是2.289.1 通过弱口令爆破&#xff0c;账户是root,密码是password 通过命令执行nday 连…

【WPS Excel】复制表格时,提示“图片太大,超过部份将被截去“ 问题

WPS表格 2019版本 升级到 WPS最新版 WPS-支持多人在线协作编辑Word、Excel和PPT文档_WPS官方网站 使用最新版就能够解决这个问题&#xff0c;如果仍旧无法解决可以勾选如下配置 重启Excel解决。 请勾选&#xff1a;文件 - 选项 - 编辑 - 不提示且不压缩文件中的图像

vue 踩坑记录

本地开发没有cookie 解决方案 设置代理&#xff0c;并把changeOrigin设为true proxy的changeOrigin如果设置为false&#xff1a;请求头中host仍然是浏览器发送过来的host&#xff1b; 如果设置成true&#xff1a;发送请求头中host会设置成target。 允许axios请求携带cookie等凭…

celery_control.inspect() 简单使用

celery_control.inspect() 是一个用于检查和管理Celery集群的方法,它属于Celery的 control 模块。inspect() 方法允许你收集有关Celery集群中活动worker的信息,以及执行各种管理任务。通过 inspect() 方法,你可以执行诸如检查活动任务、取消任务、检查心跳等操作。 使用 ce…

自制深度学习推理框架之卷积和池化算子的设计与实现

文章目录 一、池化算子1.1 池化定义1.2 maxpooling实现1.2 1 Forward前向计算1.2.2 GetInstance实例化Layer1.2.3 LayerRegistererWrapper注册算子 二、卷积算子2.1 卷积定义2.2 Im2col优化卷积计算2.3 分组卷积2.4 Im2Col实现2.5 卷积算子实现2.5.1 GEMM实现2.5.2 卷积算子的实…

finalshell 4.5.x在m1mac闪退

使用过程中会出现突然闪退&#xff0c;尤其在定位生产打开一堆窗口的情况下&#xff0c;绝绝子 闪退崩溃日志&#xff1a; Thread 116 Crashed:: Java: pool-4-thread-28 0 libsystem_kernel.dylib 0x18e926600 __pthread_kill 8 1 libsystem_pthread.dyl…

2025届最新:Java SpringBoot搭建大学生竞赛管理系统,一步步实现报名到评审,全程助力校园活动

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

2024 年高教社杯全国大学生数学建模竞赛B题—生产过程中的决策问题(讲解+代码+成品论文助攻)

2024数学建模国赛选题建议团队助攻资料-CSDN博客https://blog.csdn.net/qq_41489047/article/details/141925859本次国赛white学长团队选择的是比较擅长的BC题&#xff0c;选题建议和助攻资料可参见上面这篇博文&#xff0c;本篇博文主要介绍B题—生产过程中的决策问题&#xf…

给大模型加上“记忆”,深入探索 Mem0 项目

背景介绍 在之前的软件应用中&#xff0c;我们总会在应用中保留大量的用户历史操作记录&#xff0c;方便用户下次使用时可以快速查看和复用&#xff0c;甚至基于这些用户记录可以为用户提供个性化的服务。而这些记录往往都保存在传统的结构化或非结构化数据库中。 在大模型的…

electron 客户端 windows linux(麒麟V10)多系统离线打包 最新版 <一>

electron客户端下载、构建、打包在国内网络情况下&#xff0c;绝对不是什么易事。更不要说离线干活&#xff0c;更是难上加难。 这一篇主要讲下windows离线环境下&#xff0c;如何完成electron的下载打包。咱废话不多说&#xff0c;直接上干货。注意&#xff0c;我的大前提是完…

软考真题之软件设计师的程序语言设计题型(上午题)

目录 编程程序和解释程序 相关习题 函数 编译,解释和翻译阶段 符号表 ​编辑 相关习题 ​编辑 词法分析 语法分析 语义分析 目标代码生成 相关习题 中间代码生成 正规式 相关习题 有限自动机 相关习题 上下文无关文法 相关习题 比较偏的真题 编程程序和解…