软件工程第一次作业-832402201 曾文涵

发布时间:2026/10/4 19:31:55

软件工程第一次作业-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捕获除零错误前端展示错误不会保存错误记录。删除功能点击历史记录后的删除按钮对应记录从页面和数据库移除。
延伸阅读

更多相关文章

2026/10/4 19:31:55

AI编程插件系统原理:plugin.json、TypeScript SDK与CLI三位一体

1. 项目概述:从“plugins”这个词开始,我们到底在聊什么?“plugins”——这个词最近在开发者圈子里频繁刷屏,但很多人点开搜索结果后反而更迷糊了:它既不是某个具体工具的名字,也不是一个独立软件&#xff…

2026/10/4 19:31:55

Cursor/Codex CLI插件开发指南:plugin.json配置与TypeScript SDK实战

1. 从“plugins”这个词说起:它到底在解决什么问题如果你最近在折腾 Cursor、Codex CLI、Zcode CLI 这类工具,大概率会在某个时刻撞上plugins这个词。它可能出现在配置文件里,可能出现在启动日志里,也可能出现在某个报错信息里&am…

2026/10/4 19:31:55

Linux GRUB 参数配置与启动黑屏

Linux GRUB 参数配置解与启动黑屏 一、GRUB 启动参数概述 Linux 系统的内核启动参数(Kernel Boot Parameters)是系统配置的重要组成部分。这些参数在系统启动早期由引导加载程序(Bootloader)传递给内核,用于控制内核…

2026/10/4 21:47:02

Hindsight:LLM调用审计与回溯中间件

1. 项目概述:Hindsight 不是“事后诸葛亮”,而是一套可落地的 LLM 操作审计与回溯系统 你有没有遇到过这样的情况:调用 OpenAI API 时突然返回 401 Unauthorized: incorrect api key provided ,但你明明刚复制粘贴了新密钥&…

2026/10/4 21:47:02

海康相机调料包正反检测:YOLO数据集制作与训练实战

简介:在方便面生产质检场景中,调料包的正反放置常需自动识别,传统人工目检方式效率较低且易漏检。这份由海康设备拍摄并手动标注的目标检测数据集,面向工业视觉、缺陷检测以及YOLO系列算法开发者,可用于训练区分正常放…

2026/10/4 21:47:02

Halcon动态阈值分割dyn_threshold深度解析:从原理到调参实战

都说做机器视觉的逃不过阈值分割,而阈值分割里最耐玩的,就是Halcon的dyn_threshold。很多刚接触Halcon的朋友,用threshold一把梭,遇到光照不均匀、背景灰度波动大的图就抓瞎。这时候局部阈值就该登场了。dyn_threshold这个算子&am…

2026/10/4 21:47:02

PageIndex 实战:用页码级索引提升 RAG 检索命中率

1. 为什么我会盯上 PageIndex 这个方向做 RAG 的人大概都有过这种体验:文档一多,检索就开始“飘”。明明知识库里躺着答案,向量检索却给你捞回来一堆语义相近但答非所问的段落,最后大模型一本正经地胡说八道。我前阵子接手一个内部…

2026/10/4 21:42:02

omofun动漫|安卓安装|官网入口和追番入门

第一次接触 OmoFun动漫,可以先把它看作一处面向动画爱好者的内容入口:打开后,不必急着寻找某一部作品,不妨先浏览首页推荐、分类栏目与专题信息,了解平台的页面布局,再按自己的兴趣逐步筛选。不同版本的界面…

2026/10/4 0:01:02

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/4 0:01:02

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/4 1:01:05

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* 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 0:01:02

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/4 0:01:02

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/4 1:01:05

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

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

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