图书管理系统(6)强制登陆(前端实现)

图书管理系统(6)强制登陆(前端实现)

图书管理系统(6)强制登陆(前端实现)

文章目录

观前提醒:

这个图书管理系统,非常的简陋,仅作为练习使用。不建议大家使用我介绍的 图书管理系统 ,去作为 课程设计。

如果你是第一次点击这篇博客的,需要你将我 图书管理系统 的博客列表中,从这篇开始看:
图书管理系统(1)项目准备,用户登录接口,添加图书接口

无Mybatis版本获取:

这个 图书管理系统 的实现,需要你从我的 gitee上,将 无Mybatis版本 的图书管理系统源代码下载下来。
gitee链接:https://gitee.com/mrbgvhbhjv/java-ee-course/tree/master/%E5%90%8E%E7%AB%AF%E4%BB%A3%E7%A0%81/springboot_bookManage_System

在这里插入图片描述

基于 Mybatis版本 的获取:

如果你想直接获取 基于 Mybatis 完全实现了增删查改功能的图书管理系统,就从我的 gitee 上面获取,下载源代码。
gitee链接:https://gitee.com/mrbgvhbhjv/java-ee-course/tree/master/%E5%90%8E%E7%AB%AF%E4%BB%A3%E7%A0%81/Book_System_20251107

在这里插入图片描述

目录结构:

以防大家会乱,或者我博客写的不详细,各种类的存放位置,我放个目录结构在这里:

在这里插入图片描述


在这里插入图片描述

个人建议:

这篇博客的代码,建议自己敲一下。
跟着我的步骤,使用 无Mybatis版本 的图书管理系统源代码 ,一步一步的将代码实现出来。

这里使用的数据库是 MySQL。
图形化工具:Navicat

虽然,截止到 2026年,cursor,TRAE等 AI工具,能够一键编写代码,甚至一个系统。
但是,如果你不会基础知识,只会让 ai 生成代码,不会看代码,不会修改代码,代码运行报错,你不会解决问题等等。其实,你都不算是一个 Java开发者。

如果我们将 AI工具,对我们的工作效率提升,有巨大的帮助,它一定是一个乘法结算的结果。
你的基础开发能力 × AI工具效率 == 工作效率。

如果你的基础开发能力不行,约等于 0,那么,无论 AI工具效率多高,99倍也好,0 * 99 == 0
所以,只有将我们自己的基础开发能力提升了,使用 AI工具提升效率,才是事半功倍的效果。

1. 前端代码编写

由于加入 强制登录 功能之后,后端返回给前端的数据,也发生了响应的变化:

在这里插入图片描述


所以,前端代码,需要做出相应的调整。

后端开发,不关注前端是如何设计的,所以,前端代码,不进行讲解,需要掌握的是:学会如何使用 ajax发送请求。

1.1 后端 code 的值:

用户未登录,code = -1

在这里插入图片描述

用户登录,code = 200

在这里插入图片描述

1.2 book_list.html:

getBookList方法代码:

