计算机毕业设计 jsp出租车管理系统(ssh) 毕设

演示视频:

https://www.bilibili.com/video/BV1Sa4y1971B/


第四章 系统实现

4.1 SSH2配置

出租车公司管理系统使用的是SSH2框架。Struts2框架实现了MVC模式,层次结构清晰,程序员只需要注重业务逻辑的实现就可以了,这样一来大大的提高了开发的效率; Struts2只要有配置文件,就可以把握住整个系统各个部分之间的关系; Spring框架在没有程序员的情况下就可以自己实现singleton模式。Hibernate框架的可移植性非常好。在开发过程中简洁的HQL语句,减少了JDBC与SQL操作数据库的代码量,使开发难度降低。[14]

所以,SSH2十分适合本系统的开发。在配置SSH2时首先需要创建工程,然后添加struts支持,紧接着进行分包。紧接着添加spring支持和spring配置文件。下面给出具体配置详细分布过程。

4.2 MVC设计模式

4.2.1 MVC介绍

MVC的英文全称是Model-View-Controller,就是把一个应用的输入、输出和处理流程按照模型、视图、控制的方式进行分离,这样一个应用就会被分成三个层次——模型层、控制层、视图层。如图4-2为MVC模式的基本分层图。[15]

2207539245629db1290bc2a26c3228fe.jpeg

图4-2 MVC 模式基本分层图

1.视图(View)

视图代表人机交互界面,就是用户可以清楚看到内容,同时可以参与交互的界面。主要功能实现数据的传输和输出功能,然后在相关页面显示出来,这样用户便可以从视图层获取到有用信息。不同的视图利用不同的方法来呈现需要反应给用户的信息。每一个视图组件都会有一个更新函数,当模型层发生变化的时候这个函数就会被激活。在这个函数被激活以后视图层就会进行更新操作。通过状态查询函数,视图层可以从模型获取数据。

2.模型(Model)

模型层的另一个名字是业务逻辑层,它主要用来封装业务逻辑和业务产生的数据。业务逻辑是软件的核心。用户是无法看到业务逻辑层的,业务逻辑层独立于特定输出表示或者输入模式。用户只能利用控制器来控制业务逻辑层。

3.控制(Controller)

控制层可以理解起到控制整个业务流程的作用,实现View层跟Model层的协同工作。每个视图有一个与之对应的控制器组件。一旦控制器组件接受到某个事件,就会将这个事件翻译成为对模型或者视图的请求。如果控制器的行为取决于模型的状态,那么控制器需要进行变更的时候也需要向模型发出变更请求通知。例如:用户点击确定按钮,确定按钮的事件响应函数将会做出相应的反应来处理用户要求 。

本论文在实现系统时,系统架构使用了MVC设计模式。所以它拥有以下几点优势。

第一,出租车公司管理系统拥有多个视图对应一个模型的能力。这样做可以减少本系统代码量,在进行维护时也减少了工作压力,同时也便于维护。其次,该模型还没有数据显示格式,因此,这些模型可以直接应用到接口。

第二,因为应用程序被分成三个图层,所以有时候改变其中之一将能够满足应用程序的更改。

第三,系统控制层的概念也很有效,因为它把不同的模型和不同的视图组合在一起完成不同的要求,因此,控制层可以说是包含用户请求的权限的概念。

第四,本系统采用的设计模式有利于软件的工程管理。由于每层都有着不同的功能,而每一层不同的应却具有某些相同的特征。利用这样的特点程序员可以工程化、工具化产生管理程序代码。

4.2.2 系统控制模块

出租车管理系统的控制模块控制了各个显示界面的方法调用和事件的处理。下面将列举出几个重要的控制模块。

1.登录模块

管理员要想对系统进行管理,需要首先登录,在登录界面输入用户名和密码进行登入。

程序实现判断是否已经输入了有效的用户名的功能。登录模块主要利用了getHibernateTemplate().find查询方法,对数据库进行查询,判断用户输入的账号和密码是否存在,然后进行跳转。在实现登录功能时,将用户输入的数据与数据库进行比对达到验证密码正确性的目的。实际操作中需要将用户名和密码放入con数组中。然后利用getHibernateTemplate().find方法查询数据库,在进行判断,如果数据存在正确则登录成功,跳转页面,否则登录失败。登录页面效果如图4-3所示。

10cda7dcf3d8abd59148e1789a465055.jpeg

图4-3登录页面界面显示图

