汽车租赁系统的设计与实现毕业设计论文_第1页
汽车租赁系统的设计与实现毕业设计论文_第2页
汽车租赁系统的设计与实现毕业设计论文_第3页
汽车租赁系统的设计与实现毕业设计论文_第4页
汽车租赁系统的设计与实现毕业设计论文_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、封面:XX大学毕业设计(论文)题 目: 汽车租赁系统的设计与实现 指导教师: 职称: 学生姓名: 学号: 专 业: 院(系): 完成时间: 年 月 日 目录1.项目背景31.1项目开发目标31.2项目来源31.3开发目标32.项目设计52.1项目总体设计52.2技术框架设计162.3功能模块设计163.项目功能描述183.1项目功能列表183.2项目功能实现194.项目总结344.1项目技术总结344.2技术创新及特点351.项目背景1.1项目开发目标通过开发该项目,加深自己对ssh框架的理解和应用,加强自己对jquery,json的使用,熟练掌握css来为页面进行美化,熟悉oracle数据库

2、的配置和使用。使自己在学校中所学的技术融合在一起、使自己学的更加深入、更加直接,从而让自己能更好的完成项目的编写。1.2项目来源实训项目1.3开发目标1.3.1允许管理人员登录、使用该系统。1.3.2系统根据登录用户的权限生成不同的功能菜单。其中超级管理员的权限最大、可以使用全部功能菜单-(1、用户管理2、客户管理3、汽车管理4、业务管理5、业务统计6、系统管理)。1.3.2允许超级管理员使用用户管理功能、对用户信息进行增、删、改、查等操作。1.3.3允许超级管理员及其他管理人员使用客户管理功能、对客户信息进行增、删、改、查等操作。1.3.4允许超级管理员及其他管理人员使用汽车管理功能、对汽车

3、信息进行增、删、改、查等操作。1.3.5允许超级管理员及其他管理人员使用业务管理功能、对出租单、检查单信息进行增、删、改、查等操作。1.3.6允许超级管理员及其他管理人员使用业务统计功能、对当月应还汽车信息进行查看。同时还可查看汽车信息、出租单信息、用户信息等信息的统一预览。1.3.7允许超级管理员及其他管理人员使用系统管理功能、对角色、日志信息进行增、删、改、查等操作。1.3.8允许用户更改自己的密码。1.3.9没有登录的用户不能使用系统功能。1.3.10软件结构图示:汽车租赁系统用 户 管 理客 户 管 理汽 车 管 理业 务 管 理系 统 管 理业 务 统 计个人信息管理对用户信息的增、

4、删、改、查操作修改自己的密码对日志信息的查看、修改操作对角色信息的增、删、改、查操作显示当月应还汽车相关信息对出租单管理对客户信息的增、删、改、查操作对汽车信息的增、删、改、查操作对检查单管理办理出租业务办理还车业务图1:软件结构图 2.项目设计2.1项目总体设计2.1.1项目设计模式设计 项目使用软件设计模式中的MVC设计模式;其中Model层是普通的java类,该类中只包含属性和属性的get和set方法,而且类中的每个属性均对应数据库表中的一个字段; View层为jsp页面,页面美化是html+css共同完成,为了提高客户体验度,项目中使用jquery框架。 Controller层,有st

5、ruts1框架负责控制,同时整合hibernate,spring框架,共同完成系统业务处理,流程控制。2.1.2项目包设计图2:包模块图图3:页面模块图0 commons包中放与分页相关的类和系统系统静态常量类。0 domain包中放系统的实体类。0 exception包放系统的异常处理类。0 persist包中放持久化操作类。0 service包中放业务处理类。0 web.actions包中放struts1的action类。0 web.filters包中放判断用户是否登录、用户是否有权限的过滤器类。0 web.listener包中放控制用户只能不能同时登录多台。0 web.resources

6、包中放系统properties资源文件。0 js包中放js文件。0 css包中放css文件。0 images包中放项目使用的图片。2.1.3项目功能设计首先有用户登录功能,用户登录后系统根据权限控制功能,为用户生成不同的操作菜单,当用户的操作超出自己权限时系统能拒绝用户操作,并给用户友好的权限不足提示。对于超级管理员,它拥有系统全部的管理功能;包括:1)用户管理 2)客户管理 3)汽车管理 4)业务管理 5)业务统计 6)系统管理 7)修改密码对于其他普通管理员,它的系统权限则是通过超级管理员通过系统管理菜单中的角色管理功能给他授权。对于客户租车业务,系统提供租车人员信息录入、车辆信息查询。最

