工程实训第一天:从“单干”到“协作”,终于摸到项目的门了
背着电脑走进实训教室时,还以为会像平时上课那样听理论、做习题,直到老师把“校园图书管理系统”的需求文档发到群里,宣布“接下来两周,以4人小组为单位完成开发”,我才反应过来——这次是真要从“写单个功能”升级到“做完整项目”了。
我们小组分工时,我主动认领了“用户登录与图书查询模块”,本以为凭着之前学的JavaWeb和MySQL基础能轻松搞定,结果刚开工就卡了壳。我的任务需要把Servlet、JSP和MySQL结合起来:用户在登录页输入账号密码,Servlet接收请求后去数据库校验,通过后跳转到图书查询页,再根据用户输入的关键词从图书表中查询数据。可当我写完登录的Servlet代码,测试时却一直提示“用户名或密码错误”,反复检查SQL语句和代码逻辑,愣是没找到问题。
“你是不是没处理数据库连接的异常?”队友凑过来看着我的代码,指着DriverManager.getConnection()
那一行说。我这才发现,自己只写了连接语句,没加try-catch处理异常,而且数据库的用户名和密码还写错了一个字母。改完这些再测试,终于成功跳转到了图书查询页。这小小的插曲让我明白,项目开发里没有“单个知识点的孤立应用”,之前学的异常处理、数据库连接这些细节,少一个都不行。
下午的核心问题是“团队协作”。我们一开始各自写自己的模块,等准备整合时才发现,有人用了ArrayList
存数据,有人用了HashMap
;有人把数据库连接信息写死在代码里,有人单独写了工具类。结果整合时各种报错,光是统一数据格式就花了快一个小时。后来我们赶紧开了个小会,约定好统一使用数据库连接工具类、统一数据传输的集合类型,还学着用Git做版本控制,每个人写完代码就提交,避免后续再出现“各写各的”的混乱。
最有成就感的是傍晚时分,我们终于实现了“登录→查询图书→显示结果”的完整流程。当我在登录页输入正确的账号密码,成功看到数据库里的图书信息列表时,突然意识到,工程实训和平时的课后练习完全不同:课后练习是“验证知识点”,而实训是“用知识点解决实际问题”——你不仅要会写代码,还要考虑异常处理、团队协作、代码规范这些“额外的事”。
老师巡场时看到我们的进度,提醒道:“接下来还要考虑权限管理,比如普通用户只能查询,管理员能添加和删除图书,这些都要在现有基础上扩展。”我赶紧在笔记本上记下这个需求,心里已经开始盘算怎么给用户表加role
字段,怎么在Servlet里判断用户角色了。
结束一天的实训,虽然只完成了一个小模块,却比刷十道算法题收获更多。原来真正的项目开发,不是“会写代码就够了”,而是要把零散的知识串联起来,还要学会和队友配合,考虑各种实际场景中的问题。
明天打算先完善图书查询的模糊查询功能,再和队友一起设计权限管理的逻辑。这趟实训就像一场“实战演习”,把课堂上学的理论一点点变成能跑起来的项目,这种从“0到1”搭建的过程,比任何理论学习都更让人印象深刻。