软件工程第一次作业-832402201 曾文涵
一、项目简介使用 Spring Boot、Spring Data JPA、H2 数据库结合原生 HTMLJavaScript 实现简易在线计算器。实现前后端交互前端负责接收用户输入算式通过异步请求提交后端后端完成表达式运算处理各类运算异常将计算记录保存至 H2 数据库支持查看全部历史记录、删除单条历史记录。技术栈后端SpringBootSpring Data JPAH2 数据库exp4j 表达式解析工具前端原生 HTML JavaScript异步 AJAX 请求页面无刷新二、功能说明表达式计算支持加减乘除、括号、小数的数学表达式运算。异常处理除零处理当输入1/0这类除零算式后端识别无穷结果前端展示错误提示。历史持久化合法计算完成后自动保存表达式、运算结果、运算时间存入 H2 数据库。查询历史记录页面加载自动拉取全部历史运算记录展示。删除记录对单条历史记录执行删除操作。H2 控制台可视化查看数据库内部存储的数据。三、项目结构src└── main├── java/com/student/calculator│ ├── CalculationHistory.java // 数据库实体类│ ├── CalculationHistoryRepository.java // JPA数据访问接口│ ├── CalculatorController.java // Controller接口层│ └── CalculatorBackendApplication.java // SpringBoot启动类└── resources├── application.yml // H2、JPA、服务端口配置└── static└── index.html // 前端交互页面四、接口说明请求方式接口地址功能POST/api/calc/compute提交算式执行计算保存运算记录GET/api/calc/history查询全部历史计算记录DELETE/api/calc/history/{id}根据 id 删除一条历史记录五、项目运行步骤IDEA 导入项目使用 JDK17等待 Maven 加载全部依赖。运行启动类CalculatorBackendApplication。浏览器访问http://localhost:8080/index.html使用计算器。H2 数据库控制台访问地址http://localhost:8080/h2consoleJDBC URLjdbc:h2:file:./data/calc_db;DB_CLOSE_ON_EXITFALSE 用户名sa密码六、测试演示截图 1IDEA 项目目录结构截图截图 2正常运算测试输入(12)*5页面输出结果历史列表新增记录截图 3除零测试输入1/0页面红色提示运算错误除数不能为截图 4H2 控制台执行 SQLSELECT * FROM calc_history;展示数据库中存储的计算记录测试过程正常运算输入(12)*5得到结果 15数据存入数据库页面历史列表刷新。除零运算输入1/0捕获除零错误前端展示错误不会保存错误记录。删除功能点击历史记录后的删除按钮对应记录从页面和数据库移除。

相关新闻

AI画布项目换人后难以继续?用最小交接包记录输入、版本和未决项

AI画布项目换人后难以继续?用最小交接包记录输入、版本和未决项

项目交接失败,通常不是文件少,而是关键决定没有被记录:为什么用这张参考图、哪一版提示词有效、哪些问题尚未确认、下一步不能随意改什么。 本文用最小交接包固定输入、输出、版本和未决项,让接手人先理解上下文,再开…

2026/10/4 19:30:28 阅读更多 →
Fast Note Sync Service 性能优化揭秘:滑动窗口流水线让大库全量同步提速 6.64 倍的实现原理

Fast Note Sync Service 性能优化揭秘:滑动窗口流水线让大库全量同步提速 6.64 倍的实现原理

Fast Note Sync Service 性能优化揭秘:滑动窗口流水线让大库全量同步提速 6.64 倍的实现原理 【免费下载链接】fast-note-sync-service High-performance, low-latency note synchronization, online management, and remote REST API service platform. 项目地址…

2026/10/4 19:29:28 阅读更多 →
故障自愈决策闭环安全防线:在 Agent 执行 kubectl 自动修复前设置人工确认门禁

故障自愈决策闭环安全防线:在 Agent 执行 kubectl 自动修复前设置人工确认门禁

故障自愈决策闭环安全防线:在 Agent 执行 kubectl 自动修复前设置人工确认门禁在推广 AIOps 故障自愈(Self-Healing)的过程中,许多团队都经历过同一个从盲目激进到心惊肉跳的心理过程:刚开始搭建好基于大模型的诊断自愈…

2026/10/4 19:29:28 阅读更多 →

最新新闻

无人机电网巡检AI平台落地全解析:架构、模型调参与验收避坑

无人机电网巡检AI平台落地全解析:架构、模型调参与验收避坑

简介:一份面向电力能源行业巡检人员、无人机技术开发者与电网运维决策者的PPT解决方案,系统阐述AI电网巡检平台的建设路径。内容从传统人工巡检效率低、安全隐患大、数据精度不足等痛点切入,结合5G低时延、多光谱传感融合、RTKIMU高精度定位与…

2026/10/4 20:06:57 阅读更多 →
Java俄罗斯方块开发实战:从基础语法到面试通关

Java俄罗斯方块开发实战:从基础语法到面试通关

简介:压缩包内是用 Java 编写的俄罗斯方块小游戏完整源码,定位为 Java 游戏开发入门资料,适合初学 Java、想通过经典小游戏理解面向对象编程、事件处理与游戏循环思想的学生和自学开发者。包内仅有 6 个文件,包含 5 个 .java 源文…

2026/10/4 20:06:57 阅读更多 →
OpenRIG实战:将AI Agent作为基础设施构建生产级应用

OpenRIG实战:将AI Agent作为基础设施构建生产级应用

最近两三周,我的信息流里反复出现同一个词:openrig。GitHub Trending上榜,Hacker News上有讨论串,连几个平时只聊业务的AI群里都有人问“这东西和LangChain到底什么区别”。我把官方文档和源码仓库都过了一遍,又在本地…

2026/10/4 20:06:57 阅读更多 →
2026年腾讯云 618 Hermes Agent/OpenClaw配置Token Plan部署全步骤:把settings改到TaoToken

2026年腾讯云 618 Hermes Agent/OpenClaw配置Token Plan部署全步骤:把settings改到TaoToken

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 20:06:57 阅读更多 →
那行藏在代码里的开关,让我在客户面前圆了一场大谎

那行藏在代码里的开关,让我在客户面前圆了一场大谎

上个月我陪一个客户做版本上线复盘,翻代码的时候无意间看到一行注释,写着"这个开关别动,动了线上出大事"。我当时心里咯噔一下——不是因为发现了什么惊天秘密,而是这句话让我想起自己刚入行那会儿,也被一行…

2026/10/4 20:06:57 阅读更多 →
OpenClaw 搭配 TaoToken:AI大模型赋能数据分析与学术科研的落地大纲

OpenClaw 搭配 TaoToken:AI大模型赋能数据分析与学术科研的落地大纲

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 20:05:56 阅读更多 →

日新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 11:40:45 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 9:43:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/3 9:42:36 阅读更多 →