7、后出租单生成入库,生成出租单等一系列功能。完成租车所需的全部功能。对于客户还车业务,系统提供出租单的信息显示,用户通过可以更改出租单状态、完成还车业务。系统中的车辆信息是用户通过汽车管理菜单中的添加汽车功能录入车辆信息的。同时提供车辆信息的删除、修改、查找等操作。系统中的用户信息是超级管理员通过用户管理菜单中的添加用户功能录入用户信息的。同时提供车辆信息的删除、修改、查找等操作。系统中的客户信息是超级管理员或用户通过客户管理菜单中的添加客户功能录入客户信息的。同时提供客户信息的删除、修改、查找等功能。2.1.4项目流程设计a)登录流程图:js验证登录信息是否通过登录页面开始结束登录action

8、验证用户名/密码等是否正确否是否查询数据库中用户信息、并保持到session中是首页用户访问登录页面action跳转到首页登录流程结束图4:登录流程图b)用户、客户、汽车、出租单、检查单、角色、日志等信息的查询流程图:数据是否满足要求访问相应查询页面、完成查询查询结束、跳转到页面结束开始查询页面js判断查询条件是否都为空提交查询表单查询action,查询条件全为空时、查询全部;否则根据条件查询是否否是显示查询结果页面查询流程结束图5:查询流程图c)用户、客户、汽车、出租单、检查单、角色信息添加流程图:开始结束添加信息页面访问相应添加信息页面、完成添加功能js判断信息是否输入正确提交添加信息表单

9、添加信息action、返回提示信息添加信息页面、显示添加结果信息否添加信息流程结束输出添加结果信息是图6:添加流程图d)用户、客户、汽车、出租单、检查单、角色信息修改流程图:修改信息页面结束开始信息显示页面输出信息js判断信息是否修改提交修改信息表单js判断修改信息是否符合要求修改信息action、返回提示信息、修改是否成功查询信息action显示查询结果页面是否否是是否返回修改信息、查询信息修改流程结束修改流程结束图7:修改流程图e)用户、客户、汽车、角色、日志信息删除流程图:结束开始删除信息action、返回删除结果信息查询信息action、返回查询结果查询结果显示页面提交删除信息的id跳

10、转到查询action返回删除信息、查询信息删除流程结束图8:删除流程图f)用户权限控制流程图:开始权限控制filter、判断用户是否有权限没有权限提示页面结束权限控制拦截器拦截用户访问路径是、拦截器放行、权限控制流程结束否、拒绝用户范围并跳转权限控制流程结束图9:权限控制流程图g)用户退出流程图:开始结束用户退出action、清除session中用户信息并跳转登录页面访问退出action跳转到登录页面退出流程结束图10:退出流程图2.1.5系统数据库设计a)表之间的关联关系:图11:表关系图b)表字段说明表1:用户信息表表名USERS字段名类型长度是否为空主键/外键备注USERNAMEVARC

11、HAR2()40否主键用户名IDENTITYVARCHAR2()40是用户身份证FULLNAMEVARCHAR2()40是全名SEXNUMBER1是性别0男、1女ADDRESSVARCHAR2()40是地址PHONENUMBER40是电话POSITIONVARCHAR2()40是职位名称USERLEVELNUMBER40是外键管理员id、外键关联ROLES表的ROLEIDUSERPWDVARCHAR2()40是密码表2:权限表表名ROLES字段名类型长度是否为空主键/外键备注ROLEIDNUMBER40否主键角色idROLENAMEVARCHAR2()40是角色名称表3:菜单表表名MENUS字

12、段名类型长度是否为空主键/外键备注MENUIDNUMBER40否主键菜单idMENUNAMEVARCHAR2()40是菜单名称MENUURLVARCHAR2()40是菜单路径FATHERIDNUMBER40是父菜单id表4:功能表表名FUNS字段名类型长度是否为空主键/外键备注FUNIDNUMBER40否主键功能idFUNNAMEVARCHAR2()40是功能名称FUNURLVARCHAR2()40是功能路径MENU_IDNUMBER40是外键所属菜单id、管理MENUS表中的MENUID表5表名ROLES_MENUS字段名类型长度是否为空主键/外键备注ROLE_IDNUMBER40否主键、外