function getBookList () { $.ajax({ type: "get", url: "/book/getListByPage" + location.search, success: function (result) { if (result == null || result.code == -1) { alert("用户未登录,请先登录"); location.href = "login.html"; } // 其他情况判断,此处省略 if (result == null || result.data == null){ return; } var data = result.data; var books = data.records; var; for (var book of books) { // 拼接列表 wholeHtml += '<tr>'; wholeHtml += '<td><inputtype="checkbox"name="selectBook"value="' + book.id + '"id="selectBook"class="book-select"></td>'; wholeHtml += '<td>' + book.id + '</td>'; wholeHtml += '<td>' + book.bookName + '</td>'; wholeHtml += '<td>' + book.author + '</td>'; wholeHtml += '<td>' + book.count + '</td>'; wholeHtml += '<td>' + book.price + '</td>'; wholeHtml += '<td>' + book.publish + '</td>'; wholeHtml += '<td>' + book.statusCN + '</td>'; wholeHtml += '<td><divclass="op">'; wholeHtml += '<ahref="book_update.html?bookId=' + book.id + '">修改</a>'; wholeHtml += '<ahref="javascript:void(0)"onclick="deleteBook(' + book.id + ')">删除</a>'; wholeHtml += '</div></td></tr>'; } $("tbody").html(wholeHtml); //翻页信息 $("#pageContainer").jqPaginator({ totalCounts: data.total, //总记录数 pageSize: 10, //每页的个数 visiblePages: 5, //可视页数 currentPage: data.pageRequest.currentPage, //当前页码 first: '<liclass="page-item"><aclass="page-link">首页</a></li>', prev: '<liclass="page-item"><aclass="page-link"href="javascript:void(0);">上一页<\/a><\/li>', next: '<liclass="page-item"><aclass="page-link"href="javascript:void(0);">下一页<\/a><\/li>', last: '<liclass="page-item"><aclass="page-link"href="javascript:void(0);">最后一页<\/a><\/li>', page: '<liclass="page-item"><aclass="page-link"href="javascript:void(0);">{{page}}<\/a><\/li>', //页面初始化和页码点击时都会执行 onPageChange: function (page, type) { if (type == "change") { location.href = "book_list.html?currentPage=" + page; } } }); } }); } 

1.3 测试:

未登录:

在这里插入图片描述

登录:

在这里插入图片描述

登陆后:

在这里插入图片描述

2. 总结:

目前,仅仅是 图书列表展示 页面,进行了强制登录功能的实现,后续,学完 统一功能 这个知识后,再对 图书管理系统,进一步进行完善。

所以,想要实现整个图书管理系统,我们就需要学习 统一功能处理 这个知识点。

最后,如果这篇博客能帮到你的,请你点点赞,有写错了,写的不好的,欢迎评论指出,谢谢!
下一篇博客:统一功能处理(1)拦截器

Read more

【OpenClaw从入门到精通】第01篇:保姆级教程——从零开始搭建你的第一个本地AI助理(2026实测版)

【OpenClaw从入门到精通】第01篇:保姆级教程——从零开始搭建你的第一个本地AI助理(2026实测版)

摘要:本文聚焦2026年开源AI代理工具OpenClaw的本地部署与实操,从核心概念拆解入手,先厘清OpenClaw、Gateway、Skills、ClawHub的关联,再明确硬件系统要求与大模型API-Key准备要点,通过官方一键安装脚本完成本地部署,并配置阿里云百炼API实现大模型对接。以“让AI助理抓取开源中国热门项目”的虚拟实战案例,详细演示Skills调用流程,同时梳理部署中“命令找不到”“API-Key配置失败”等高频问题的解决方法。内容兼顾新手友好性与实操参考性,所有步骤均基于公开技术文档验证,案例为虚拟构建,代码仅作示例未上传GitHub,可指导读者快速搭建本地AI助理并验证核心功能。 优质专栏欢迎订阅! 【DeepSeek深度应用】【Python高阶开发:AI自动化与数据工程实战】【YOLOv11工业级实战】 【机器视觉:C# + HALCON】【大模型微调实战:平民级微调技术全解】 【人工智能之深度学习】【AI 赋能:Python 人工智能应用实战】【数字孪生与仿真技术实战指南】 【AI工程化落地与YOLOv8/v9实战】【C#工业上位机高级应用:高并发通信+性

By Ne0inhk
从玩具到超越 Linux 的开源奇迹:2026 年爆火的 OpenClaw 究竟是什么?

从玩具到超越 Linux 的开源奇迹:2026 年爆火的 OpenClaw 究竟是什么?

🍃 予枫:个人主页 📚 个人专栏: 《Java 从入门到起飞》《读研码农的干货日常》《Java 面试刷题指南》 💻 Debug 这个世界,Return 更好的自己! 如果你在 2026 年的今天还没有听说过 OpenClaw,那你可能正在错过继 ChatGPT 之后,最重要的一次个人生产力革命。 短短几个月内,这个以“龙虾🦞”为吉祥物的开源项目在 GitHub 上狂揽超过 29 万颗 Star,以不可思议的速度超越了霸榜多年的 Linux 和 React,成为人类开源史上最具人气的软件项目。 它到底有何魔力?为什么连 60 多岁的退休工程师都在参加它的线下配置培训班?今天,我们就来硬核解析这个开启了“一人企业(One-person company)”时代的超级数字管家。 告别“你问我答”,拥抱“自主行动” 要理解 OpenClaw,

By Ne0inhk
Flutter for OpenHarmony:mailer — 基于 SMTP 的极速邮件投递服务(适配鸿蒙 HarmonyOS Next ohos)

Flutter for OpenHarmony:mailer — 基于 SMTP 的极速邮件投递服务(适配鸿蒙 HarmonyOS Next ohos)

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net。 前言 在鸿蒙(OpenHarmony)办公 OA 应用中,实现应用内的邮件发送能显著提升业务流效率。mailer 是一款成熟的 SMTP 协议工具,允许鸿蒙应用跳过系统邮件客户端,直接与主流邮件服务器通信,实现纯粹的点对点投递。 一、核心价值 1.1 基础概念 本库完全通过 Dart 的 Socket 连接(这在鸿蒙内部极其通畅)实现了 SMTP(简单邮件传输协议)。 建立安全的 TLS 连接 服务端中继转发 极速返回投递状态 鸿蒙业务打包 HTML 邮件及附件 Mailer 协议转换 指定目标的 SMTP 服务器 最终客户收件邮箱 鸿蒙 UI 提示“

By Ne0inhk
零基础学AI大模型之Milvus部署架构选型+Linux实战:Docker一键部署+WebUI使用

零基础学AI大模型之Milvus部署架构选型+Linux实战:Docker一键部署+WebUI使用

大家好,我是工藤学编程 🦉一个正在努力学习的小博主,期待你的关注实战代码系列最新文章😉C++实现图书管理系统(Qt C++ GUI界面版)SpringBoot实战系列🐷【SpringBoot实战系列】SpringBoot3.X 整合 MinIO 存储原生方案分库分表分库分表之实战-sharding-JDBC分库分表执行流程原理剖析消息队列深入浅出 RabbitMQ-RabbitMQ消息确认机制(ACK)AI大模型零基础学AI大模型之Milvus核心:分区-分片-段结构全解+最佳实践 前情摘要 前情摘要 1、零基础学AI大模型之读懂AI大模型 2、零基础学AI大模型之从0到1调用大模型API 3、零基础学AI大模型之SpringAI 4、零基础学AI大模型之AI大模型常见概念 5、零基础学AI大模型之大模型私有化部署全指南 6、零基础学AI大模型之AI大模型可视化界面 7、零基础学AI大模型之LangChain 8、零基础学AI大模型之LangChain六大核心模块与大模型IO交互链路 9、零基础学AI大模型之Prompt提示词工程 10、零基础学AI大模型之La

By Ne0inhk