202303-天天向上队 实验五 软件开发案例(2)团队作业
项目 | 内容 |
---|---|
课程班级博客链接 | 2023年春软件工程 |
这个作业要求链接 | 实验五 软件开发案例(2) |
团队名称 | 天天向上队 |
团队的课程学习目标 | (1)理解MVC软件设计模式; (2)练习并掌握JSP+JavaBean+Servlet技术实现的MVC设计模式; 。 |
这个作业在哪些方面帮助团队实现学习目标 | (1)JSP+JavaBean+Servlet技术实现的MVC设计模式; (2)UML建模技术 |
团队博客链接 | 天天向上队团队链接 |
团队项目Github仓库地址链接 | GitHub仓库地址链接 |
任务一 创建学生信息管理的Java web项目
(1)在MySQL中创建数据库:student
(2)在students数据库中创建学生信息表:student
(3)创建Web项目,项目名称为:studentmanager
(4)在项目的src包中创建包model、control、在WebRoot下创建JSP文件夹
(5)在项目中添加MySQL数据库驱动包
(6)在src包中创建entity包存放实体类,创建实体类Student.java,其属性与数据库表的student的字段对应,程序中获取的数据库表student的记录就可存储到Student.java类的对象实例中。
(7)在src包中创建dbutil包存放数据库连接工具类Dbconn.java
(8)分别对案例中四个模块的M、V、C层进行编码,并在项目中的WebRoot/WEB-INF/webWeb.xml中配置control包的6个Servelet控制器。
- 学生信息列表模块:studentlist.jsp(V)、SearchStudent.java(M)、ListStudentServelet.java(C)
- 新增学生信息模块:studentinsert.jsp(V)、InsertStudent.java(M)、InsertStudentServlet.java(C)
- 修改学生信息模块:studentupdate.jsp(V)、SelectStudent.java+UpdateStudent.java(M)、UpStudentServlet.java(修改前)、DoStudentServlet.java(修改后)
- 删除学生信息模块:studentshow.jsp(V)、SelectStudent.java+DeleteStudent.java(M)、ShowStudentServlet.java(删除前)、DeleteStudentServlet.java(删除后)
(9)将项目部署在Tomcat服务器
测试运行学生信息的增加、更新、删除、显示等操作。
-
显示学生信息列表:
-
增加学生信息:
-
删除学生信息:
任务2:学生信息管理软件增量开发
(1)为案例软件开发一个新功能,可将excel文件的学生信息批量导入数据库。
-
excel表格中的学生信息:
-
未导入excel表格前:
-
导入excel表格后:
(2)在项目的WebRoot文件夹下创建一个upload文件夹用于存放用户上传的文件,增加学生信息字段:相片,根据相片字段的信息存储和维护完善案例软件,要求学生相片文件存放在服务器上项目的upload文件夹中,数据库中存放相片的文件名,显示相片时是根据文件名到该文件夹中访问图片文件而实现。
-
在项目的WebRoot文件夹下创建一个upload文件夹:
-
显示图片:
(3)将任务1与任务2的完成的学生信息管理软件源码上传到团队github仓库。
任务3:完成博文作业:
各项任务预计花费时间和实际花费时间
任务内容 | 预计花费时长(min) | 实际花费时长(min) |
---|---|---|
在MySQL中创建数据库:student | 1 | 1 |
在student数据库中创建学生信息表:student | 1 | 3 |
创建Web项目,项目名称为:studentmanager | 5 | 40 |
分别对案例中四个模块的M、V、C层进行编码,并在项目中的WebRoot/WEB-INF/webWeb.xml中配置control包的6个Servelet控制器。 | 8 | 8 |
将项目部署在Tomcat服务器,在浏览器测试运行学生信息的增加、更新、删除、显示等操作 | 10 | 30 |
为案例软件开发一个新功能,可将excel文件的学生信息批量导入数据库 | 30 | 120 |
在项目的WebRoot文件夹下创建一个upload文件夹用于存放用户上传的文件,增加学生信息字段:相片,根据相片字段的信息存储和维护完善案例软件 | 120 | 180 |
将任务1与任务2的完成的学生信息管理软件源码上传到团队github仓库 | 30 | 50 |
完成《实验五 软件开发案例(2)团队作业》团队博文作业 | 60 | 120 |
各项任务成员分工
成员 | 分工 |
---|---|
李* | 创建学生信息管理的Java web项目,添加数据库驱动包并进行数据库链接,Tomcat部署,博客编写 |
王*慧 | 将包导入IDEA配置运行调试,excel文件导入数据库,总结Servelt技术特点 |
米* | 实现增加学生信息字段,上传用户图片功能 |
杨*丽 | 学生信息管理软件源码上传GitHub仓库,总结MVC设计模式特点 |
总结Servlet技术的工作原理
Servlet是运行在Servlet容器中的,由Servlet容器来负责,Servlet实例的查找、创建及整个生命周期的管理。
· Web服务器接到HTTP请求后,Web服务器将请求移交给Servlet容器,Servlet容器首先对所请求的URL进行解析并根据Web.xml配置
· 文件找到相应的处理Servlet,同时将request、response对象传递给它,Servlet通过request对象可知道客户端的请求者请求信息以及其他的信息等
· Servlet在处理完请求后会把所有需返回的信息放入response对象中并返回到客户端,Servlet一旦处理完请求,Servlet容器会刷新response对象,并把控制权重新返回给Web服务器。
总结MVC设计模式的特点
MVC指的是模型-视图-控制器,是一种常用的软件架构模式。在该模式下,应用程序被分为三个不同的部分:数据模型(Model),用户界面(View)和控制器(Controller)。其中,模型负责数据
管理/处理,视图负责呈现数据给用户,控制器协调模型和视图之间的交互,并处理来自用户的请求。这种模式能够提高代码的可维护性、可扩展性和重用性。
解耦性好:MVC模式将应用程序分为三个独立的组件,使它们之间的依赖关系降到最低,提高了应用程序的可维护性和可扩展性。
可重用性好:MVC模式中的每个组件都是相对独立的,可以被其他应用程序重复使用,提高了代码的可重用性。
易于维护:MVC模式中的每个组件都具有清晰的职责和功能,使得应用程序变得易于维护。
每位团队成员总结实验学习心得。
李:在此次团队作业中,我们通过部署软件开发环境IDEA,创建学生信息管理系统studentmanager项目,通过学习JSP+JavaBean+Servlet技术实现了MVC软件设计模式,实现了学生信息系统的增删改查操作。学习到了新的软件设计模式MVC,认识到软件工程这门课程不只是单一的学科,而是和其他学科紧密联系的。通过团队合作交流,我们有了更多的默契和经验,彼此也有了更深层次的了解。
王慧:通过本次实验的完成进一步加强了团队合作,项目组进一步完成了项目的搭建和相对任务的实施。在此次试验过程中由于有先前完成类似项目的经验所以在选定开发软件之后实施相对容易。代码调试过程中出现了包括jdk版本不适配等问题,但通过上网查阅资料使问题得到了解决。excel文件批量导入数据库通过代码的编写得到了功能的实现。项目开发是一个整体的过程,通过团队的互帮互助顺利完成了所有的任务,其中不乏各种难题的出现但所有的问题都是循序渐进的,最终得到了解决。
米:通过本次实验,首先我基本理解了MVC软件设计模式并掌握了其用JSP+JavaBean+Servlet技术的实现,其次我们以小组讨论的方式总结了Servlet技术的工作原理以及MVC设计模式的特点。在实验过程中我们遇到了一些困难,但通过查阅资料和请教他人这些问题基本得到了解决,这也为我们后续实验的进行积累了不少经验。在这个循序渐进对知识和技术掌握的过程中,我们会不断提高自己的能力,团队成员之间的合作也会更加默契。
杨丽:本次项目才用了JSP+JavaBean+Servlet的MVC模式,MVC把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller),我学习到了MVC用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。以及在项目开发的时候首先要了解用户的需求,之后根据需求设计数据库表,编码搭建开发框架等。需要团队成员的配合,进而实现一个完整的项目。