13、键角色id、关联ROLES表的主键ROLEIDMENU_IDNUMBER40否主键、外键菜单id、关联MENUS表中的主键MENUID表6:汽车信息表表名CARS字段名类型长度是否为空主键/外键备注CARNUMBERVARCHAR2()40否主键汽车号码CARTYPEVARCHAR2()40是汽车类型COLORVARCHAR2()40是汽车颜色PRICENUMBER40是汽车价格RENTPRICENUMBER40是汽车出租价格DEPOISTNUMBER40是出租保证金ISRENTINGNUMBER1是是否归还0否、1是DESCRIPTIONVARCHAR2()40是汽车描述表7:出租单表表名R

14、ENTTABLE字段名类型长度是否为空主键/外键备注TABLEIDNUMBER40否主键出租单idIMPRESTNUMBER40是预付金SHOULDPAYPRICENUMBER40是应付金额PRICENUMBER40是价格BEGINDATEDATE是开始时间SHOULDRETURNDATEDATE是因归还时间RETURNDATEDATE是归还时间RENTFLAGNUMBER1是是否归还0否、1是CUSTIDVARCHAR2()40是外键客户id、外键关联CUSTOMERS表中的IDENTITYCARIDVARCHAR2()40是外键汽车id外键关联CARS表中的CARNUMBERUSERIDV

15、ARCHAR2()40是外键用户id、外键关联USERS表中的USERNAME表8:检查单表表名CHECKTABLE字段名类型长度是否为空主键/外键备注CHECKIDNUMBER40否主键检查表idCHECKDATEDATE是检查日期FIELDVARCHAR2()40是检查场地PROBLEMVARCHAR2()40是问题PAYINGNUMBER40是支付金额CHECKUSERIDVARCHAR2()40是外键用户表id、外键关联表USERS中的USERNAME字段RENTIDNUMBER40是外键出租单id、外键关联表RENTTABLE中的TABLEID表9:客户信息表表名CUSTOMERS字

16、段名类型长度是否为空主键/外键备注IDENTITYVARCHAR2()40否主键客户身份证号CUSTNAMEVARCHAR2()40是客户姓名SEXNUMBER1是性别ADDRESSVARCHAR2()40是地址PHONENUMBER40是电话CAREERVARCHAR2()40是职业CUSTPWDVARCHAR2()40是密码2.2技术框架设计系统技术框架包含web层:struts1,ORM框架:hibernate,AOP/IOC框架:spring。提高用户体验度使用的Jquery框架。struts1框架在系统中主要负责表单数据封装成实体类的属性值。从而省却程序员调用request.getP

17、aramater()一个个设置属性。同时可以将实体类中的属性值使用struts1的标签显示到表单中。通过配置struts.xml中的action节点可以简单有效的配置程序流程。程序根据action方法的返回值就能完成跳转;用户不用使用request.forward()进行转发或调用response.sendRedict()方法进行重定向。hibernate框架能为程序员很方便的操作实体类到数据库表字段、数据库表字段到实体类属性的映射处理。hibernate框架将实体类的set、list、object处理为数据库表字段之间的外键关联关系、分别处理为1:N,1:1,N:1,N:N等关系。hiber

18、nate框架为了提高系统效率、为用户提供两种抓取策略:立即抓取、延迟加载。配置为延迟加载的抓取策略,hibernate框架会在用户使用到该对象是才想数据库请求数据。这样就能很大程度上提高系统的反应时间和系统利用效率。spring框架为项目各模块之间的解耦提供了很简便的使用。通过spring框架的IOC功能、将个模块所需的bean通过注入方式就行解耦。spring框架同时提供管理bean生命周期的功能。通过spring框架的AOP功能,能很清楚的控制程序流程、完成程序执行的各种数据验证、异常处理等功能。同时spring提供的数据库DDL操作的事物控制、同时提供跨数据库之间的事物控制等强大功能。J