2. 各模块增删改功能的实现

本系统对数据的准确性,实时性具有高度要求,所以在系统实现时必须慎重考虑到系统增删改功能。必须符合系统要求。下面给出具体实现增删改的方法。当用户选择数据进行修改操作时,修改的是已有信息而不是新建信息去覆盖原有信息。所有在modify方法中首先查询选择数据的对应ID,然后从数据库中提取出对应的数据进行修改。主要代码如下:

3. 统计功能的实现

出租车管理系统对数据处理时还需要实现统计功能,以达到对司机和车辆收入管理的目的。在统计功能的实现中首先使用到了find查询方法,利用这个方法获取所有司机或者车辆的收入信息,在将他们得收入进行汇总。其中对于司机进行的统计略有不同,司机收入统计支持分段时间统计,通过定义起始时间btimes,和结束etimes。在查询司机收入信息时只获取在起始时间和结束时间这段时间内的收入信息,这样就可以完成分段时间统计。

司机收入统计功能代码如下:

4 查询功能的实现

在实际操作中,数据是十分庞大的,在数以千计的信息中以人力来查找具体信息会十分浪费时间,而且十分不效率。所以,出租车管理系统在操作员录入完数据以后还需要具备查询功能。在程序编写过程中,司机和车辆都有唯一标识,司机为djno,车辆为cpno。这两个变量代表了不同的司机和车辆。当需要进行具体查询时,只需要所有司机和车辆的编号,找到对应的编号。当查询到指定的司机或者车辆的时候就根据编号从数据库中找到对应数据,之后将数据提交给控制层,控制层在将数据显示在视图层上。

查询功能主要代码如下:

4.2.3 模型模块

出租车管理系统的模型层由car.dao,driver.dao,wz.dao,Tadmin.dao等组成,控制模块将数据提供给模型模块,数据经过模型模块处理后,由控制模块控制,显示模块协助显示出来。模型层与控制层是一一对应的。先将视图层车辆管理模块对应的模块层代码介绍:

4.2.4 视图层

出租车管理系统的视图界面有多个视图组成。下面将介绍主要页面并和给出部分页面代码。

1.司机管理模块

管理员可以对司机进行添加。添加操作需要输入司机信息,如姓名,身份证号码,驾驶证,驾龄,电话,工资卡号和基本工资。

本模块支持查询功能,输入司机姓名可以找到该司机,查看司机全部信息。同时输入司机的驾驶证编号也可以查询到司机的基本信息。

在进行数据操作的过程中需要先选中需要修改的数据,然后进行修改。

如图4-4为司机管理模块页面。

3949adb4b2ae1d4f9c32f73788382cd3.jpeg

图4-4司机管理模块页面

界面主要代码如下:

2 车辆信息管理模块

管理员可以对车辆的进行添加操作。添加操作需要输入车辆的基本信息如车牌号码,发动机号和出厂时间。

车辆管理模块查询时根据车牌号码和发动机号进行查询。输入发动机号或者车牌号码都可以对车辆进行查询操作。

车辆管理界面如图4-5所示。

3e03d55ad496373da01302286f7657b2.jpeg

图4-5车辆管理页面视图

3.司机车辆保险管理模块

操作员可以对司机和车辆进行保险管理,可输入司机和车辆保险的信息,记录保险内容,涉保内容和金额。同时,支持增删改操作。

该模块可根据司机姓名或者车辆车牌号码可以查询保险具体内容。

保险管理具体页面视图如图4-6所示。de80c2de604c1aaef9d6c87345f020b6.jpeg

8fadd0870ab33786e5c077e2b8d713e1.jpeg

图4-6保险管理页面视图

4.投诉信息处理模块

实际工作中,公司总会收到客户的投诉,这些投诉可以帮助公司改善体制,警戒员工。所以对于投诉信息必须进行录入管理。

操作员首先对投诉信息进行录入。录入时记录被投诉的司机姓名和车辆车牌号码,这些数据根据后台管理员添加的信息进行操作。然后进行投诉内容录入工作。

结合实际,接到投诉后首先应该进行核实。所以在投诉信息录入之后,需要进行调查报告的录入。

调查投诉内容完毕以后进行处理,再将投诉结果录入。

调查报告和结果的录入是独立的,这样符合实际工作的操作步骤。投诉管理具体页面如图4-7所示。

4056da088d8e0c305dda21747673f13e.jpeg

图4-7投诉管理页面视图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值