202308-啊对对队 实验四:软件开发案例(1)
时间:2023-04-27
本文章向大家介绍202308-啊对对队 实验四:软件开发案例(1),主要内容包括一、实验要求与目的、二、实验内容与步骤、三、实验总结、使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
202308-啊对对队 实验四:软件开发案例(1)
项目 | 内容 |
---|---|
班级博客链接 | 2023春软件工程2020级计算机科学与技术 |
本次作业要求链接 | 实验四:软件开发案例(1)) |
团队名称 | 啊对对队 |
团队课程学习目标 | (1)软件开发环境部署;(2)练习mysql数据库创建和连接访问技术;(3)掌握数据库应用程序开发技术。 |
本次作业在哪些方面帮助团队实现学习目标 | 学习和巩固软件开发相关知识,对优秀案例进行学习和总结 |
团队博客链接 | 啊对对队 |
一、实验要求与目的
-
软件开发环境部署;
-
练习mysql数据库创建和连接访问技术;
-
掌握数据库应用程序开发技术。
二、实验内容与步骤
- 任务1:用户综合管理软件开发环境配置
-
创建用户综合管理软件的Java web项目,项目名称自拟。
-
在项目中添加mysql的驱动支持包并配置c3p0数据库连接池。
-
分别用手工或脚本方式创建mysql数据库及表。
- 创建MySQL数据库及表并添加数据代码展示
- 使用navicat premiumMy MySQL可视化工具查看数据库及表数据
- 创建MySQL数据库及表并添加数据代码展示
-
将用户综合管理软件案例代码导入到项目中。
-
在Tomcat服务器中部署项目。
-
测试运行用户信息的查询、更新、删除、显示等操作。(注:查询,更新等操作依据为用户id号,数据库id号自动增长)
-
对用户信息进行添加操作
-
添加结果显示
-
添加成功
-
添加失败
-
-
对用户信息进行查询操作
-
查询结果显示
- 查询成功
- 查询失败
- 查询成功
-
对用户信息进行更新
-
更新结果显示
-
修改成功
-
修改失败
-
-
对用户进行删除
-
删除结果显示
- 删除成功
- 删除失败
- 删除成功
-
- 任务二:用户综合管理软件增量开发
-
为案例软件开发软件入口主界面,作为查询、更新、删除、显示的功能导航页面。
- 首页
- 导航栏
- 首页
-
为案例软件开发一个新功能,可将excel文件的用户信息批量导入数据库。
- 读取excel表格数据主要代码
-
前台
fileReader.addEventListener("load", ev => { try { var data = ev.target.result; var workbook = XLSX.read(data, { type: "binary" // 以二进制读取得到excel整份表格数据 }); } catch (err) { this.file = null; this.users = []; fileInput.value = ""; alert("文件格式不支持,仅支持Excel工作表文件!"); return; } var fromTo = ""; for (var sheet in workbook.Sheets) { if (workbook.Sheets.hasOwnProperty(sheet)) { fromTo = workbook.Sheets[sheet]["!ref"]; if (fromTo != undefined) { this.users = XLSX.utils.sheet_to_json(workbook.Sheets[sheet]); } } } }); fileReader.readAsBinaryString(this.file);
-
后台获取前台传递的excel表格数据并将数据保存在数据库中
if (!"".equals(usersString)) { JSONArray jsonArray = JSON.parseArray(usersString); List<User> users = new ArrayList<User>(); String msg = ""; for (Object object : jsonArray) { User user = JSON.toJavaObject(JSON.parseObject(object.toString()), User.class); boolean flag = Model.insertUser(user.getUname(), user.getUphone(), user.getUsex(), user.getUage()); if (flag) { msg += user.getUname() + ":添加成功!<br/>"; }else { msg += user.getUname() + ":添加失败, 原因:用户已存在!<br/>"; } users.add(Model.getByPhone(user.getUphone())); } String uString = JSON.toJSONString(users); session.setAttribute("users", uString); session.setAttribute("msg", msg); session.setAttribute("color", "black"); } else { session.setAttribute("msg", "数据不能为空!"); session.setAttribute("color", "red"); } response.sendRedirect("insertShow.jsp");
-
excel表格数据
-
选择excel文件进行添加
选择文件数据回显
结果显示
-
- 读取excel表格数据主要代码
-
将任务1与任务2完成的用户综合管理软件源码上传到团队github仓库。
三、实验总结
- 任务完成时间(单位:h)
任务内容 | 预计花费时间(h) | 实际花费时间(h) |
---|---|---|
1.创建用户综合管理软件的Java web项目,项目名称自拟 | 0.1 | 0.1 |
2.在项目中添加mysql的驱动支持包 | 0.1 | 0.1 |
3.分别用手工或脚本方式创建mysql数据库及表 | 0.5 | 0.2 |
4.将用户综合管理软件案例代码导入到项目中 | 3 | 8 |
5.在Tomcat服务器中部署项目 | 1 | 0.5 |
6.测试运行用户信息的查询、更新、删除、显示等操作 | 2 | 5 |
7.为案例软件开发软件入口主界面,作为查询、更新、删除、显示的功能导航页面 | 0.5 | 0.3 |
8.为案例软件开发一个新功能,可将excel文件的用户信息批量导入数据库 | 1 | 0.5 |
9.将任务1与任务2完成的用户综合管理软件源码上传到团队github仓库 | 0.5 | 0.5 |
2.成员分工
成员 | 分工 |
---|---|
赵嘉旺 | 建立数据库并导入驱动,撰写博客 |
杨炜 | 完成增量开发,并优化项目结构,撰写博客 |
李锋斌 | 创建项目导入案例文件并配置tomcat,撰写博客 |
3.实验心得体会
成员 | 心得体会 |
---|---|
赵嘉旺 | 通过本次实验,我锻炼了自己的Java web开发和MySQL数据库设计与应用的能力,通过团队协作,我也更加了解了团队协作开发的重要性和操作方法。在今后的学习和工作中,我将更加注重协作与沟通,不断提升自己的综合能力。 |
杨炜 | 通过本次实验,我深入学习了Java web的开发技术,以及UI设计的相关知识。在团队合作中,我也更加了解了如何分配任务、分工协作以及相互配合的重要性。通过这次实验,我不仅锻炼了自己的技术能力,也更加了解了团队协作开发的重要性,也加深巩固了自己以前所学的相关知识 |
李锋斌 | 在本次实验中,我学到了如何使用Java web技术和MySQL数据库开发一个用户综合管理软件,并且通过团队协作的方式完成了增量开发。在这个过程中,我发现团队协作对于软件开发来说非常重要,只有相互沟通和配合才能取得好的效果。 |
原文地址:https://www.cnblogs.com/177dui/p/17348388.html
- 趣味理解朴素贝叶斯
- 碎片化 | 第七阶段-11-小明的故事之集群、负载、并发-视频
- 碎片化 | 第五阶段-05-需求变更如何处理-视频
- 浏览器的UI线程
- 碎片化 | 第五阶段-06-BUG如何去处理-视频
- 碎片化 | 第六阶段-04-搭建nginx和Tomcat集群环境-视频
- SQL注入攻防入门详解
- jQuery插件编写步骤详解
- 深入探秘Neutron API
- 碎片化 | 第七阶段-10-session共享解决方案-视频
- CSS选择器是如何确定优先级的?
- JS中控制好this关键字的指向
- 碎片化 | 第四阶段-46-值栈valueStack介绍和原理-视频
- Laravel中运行Gulp任务的利器(一) —— Laravel Elixir简介及入门教程
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Xinetd服务的安装与配置详解
- redis实战第七篇 使用redis工具(redis-cli)搭建redis cluster
- 使用ROS2机器人操作系统进行多机器人编程技术实践(Multi-Robot Programming Via ROS2 )
- 自动化运维实践 | Ansible playbook重用
- 手把手教你打造高效的 Kubernetes 命令行终端
- docker save load export import的区别
- 使用ABAC控制数据访问
- linux 压力测试工具之ab
- 什么是Python Wheels?为什么要关心它?
- Nginx fastcgi_cache权威指南
- 玩转dockerfile
- redis实战第六篇 手动创建redis cluster
- docker容器入门最佳教程
- redis实战第五篇 jedis 连接 redis sentinel详解
- redis实战第四篇 手动容灾故障转移记录