19、query框架为程序员操作html DOM提供简单而强大的支持。Jquery框架同时封装很多种AJAX方法、提高了代码复用程度、和代码编写效率。2.3功能模块设计2.3.1系统功能模块图汽车租赁系统用 户 管 理客 户 管 理汽 车 管 理业 务 管 理系 统 管 理业 务 统 计个人信息管理对用户信息的增、删、改、查操作修改自己的密码对日志信息的查看、修改操作对角色信息的增、删、改、查操作显示当月应还汽车相关信息对出租单管理对客户信息的增、删、改、查操作对汽车信息的增、删、改、查操作对检查单管理办理出租业务办理还车业务图22:功能模块图2.3.2功能模块详细说明表10:功能模块说明表汽车租赁

20、系统序号模块名称子功能备注1登录/退出模块1、登录功能用户使用系统前必须成功登录系统。登录/退出模块为系统基本模块、为系统安全运行提供保障。2、退出功能更改用户的状态、完成日志记录等操作。2权限管理模块规定用户只能操作自己权限内的功能。3用户管理模块1、添加用户功能添加用户信息完成用户信息的增、删、改、查功能2、查询用户功能查询用户信息3、修改用户功能修改用户信息4、删除用户功能删除用户信息4客户管理模块1、添加客户功能添加客户信息完成客户信息的增、删、改、查功能2、查询客户功能查询客户信息3、修改客户功能修改客户信息4、删除客户功能删除客户信息5汽车管理模块1、添加汽车功能添加汽车信息完成汽

21、车信息的增、删、改、查功能2、查询汽车功能查询汽车信息3、修改汽车功能修改汽车信息4、删除汽车功能删除汽车信息6业务管理模块1、出租单管理功能出租单信息的增、删、改、查完成相应业务功能2、检查单管理功能检查单的增、改、查功能3、出租业务功能处理出租业务4、还车业务功能处理还车业务7业务统计模块1、当月应还汽车功能系统统计业务8系统管理模块1、角色管理功能角色信息的增、删、改、查功能系统基础信息管理2、日志管理功能日志信息的查、删功能9个人信息管理模块1、修改密码功能个人信息管理模块3.项目功能描述3.1项目功能列表表11:项目功能列表汽车租赁系统序号功能名称所属模块1登录功能登录/退出模块2退

22、出功能3添加用户功能用户管理模块4删除用户功能5修改用户功能6查询用户功能7添加客户功能客户管理模块8删除客户功能9修改客户功能10查询客户功能11添加汽车功能汽车管理模块12删除汽车功能13修改汽车功能14查询汽车功能15添加出租单功能业务管理模块16修改出租单功能17查询出租单功能18添加检查单功能业务管理模块19修改检查单功能20查询检查单功能21查询当月应还汽车功能业务统计模块22添加角色功能系统管理模块23删除角色功能24修改角色功能25查询角色功能26添加日志功能系统管理模块27删除日志功能28查询日志功能29修改个人信息功能个人信息管理模块30权限控制功能权限管理模块3.2项目功

23、能实现3.2.1登录功能用户通过登录页面、输入登录用户名/密码/验证码信息后提交表单、页面js判断登录数据是否符合格式、如果数据不符合格式页面显示提示信息、并禁止表单提交。当用户表单数据符合格式后表单提交、登录action获取表单数据并通过业务层调用持久层方法搜索数据库中数据、判断用户名/密码是否匹配。如果匹配将用户信息存到session中、并跳转到首页。否则跳转到登录页面并显示登录失败信息。图23:登录页面3.2.2退出功能登录成功用户、通过退出登录链接、访问退出登录action、退出登录action中删除session中存储的用户信息、并完成日志记录操作、跳转到登录页面。图24:退出页面3

24、.2.3添加用户功能登录用户通过添加用户页面、提交表单、页面js判断数据是否符合格式、如果不符合则显示提示信息、表单不提交、否则访问添加用户action、添加用户action通过业务层访问持久层、并调用保存方法。持久层将保存结果返回给添加用户action、如果添加成功将跳转到添加用户页面、并显示添加成功信息。否则将跳转到添加用户页面、页面表单中数据将被保留下来、并显示添加失败信息。图25添加用户页面3.2.4删除用户功能登录用户通过删除用户页面、提交表单、页面js判断提交信息是否完整、如果不完整则显示提示信息、表单不提交。否则提交到删除用户action、删除用户action通过业务层访问持久层

