首先,我与我的队友一起讨论了一下这次项目的题目。我们决定沿用上个学期在移动开发技术中所用的数据库,做一个面向用户的机票购买网页。
按照小学期中所学到的内容,我们先搭建了spring+springmvc+mybatis的框架,创建实体类,引入需要用到的jar包,对其进行build path,并配置必要的信息。
这次的网页中具体分为三个部分:机票的搜索与订购、订单的查看与退改签、个人信息中对乘客信息的管理。进行分工后,我负责的是对界面的设计部分、机票的搜索与订购部分与订单的查看部分。
对于界面的设计,这一块是我们之前小学期未涉及到的。我先选择看了之前小学期项目中配置背景的default.css文件,更深的了解了对网页图片背景的引用,还可以自定义字体的形式,对字体大小、颜色、样式等具体信息进行设置,在jsp页面只需要调用这种自定义数据就可以实现了。对于这次项目的界面设计,我还在素材的收集与整理过程当中,这次界面设计以简约、大方为主,旨在给用户最直观的体验。
接着就是对内容的设计。由于我们采用已有的数据库,因此只需要先写在mapper.xml对于数据库增删改查等一系列操作的sql文。
对于机票的搜索,我决定分为所有机票的搜索与固定航班的搜索,固定航班的搜索通过对起飞机场、降落机场、起飞日期进行并行查找。可以对搜索到的航班进行航班详细信息查看与订购操作。
对于订单的查看,也分为所有订单的查看与部分订单的查看,部分订单的查看通过对订单日期区间进行查找,查看日期区间内的订单信息。可以对每个订单的详细内容进行查看。
这次的项目,仍然是基于最基本的增删改查操作。相比起小学期遇到的种种困难,针对网页内容实现的推进有条不紊,许多的问题都是曾经遇见过的,因此解决起来也是比较简单的。
而比起人事管理系统而言,这个机票订购系统的关联性更强。查询数据库的时候需要跨越多个数据表;在预定机票的过程中也需要调用许多个不同的表,获取不同的数据来插入新的表,因此逻辑性更强,所以在许多的controller中都用到了forward重定向的方法,来进行多个不同的方法的执行;并且为了同时给多个表提供完整的信息进行创建,在jsp页面提交表单时,用到了很多type为hidden的元素,用来使数据的提供更流畅,这些都是小学期的时候接触较少的一个方面。
同时,我负责的界面设计却是这一次崭新接触的,对于界面的格式、图片的引用又有了新的理解与认识,想必以后也会遇到许多没有遇到过的困难,相信未来在自我的努力与研究过程中,我能够成功克服这些困难,成功完成这项目标。
另外,在我负责的机票订购模块中,我先选择计算出已有订单总数,将总数+1设置为新订单的订单编号。还有获取系统当前时间提交到forder表中,由于我并不是很熟悉javascript中的获取系统当前时间怎么在jsp的body段中调用,最终选择还是使用java语言,采用直接在body中使用java.text.SimpleDateFormat来规定所需的时间格式,再用java.util.Date来获取系统的当前时间,用<%= %>的方式来提交。
对于机票订购的许多的步骤,我选择活用<div style=”display:none”>语句隐藏部分板块与<div style=”display:block”>语句显示部分板块。在开始订购、选择乘客、提交订单、完成订单这几个步骤分别设置一个button,button中除了提交需要提交的表单、显示操作提示的弹窗外,还负责id.style.display=””或者d.style.display=”none”语句来控制不同部分的显示与否,使操作更有连贯性。
做到现在我负责的项目部分大部分已经完成,目前还剩下的主要问题有:如何获取多选框里的乘客信息并分别提取数据、提交表单,生成不同的机票……
总之,比起小学期的磕磕绊绊,这次项目的开发显得更加轻松有条理。相信我们能准时完成预期的项目任务。