25、、并调用删除方法。持久层将删除结果返回给删除用户action、如果删除成功、将跳转到查询用户action。否则跳转到删除用户页面并显示删除失败信息。图26删除用户页面3.2.5修改用户功能登录用户通过修改用户页面、提交表单、页面js判断信息是否被修改、如果没有修改过、则显示提示信息、提示用户信息没有修改不用保存、表单不提交。否则js判断修改的数据是否符合格式、如果不符合则显示提示信息、提示用户相应数据不符合要求、表单不提交。否则访问修改用户action、修改用户action通过业务层访问持久层、并调用修改方法、持久层将修改结果返回给修改用户action、如果修改成功、将跳转到查询用户actio

26、n。否则跳转到修改用户页面并显示修改失败信息。图27修改用户页面3.2.6查询用户功能登录用户通过查询用户页面、提交表单、页面js判断查询数据是否符合格式。如果不符合格式、显示提示信息、表单不提交,否则访问查询用户action、查询用户action通过业务层访问持久层、并调用查询方法、持久层查询结果返回给查询用户action、查询用户action将跳转到显示查询用户结果页面。图28查询用户页面3.2.7添加客户功能登录用户通过添加客户页面、提交表单、页面js判断数据是否符合格式、如果不符合则显示提示信息、表单不提交、否则访问添加客户action、添加客户action通过业务层访问持久层、并调用

27、保存方法。持久层将保存结果返回给添加客户action、如果添加成功将跳转到添加客户页面、并显示添加成功信息。否则将跳转到添加客户页面、页面表单中数据将被保留下来、并显示添加失败信息。图29添加客户页面3.2.8删除客户功能登录用户通过删除客户页面、提交表单、页面js判断提交信息是否完整、如果不完整则显示提示信息、表单不提交。否则提交到删除客户action、删除客户action通过业务层访问持久层、并调用删除方法。持久层将删除结果返回给删除客户action、如果删除成功、将跳转到查询客户action。否则跳转到删除客户页面并显示删除失败信息。图30删除客户页面3.2.9修改客户功能登录用户通过修

28、改客户页面、提交表单、页面js判断客户信息是否被修改、如果没有修改过、则显示提示信息、提示客户信息没有修改不用保存、表单不提交。否则js判断修改的数据是否符合格式、如果不符合则显示提示信息、提示用户相应数据不符合要求、表单不提交。否则访问修改客户action、修改客户action通过业务层访问持久层、并调用修改方法、持久层将修改结果返回给修改客户action、如果修改成功、将跳转到查询客户action。否则跳转到修改客户页面并显示修改失败信息。图31修改客户页面3.2.10查询客户功能登录用户通过查询客户页面、提交表单、页面js判断查询数据是否符合格式。如果不符合格式、显示提示信息、表单不提交

29、,否则访问查询客户action、查询客户action通过业务层访问持久层、并调用查询方法、持久层查询结果返回给查询客户action、查询客户action将跳转到显示查询客户结果页面。图32查询客户页面3.2.11添加汽车功能登录用户通过添加汽车页面、提交表单、页面js判断数据是否符合格式、如果不符合则显示提示信息、表单不提交、否则访问添加汽车action、添加汽车action通过业务层访问持久层、并调用保存方法。持久层将保存结果返回给添加汽车action、如果添加成功将跳转到添加汽车页面、并显示添加成功信息。否则将跳转到添加汽车页面、页面表单中数据将被保留下来、并显示添加失败信息。图33添加汽

30、车页面3.2.12删除汽车功能登录用户通过删除汽车页面、提交表单、页面js判断提交信息是否完整、如果不完整则显示提示信息、表单不提交。否则提交到删除汽车action、删除汽车action通过业务层访问持久层、并调用删除方法。持久层将删除结果返回给删除汽车action、如果删除成功、将跳转到查询汽车action。否则跳转到删除汽车页面并显示删除失败信息。图34删除汽车页面3.2.13修改汽车功能登录用户通过修改汽车页面、提交表单、页面js判断汽车信息是否被修改、如果没有修改过、则显示提示信息、提示汽车信息没有修改不用保存、表单不提交。否则js判断修改的数据是否符合格式、如果不符合则显示提示信息、

31、提示用户相应数据不符合要求、表单不提交。否则访问修改汽车action、修改汽车action通过业务层访问持久层、并调用修改方法、持久层将修改结果返回给修改汽车action、如果修改成功、将跳转到查询汽车action。否则跳转到修改汽车页面并显示修改失败信息。图35修改汽车页面3.2.14查询汽车功能登录用户通过查询汽车页面、提交表单、页面js判断查询数据是否符合格式。如果不符合格式、显示提示信息、表单不提交,否则访问查询汽车action、查询汽车action通过业务层访问持久层、并调用查询方法、持久层查询结果返回给查询汽车action、查询汽车action将跳转到显示查询汽车结果页面。图37查

32、询汽车页面3.2.15添加出租单功能登录用户通过添加出租单页面、提交表单、页面js判断数据是否符合格式、如果不符合则显示提示信息、表单不提交、否则访问添加出租单action、添加出租单action通过业务层访问持久层、并调用保存方法。持久层将保存结果返回给添加出租单action、如果添加成功将跳转到添加出租单页面、并显示添加成功信息。否则将跳转到添加出租单页面、页面表单中数据将被保留下来、并显示添加失败信息。图38添加出租单页面3.2.16修改出租单功能登录用户通过修改出租单页面、提交表单、页面js判断信息是否被修改、如果没有修改过、则显示提示信息、提示出租单信息没有修改不用保存、表单不提交。

33、否则js判断修改的数据是否符合格式、如果不符合则显示提示信息、提示用户相应数据不符合要求、表单不提交。否则访问修改出租单action、修改出租单action通过业务层访问持久层、并调用修改方法、持久层将修改结果返回给修改出租单action、如果修改成功、将跳转到查询出租单action。否则跳转到修改出租单页面并显示修改失败信息。图39修改出租单页面3.2.17查询出租单功能登录用户通过查询出租单页面、提交表单、页面js判断查询数据是否符合格式。如果不符合格式、显示提示信息、表单不提交,否则访问查询出租单action、查询出租单action通过业务层访问持久层、并调用查询方法、持久层查询结果返回

34、给查询出租单action、查询出租单action将跳转到显示查询出租单结果页面。图40查询出租单页面3.2.18添加检查单功能登录用户通过添加检查单页面、提交表单、页面js判断数据是否符合格式、如果不符合则显示提示信息、表单不提交、否则访问添加检查单action、添加检查单action通过业务层访问持久层、并调用保存方法。持久层将保存结果返回给添加检查单action、如果添加成功将跳转到添加检查单页面、并显示添加成功信息。否则将跳转到添加检查单页面、页面表单中数据将被保留下来、并显示添加失败信息。图41添加检查单页面3.2.19修改检查单功能登录用户通过修改检查单页面、提交表单、页面js判断信

35、息是否被修改、如果没有修改过、则显示提示信息、提示检查单信息没有修改不用保存、表单不提交。否则js判断修改的数据是否符合格式、如果不符合则显示提示信息、提示用户相应数据不符合要求、表单不提交。否则访问修改检查单action、修改检查单action通过业务层访问持久层、并调用修改方法、持久层将修改结果返回给修改检查单action、如果修改成功、将跳转到查询检查单action。否则跳转到修改检查单页面并显示修改失败信息。 图42修改检查单页面3.2.20查询检查单功能登录用户通过查询检查单页面、提交表单、页面js判断查询数据是否符合格式。如果不符合格式、显示提示信息、表单不提交,否则访问查询检查单

36、action、查询检查单action通过业务层访问持久层、并调用查询方法、持久层查询结果返回给查询检查单action、查询检查单action将跳转到显示查询检查单结果页面。图43查询检查单页面3.2.21查询当月应还汽车功能登录用户通过查询当月应还汽车链接直接访问查询当月应还汽车action、查询当月应还汽车action通过业务层访问持久层、并调用查询方法、持久层查询结果返回给查询当月应还汽车action、查询当月应还汽车action将跳转到显示查询当月应还汽车结果页面。图44查询当月归还汽车页面3.2.22添加角色功能登录用户通过添加角色页面、提交表单、页面js判断数据是否符合格式、如果不符

37、合则显示提示信息、表单不提交、否则访问添加角色action、添加角色action通过业务层访问持久层、并调用保存方法。持久层将保存结果返回给添加角色action、如果添加成功将跳转到添加角色页面、并显示添加成功信息。否则将跳转到添加角色页面、页面表单中数据将被保留下来、并显示添加失败信息。图45添加角色页面3.2.23删除角色功能登录用户通过删除角色页面、提交表单、页面js判断提交信息是否完整、如果不完整则显示提示信息、表单不提交。否则提交到删除角色action、删除角色action通过业务层访问持久层、并调用删除方法。持久层将删除结果返回给删除角色action、如果删除成功、将跳转到查询角色

38、action。否则跳转到删除角色页面并显示删除失败信息。图46删除角色页面3.2.24修改角色功能登录用户通过修改角色页面、提交表单、页面js判断信息是否被修改、如果没有修改过、则显示提示信息、提示角色信息没有修改不用保存、表单不提交。否则js判断修改的数据是否符合格式、如果不符合则显示提示信息、提示用户相应数据不符合要求、表单不提交。否则访问修改角色action、修改角色action通过业务层访问持久层、并调用修改方法、持久层将修改结果返回给修改角色action、如果修改成功、将跳转到查询角色action。否则跳转到修改角色页面并显示修改失败信息。图47修改角色页面3.2.25查询角色功能登

39、录用户通过查询角色页面、提交表单、页面js判断查询数据是否符合格式。如果不符合格式、显示提示信息、表单不提交,否则访问查询角色action、查询角色action通过业务层访问持久层、并调用查询方法、持久层查询结果返回给查询角色action、查询角色action将跳转到显示查询角色结果页面。图48查询角色页面3.2.26添加日志功能添加日志功能自动将登录用户对数据库进行的增、删、改等操作进行日志记录。该功能是在后台代码中独立运行的。不论添加日志是否成功都不会输出任何信息。3.2.27删除日志功能登录用户通过删除日志页面、提交表单、页面js判断提交信息是否完整、如果不完整则显示提示信息、表单不提交

40、。否则提交到删除日志action、删除日志action通过业务层访问持久层、并调用删除方法。持久层将删除结果返回给删除日志action、如果删除成功、将跳转到查询日志action。否则跳转到删除日志页面并显示删除失败信息。图49删除日志页面3.2.28查询日志功能登录用户通过查询日志页面、提交表单、页面js判断查询数据是否符合格式。如果不符合格式、显示提示信息、表单不提交,否则访问查询日志action、查询日志action通过业务层访问持久层、并调用查询方法、持久层查询结果返回给查询日志action、查询日志action将跳转到显示查询日志页面。图50查询日志页面3.2.29修改个人信息功能登

41、录用户通过修改个人信息页面、提交表单、页面js判断信息是否被修改、如果没有修改过、则显示提示信息、提示个人信息没有修改不用保存、表单不提交。否则js判断修改的数据是否符合格式、如果不符合则显示提示信息、提示用户相应数据不符合要求、表单不提交。否则访问修改个人信息action、修改个人信息action通过业务层访问持久层、并调用修改方法、持久层将修改结果返回给修改个人信息action、如果修改成功、将跳转到查询个人信息action。否则跳转到修改个人信息页面并显示修改失败信息。图51修改用户信息页面3.2.30权限控制功能登录用户操作各个功能、访问各个路径、资源时都要经过权限控制filter过滤

42、、判断用户是否有权限操作该功能、是否有权限访问该路径、资源。如果没有权限则权限控制filter直接将跳转到没有权限页面、提示用户没有权限操作该功能或没有权限访问该路径、资源。否则不对用户访问的功能、路径、资源进行拦截。图52权限控制提示页面 4.项目总结4.1项目技术总结4.1.1 SSH框架技术总结a)struts1框架技术总结struts1框架为web层应用框架、主要提供页面表单数据到formBean属性值的封装任务,同时提供formBean属性值还原为页面表单数据功能。struts1框架提供两种页面表单数据到formBean属性值的验证:1)通过formBean中的validate()方

43、法进行验证、2)通过validation.xml配置文件进行数据校验。校验信息都是通过标签标签获取。struts1框架提供多种数据格式的校验、并且封装成对象。用户可以很简单的使用这些封装了得对象进行数据校验工作。方便用户使用。b)Hibernate框架技术总结持久化就是把数据同步保存到数据库或某些存储设备中去。使用Hibernate进行持久化操作主要需要以下步骤:STEP 1:创建Configuration对象。在这一步中主要为了进行配置文件的装载操作,读取所有的配置文件并进行解析。STEP 2:创建SessionFactory对象。通过创建好的Configuration对象可以创建一个ses

44、sionFactory对象的实例,同时是生成Session对象实例的工厂,他在整个应用中应该是唯一的。STEP 3:创建Session对象。Session对象类似于数据库的连接对象,可以理解为与数据库建立的一个连接,但是他的功能要比JDBC中的Connection对象丰富很多。STEP 4:开始一个事务。在Java中定义一个事务操作的开始,这是使用Hibernate进行持久化操作必不可少的步骤。STEP 5:进行持久化操作。在这个步骤中可以读取或者保存Java对象。STEP 6:结束事务。在操作完成之后还要进行显式的结束事务的操作。STEP 7:关闭Session。类似于释放数据库的连接。c)

45、spring框架技术总结spring框架提供强大的AOP和IOC、数据库事务控制功能、其中AOP能更好的控制程序流程、数据校验功能。IOC控制bean的注入方式和注入时机,能更好的是项目中各个模块的解耦。强大的数据库事务控制使你的数据库数据能正确、同步的完成增、删、改操作,spring不仅提高同数据库管理系统的事务控制、还提供跨数据库管理系统的事务控制功能。为分布式网络服务提供数据安全性保障。d)关于SSH架构的简单总结Struts、spring、Hibernate在各层的作用1)struts负责web层,ActionFormBean接收网页中表单提交的数据,然后通过Action进行处理,再F

46、orward到对应的网页。在struts-config.xml中定义,ActionServlet会加载。2)spring负责业务层管理,即Service(或Manager).1.service为action提供统计的调用接口,封装持久层的DAO2.可以写一些自己的业务方法3.声明式事务管理4.集成Hiberante3)Hiberante,负责持久化层,完成数据库的crud操作。hibernate为持久层,提供OR/Mapping映射。4.1.2 数据库技术总结 oracle数据库中user为关键字,oracle数据库表名默认为大写字母,想要使用小写数据库名称是需要单引号引起。4.1.3 Jqu

47、ery框架总结Jquery框架为用户操作html DOM提供简便而安全的支持,同时能避免不同浏览器对JS的支持差异性。Jquery框架同时提供简单的CSS动画特效支持、提高了用户体验度。Jquery框架对AJAX的封装、提供很多方法、如:$.ajax()$.get()$.post()$.getJSON()等AJAX方法。能很方便安全的提供AJAX操作。Jquery框架获取id元素$(“#id”),获取class元素$(“.class”),获取tagName元素$(“tagName”),Jquery框架去掉字符串两端的空格$.trim(String)。4.2技术创新及特点 struts1 框架的

48、formBean数据校验时、根据不同的校验方式、formBean需要继承不同的父类。当用formBean类中的validate方法进行校验时、formBean需要继承自ActionForm类、而使用validation.xml校验文件进行校验时、formBean要继承自ValidatorForm类。struts1框架是通过判断ActionErrors类是否为空、来判断校验是否通过、当ActionErrors为空及数据校验通过、当ActionErrors不为空时数据校验不通过。 hibernate引入实体类的方式有两种:1)使用xml配置文件,2)使用annotation注解方式。注解方式大大的

49、简化了代码行数。 项目使用spring的AOP进行日志记录功能。能拦截特定的类型的操作。为系统安全提供可靠保障。4.3个人收获及体会 .内部资料仅供参考9JWKffwvG#tYM*Jg&6a*CZ7H$dq8KqqfHVZFedswSyXTy#&QA9wkxFyeQ!djs#XuyUP2kNXpRWXmA&UE9aQGn8xp$R#͑GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv

50、$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmUE9aQGn8xp$R#͑GxG

51、jqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z8vG#tYM*Jg&6a*CZ7H$dq8KqqfHVZFedswSyXTy#&QA9wkxFyeQ!djs#XuyUP2kNXpRWXmA&UE9aQGn8xp$R#͑GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论