jsp高速公路收费系统mysql论文_第1页
jsp高速公路收费系统mysql论文_第2页
jsp高速公路收费系统mysql论文_第3页
jsp高速公路收费系统mysql论文_第4页
jsp高速公路收费系统mysql论文_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

本科生毕业设计设计题目:基于JSP+MYSQL的高速公路收费系统的设计与开发学生姓名:学生学号:指导教师:二级院系:专业班级:完成时间:-PAGEIV--PAGEII-目录Abstract IV第1章概述 11.1课题背景 11.2课题意义 11.3文献综述 11.3.1技术综述 21.4总体设计原则 2第2章系统分析 32.1系统的需求分析 32.2业务流程分析 42.2.1操作员业务流程分析 42.2.2系统管理员业务流程分析 52.3数据流程分析 62.3.1黑名单车辆管理模块 62.3.2操作员管理模块 72.3.3车辆收费管理模块 72.3.4判断黑名称车辆模块 82.3.5修改密码模块 92.4数据字典 92.4.1数据项的描述 92.4.2数据流的描述 102.4.3外部实体的描述 11第3章系统设计 123.1系统体系结构设计 123.2系统子模块功能介绍 123.3数据库设计 133.3.1数据库概念设计——E-R模型 133.3.2数据库逻辑设计——关系模型 153.3.3数据库选型 153.3.4数据库表结构设计 153.3.5数据库表间关系设计 173.4系统开发工具与开发模式的选择 183.4.1系统开发工具 183.4.2系统设计模式 19第4章系统实现 214.1登陆模块 214.2操作员管理模块 244.3黑名单车辆管理模块 274.4车辆收费管理模块 28第5章系统测试 285.1测试目的 285.2测试方法 285.3测试结果 29第6章总结 30参考文献 30致谢 32

摘要本文对高速公路收费系统的设计与开发过程进行了分析与叙述。依照系统开发的实际操作步骤,文章从系统概述、系统分析、系统设计和系统实现这四大章节对系统开发过程进行分别阐述。系统概述中主要进行了课题背景、课题意义和现状分析;系统分析中主要包括了系统设计前的需求分析、业务流程分析、数据流程分析和数据字典分析;而系统设计则是对系统体系结构、各功能模块、数据库结构设计等具体的系统实现过程进行剖析展示,在系统设计章节中有详细的文字解释并配有表图说明。文章还列举了关键的功能模块实现代码。本文力求可以为高速公路收费系统的开发设计找到一种切实可行的解决方案,在分析了目前国内外高速公路收费系统的现状的基础上,并经过反复摸索和学习研究后,借助编程语言JSP和MYSQL数据库最终实现了高速公路收费系统的开发,并在一系列测试后,达成了人性化、所需功能完善、操作清晰的设计目标。关键词:JSP;SQLServer2005;收费系统AbstractInthispaper,highwaytollsystemdesignanddevelopmentprocessisanalyzedanddescribed.Inaccordancewiththeactualstepsofsystemdevelopment,thearticlefromthesystemoverview,systemanalysis,systemdesignandsystemrealizationofthesefoursectionsofthesystemdevelopmentprocessaredescribed.Systemwerethemainissuesoutlinedinthebackground,meaningandstatusofthesubjectanalysis;systemanalysis,systemdesignincludesapre-needsanalysis,businessprocessanalysis,dataflowanalysisanddatadictionaryanalysis;andsystemdesignisthesystemarchitecture,variousfunctionalmodules,databasestructuredesigntoachievespecificprocesstoanalyzethesystemdisplay,thesystemdesignsectiontoexplaininmoredetailandwithatablediagramshows.ThearticlealsoliststhekeyfunctionmodulecodeThispaperseekstohighwaytollsystemfordevelopmentanddesigntofindapracticalsolutionintheanalysisof-Boathomeandabroadonthebasisofthestatusofthesystem,andafterrepeatedexplorationandstudyafterstudy,usingJSPandsoftSQLprogramminglanguageServerdatabaseandultimatelythehighwaytollsystemdevelopment,andinaseriesoftests,reachedauser-friendly,functionalrequirements,operationsdesignedtoclearKeyWords:JSP;MYSQL;Highwaytoll-PAGE32-第1章概述1.1课题背景随着我国经济的快速发展,高速公路的建设也得到了突飞猛进的发展,高速公路收费作为高速公路管理系统的一部分,收费系统要求严谨,防止通行费流失,方便用户管理.。同时我国的汽车保有量急剧增长,增长速度不次于中国近代的人口增长,给车辆管理部门工作带来了压力。沈大高速公路始建于1984年,1990完工,是长距离双向四车道收费性高速公路。初始其收费方式完全是人工收费,这种方式漏洞大,通行费流失严重,管理难度大。为了适应发展需求,2002年封闭改造,2004年开通。不仅加宽、平整路面,还铺设了光纤,并引进了法国GEA车道软件收费管理系统,它是以“非接触式IC卡”为通行介质的计算机收费管理信息系统。系统采用半自动收费方式,即入口人工判别车型,发放一张写有入口信息的“非接触式IC卡”,出口人工核对车型,收回IC卡,收取通行费,放行车辆。这是一种人工判别车型、检测器自动计数、计算机管理信息、计算机图像监视的封闭式收费系统本系统结合JSP技术和MYSQL数据库技术,建立专门用于高速公路收费的系统。提供一种能供系统管理员可以方便地对过往车辆进行管理和收费,查看收费情况等。高效地完成原本需要很复杂才能完成的手续,根据实际需要,建立一个高速公路收费系统,解决传统手工的车辆收费的繁琐,已达到减少工作量以及人员数量,提高管理效率和速度的目的。1.2课题意义高速公路收费系统的实现,提高其自动化程度,减少人工干预,使车辆通行收费站速度提升,方便用户、减少漏洞、便于管理。提高车辆通行收费站的速率,减少堵车、堵口现象。1.3文献综述目前的高速公路收费系统种类繁多,但依据各自不同的规模和功能需要,大体上所采取的技术体系采用VB+microsoftAccess/SQLServer技术,或者DEPHI+SQLServer,几乎有很少使用JSP体系结构技术。1.3.1技术综述尽管有着众多的网络开发体系,但如何决定一个系统使用何种方法开发仍然是基于系统的基本需求,本文不详细描述各种开发体系的性能优劣,这里选取了三家不同规模的高速公路收费系统,将各系统选用的开发体系列表比较如下:表1.1各系统选用的开发体系列表系统开发语言数据库Web服务器操作系统青银高速高速公路收费系统VBsoftSQLServer2005IIS6.0WindowsServer2000胶州湾高速公路收费系统.netsoftSQLServer2005IIS6.0WindowsServer20001.4总体设计原则本系统为了设计、实现和后期维护的方便,以及系统用户使用的便利,所以必须采取一定的设计原则[3]。其主要设计原则有:简单性:在实现系统的功能的同时,尽量让系统操作简单易懂,这对于一个系统来说是非常重要的。针对性:本系统设计是针对高速公路收费的需求定向开发设计,所以具有专业突出和很强的针对性。实用性:要求本系统能够满足高速公路收费的需求,因此具有良好的实用性。一致性:页面整体设计风格以及命名规则的一致性:整体页面布局和用图用色风格及变量、类名和其他元素的命名规则保持一致。功能一致性:完成同样的功能应该尽量使用同样的元素。元素风格一致性:界面元素的美观风格、摆放位置在同一个界面和不同界面之间都应该是一致的。变量命名规则的一致性:变量应该用统一的规则进行命名,做到任意变量均能从上下文推断其义。先进性:本系统采用JSP技术、MYSQL等被广泛采用系统开发技术和数据库,因此本设计具有良好的先进性,具体表现在其具有良好的可扩展性,可开发性。第2章系统分析2.1系统的需求分析本系统致力于建立灵活、方便的高速公路收费系统,主要有三大功能模块:黑名单车辆模块、车辆收费模块和操作员模块。图2.1系统需求分析图系统管理员模块:只有系统管理员才具有该模块的权限。该模块需要实现操作员用户、黑名单车辆、车辆收费等管理,另外通过该模块可以浏览车辆收费,维护黑名单车辆,操作员等信息。黑名称车辆参数具体包括车牌号和备注2个方面的信息。操作员模块:操作员的账号是由系统管理员分配的。该模块是主要的功能有实现车辆的收费管理、录入新的车辆收费,以及黑名单车辆提醒,根据系统录入的黑名单车辆。根据车牌号进行对比。如果是黑名单车辆。弹出消息框,随后报警处理2.2业务流程分析业务流程分析主要包括操作员业务流程分析,系统管理员业务流程分析。2.2.1操作员业务流程分析操作员进入用户登录界面后,在登录功能区输入用户账号与密码,登录成功后跳转到系统主窗口。注册用户可以新增车辆收费信息,并对以往的车辆收费信息进行浏览等操作。结束各项操作后退出,回到系统主页。图2.2操作员业务流程图2.2.2系统管理员业务流程分析系统管理员进入用户登录界面后,在登录功能区输入系统管理员的用户账号与密码,登录成功后跳转到系统主窗体。系统可以查看操作员信息,并对其进行查找或删除等操作;查看车辆收费信息,对不符合系统规定的进行删除操作;添加黑名单车辆信息,并对其进行编辑或删除等操作。结束各项操作后退出,回到系统主窗体。图2.3系统管理员业务流程图2.3数据流程分析2.3.1黑名单车辆管理模块图2.5黑名单车辆管理模块数据流程图2.3.2操作员管理模块图2.6操作员管理模块数据流程图2.3.3车辆收费管理模块图2.7车辆收费管理模块数据流程图2.3.4判断黑名称车辆模块图2.8系统功能管理模块数据流程图2.3.5修改密码模块图2.9修改密码模块数据流程图2.4数据字典2.4.1数据项的描述表3.1黑名称车辆数据项描述数据项类型长度值范围ID数字40000000000至9999999999之间车牌号文本50最多25个字符备注信息文本5000-500个汉字删除标志文本500-50个字符表3.2车辆收费信息数据项描述数据项类型长度值范围ID数字40000000000至9999999999之间车道号数字40000000000至9999999999之间车型文本502~100个汉字费用数字40-1000车牌号文本500-50个字符收费时间日期10年-月-日,形如“2011-5-19”表3.3操纵员信息数据项描述数据项类型长度值范围ID数字40000000000至9999999999之间姓名数字42~50个汉字性别文本202~50个汉字年龄数字101-100住址文本42~50个汉字联系方式文本2~50个汉字账号文本2~50个汉字密码文本2~50个汉字表3.4管理员信息数据项描述数据项类型长度值范围ID数字100000000000至9999999999之间登陆账号文本102~50个字符登陆密码文本5002~500个字符2.4.2数据流的描述(1)数据流名:黑名单车辆信息简述:用户登录成功后可以添加、编辑和删除黑名称车辆信息组成:黑名单车辆参数=车牌号+备注数据量:约100次/日(2)数据流名:车辆收费信息简述:系统管理员登录成功后可以浏览、删除、增加车辆收费信息组成:车辆收费信息=车道号+车型+费用+车牌号+收费时间数据量:约5000次/日(3)数据流名:操作员信息简述:系统管理员登录成功后可以添加、编辑和删除操作员信息组成:操作员信息=姓名+性别+年龄+住址+联系方式+登陆账号+登陆密码数据量:约100次/日2.4.3外部实体的描述(1)外部实体名称:系统管理员简述:系统管理员,具有最高权限输入的数据流:操作员和黑名称车辆的管理,另外通过该模块可以浏览车辆收费、增加车辆收费、删除车辆收费等信息输出的数据流:操作员和黑名称车辆的管理,另外通过该模块可以浏览车辆收费、增加车辆收费、删除车辆收费等信息(2)外部实体名称:操作员简述:操作员的账号由系统管理员统一分配。主要的功能有,车辆收费管理。包括录入收费,删除收费,判断黑名称车辆等输入的数据流:车辆收费管理、删除车辆收费、录入车辆收费、判读当前车辆是否黑名单车辆,修改自己的登陆密码输出的数据流:车辆收费管理、删除车辆收费、录入车辆收费、判读当前车辆是否黑名单车辆,修改自己的登陆密码第3章系统设计3.1系统体系结构设计本系统的系统结构是按照了自上向下的设计理念完成的。第一层是用户登录界面。第二层是系统主页,主要包括黑名称车辆管理管理,操作员用户管理、车辆收费管理、修改密码等,用户登录成功后可以转至各个管理功能。第四层即各个管理功能的所有功能。图3.1系统体系结构设计3.2系统子模块功能介绍(1)黑名单车辆管理模块:主要功能是系统管理员登入后,添加、编辑和删除黑名称车辆信息的功能。(2)操作员管理模块:主要功能是管理员系统管理员登入后,管理操作员的信息等功能。(3)收费管理模块:主要功能是管理员系统管理员或者操作员登入后,对过往车辆完成收费功能,并且实时判断是否黑名称车辆。如果是黑名单车辆则弹出消息对话框,提示用户报警出。(5)修改密码模块:主要功能是管理员系统管理员或者操纵员为了保证安全性。重设密码的功能3.3数据库设计3.3.1数据库概念设计概念模型是对信息世界建模,其表示方法有很多,其中最为常用的是实体-联系模型,即E-R模型,它是用E-R图来描述现实世界的概念模型。下列E-R图清楚简便的描述出了本系统实体与其属性之间的关系。图3.2数据库概念模型E-R图3.3.2数据库逻辑设计下面将图3.2数据库E-R图转换为关系模型。黑名单车辆信息(ID,车牌号,备注信息)操作员信息(ID,姓名,性别,年龄,住址,联系方式,登陆账号,登陆密码)收费信息(ID,车道号,车型,费用,收费时间,车牌号)管理员信息(用户名,密码)3.3.3数据库选型本系统使用MYSQL关系型数据库。MYSQL是由MYSQL公司出品,基于关系型数据库的大型数据库系统,该版本数据库具有独立于硬件平台、对称的多处理器结构、抢占式多任务管理、完善的安全系统和容错功能,更具有使用方便、可收缩性好与相关软件集成程度高等优点。3.3.本系统后台数据库中总共设计了4张数据表,分别为黑名称车辆信息表(t_heimingdan)、操作员信息表(t_user)、收费信息表(t_shoufei)和管理员信息表(t_admin)。具体结构设计如下:(1)黑名单车辆信息表(heimingdan)黑名称车辆信息表主要用于存放黑名单车辆的信息,主要字段包括:ID,车牌号,备注信息等。表3.1黑名称车辆信息表(t_heimingdan)字段名数据类型字段描述长度主键IDintID4√Chepaihaovarchar车牌号50Beizhuvarchar备注信息500(2)操作员信息表(t_user)文章信息表主要用于存储系统管理员分配的操作员信息,主要字段有ID、姓名、性别、年龄、住址、联系方式、登陆账号、登陆密码等表3.2操作员信息表(t_user)字段名数据类型字段描述长度主键IDInt编号4√NameVarchar姓名50SexVarchar性别50AgeInt年龄4AddressVarchar住址50TelVarchar联系方式50LoginnameVarchar登陆账号50LoginpwVarchar登陆密码50(3)车辆收费信息表(t_shoufei)文章信息表主要用于存储过往车辆的收费信息,主要字段有车牌号、车型、车道号、所收费用、收费时间等表3.3车辆收费信息表(t_shoufei)字段名数据类型字段描述长度主键IDInt编号4√ChedaohaoVarchar车道号50ChexingVarchar车型50FeiyongInt费用4ShijianDate收费时间4(7)管理员信息表(admin)管理员信息表主要用于系统管理员的信息,主要字段包括:编号、登陆账号、登陆密码。表3.7管理员信息表(admin)字段名数据类型字段描述长度主键IDInt编号10√Namevarchar登陆账号50Pwdvarchar登陆密码503.3.5数据库表间关系设计图3.8数据库表间关系图3.4系统开发工具与开发模式的选择3.4.1系统开发工具本系统主要使用JSP、SERVLET技术对系统进行设计和开发。JSP,即JavaServerPage,Java应用页面程序。作为开发动态页面的一种技术,JSP是当前大中型企业应用软件首选的开发路线之一。而且JSP是J2EE的重要组成部分,开发人员可以在JSP中获得J2EE的众多优点。学习JSP也是J2EE入门的必经之路。JSP既依赖于也得益于J2EE技术。“一次编写,随处运行”的可移植性使用户可以专注于JSP的开发,而无须考虑系统层面的问题;Java的开放特性使市面上涌现出了众多的Web框架可供采纳;面向对象的设计,为更加轻松地构筑安全稳定的Web在线系统提供了基础保障。JSP秉承了J2EE高贵的血统,却又带着平易近人的个性。JSP本质上是一个Java程序,具备Java语言一切无与伦比的优势。相比依赖于VBScript代码的ASP,以及依赖于Perl语言的PHP等其他Web编程语言,JSP有着严格的Java语法支持,可以和JavaBean无缝整合。ASP采用了解析执行的机制,而JSP则是先编译后执行。因此,在第一次访问时JSP比ASP要慢,但是JSP的执行则比每次都解析执行的ASP快若干个数量级。微软随后推出了ASP.NET,号称提供了丰富的面向对象类库,引入中间语言的概念来支持多种语言,完整地集成了XML及WebService的支持,利用代码托管机制避免危害服务器,并期盼以此代替ASP。事实上ASP.NET的框架设计与J2EE框架十分类似,虽然弥补了ASP之前的缺陷,但是,其对于Windows平台的依赖性以及.NET本身的封闭性却依然存在。尽管现在有Mono计划将所有的开发转移到Linux,但是由于各种原因,Mono有着众多的制肘,并不被业界看好。当然,对于Windows环境下的中小型应用程序,ASP.NET确实是不错的选择。JSP是线程高度并行的,可以充分利用硬件资源。另外,Java语言与平台无关,开发者可以将JSP部署在几乎任何操作系统上,UNIX系统可以为JSP提供稳定可靠的安全运行环境;利用集群技术还可以把多台主机联合起来服务于JSP应用程序。因此,JSP对于高可靠性、高性能要求的企业级应用系统有较强的吸引力。从开发者的角度考虑,JSP是开发Web应用程序的首选。JSP支持JavaBean组件,也就获得了众多Java厂商的有力支持,开发者可以利用JavaBean来完成所有Java能实现的功能,如数据库连接池、图形绘制、文件IO操作、XML解析、WebService调用与发布等。Java的开放性也使系统框架如雨后春笋般涌现,Struts,Webwork,Tapstry,Velocity,Hibernate等开源框架为Web应用开发者简化了开发流程,提高了代码质量,从而降低了学习门槛和开发成本。JSP遵循J2EE规范所采用的分层结构也使得代码容易组织维护,各个独立的层次分别针对特定的编程领域,在某个领域发生变化的时候,只需要在对应层次进行针对性的修改,而不会影响到其他层次的代码。而相对于Servlet这种Java类,JSP又有着特定的优势。从前面的例子可以看出,要完成一个简单JSP页面具有的功能,需要编写大量的Servlet代码,而且,从代码上根本看不出来生成的HTML文档结构。另外,JSP中双引号等特殊字符,在Servlet中都需要进行转义处理,又进一步降低了程序的可读性。Servlet不能有效地利用原型页面。事实上,在JSP中,还可以使用标签等特性,进一步将JSP中的Java代码导致的不利因素削弱。总之,使用JSP可以降低开发门槛,提高程序可读性,开发出高性能的跨平台企业级软件。所以在线汽车销售网站采用了JSP技术。3.4.2系统设计模式B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。随着Windows98/Windows2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。显然B/S结构应用程序相对于传统的C/S结构应用程序将是巨大的进步。B/S结构采用星形拓扑结构建立企业内部通信网络或利用Internet虚拟专网(VPN)。前者的特点是安全、快捷、准确。后者则具有节省投资、跨地域广的优点。须视企业规模和地理分布确定。企业内部通过防火墙接入Internet,再整个网络采TCP/IP协议。C/S与B/S区别:Client/Server是建立在局域网的基础上的.Browser/Server是建立在广域网的基础上的。1.硬件环境不同:C/S一般建立在专用的网络上,小范围里的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务.B/S建立在广域网之上的,不必是专门的网络硬件环境,例与电话上网,租用设备.信息自己管理.有比C/S更强的适应范围,一般只要有操作系统和浏览器就行2.对安全要求不同C/S一般面向相对固定的用户群,对信息安全的控制能力很强.一般高度机密的信息系统采用C/S结构适宜.可以通过B/S发布部分可公开信息.B/S建立在广域网之上,对安全的控制能力相对弱,面向是不可知的用户群.3.对程序架构不同C/S程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑.B/S对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上.比C/S有更高的要求B/S结构的程序架构是发展的趋势,从MS的.Net系列的BizTalk2000Exchange2000等,全面支持网络的构件搭建的系统.SUN和IBM推的JavaBean构件技术等,使B/S更加成熟.4.软件重用不同C/S程序可以不可避免的整体性考虑,构件的重用性不如在B/S要求下的构件的重用性好.B/S对的多重结构,要求构件相对独立的功能.能够相对较好的重用.就入买来的餐桌可以再利用,而不是做在墙上的石头桌子5.系统维护不同系统维护是软件生存周期中,开销大,重要C/S程序由于整体性,必须整体考察,处理出现的问题以及系统升级.升级难.可能是再做一个全新的系统B/S构件组成,方面构件个别的更换,实现系统的无缝升级.系统维护开销减到最小.用户从网上自己下载安装就可以实现升级.6.处理问题不同C/S程序可以处理用户面固定,并且在相同区域,安全要求高需求,与操作系统相关.应该都是相同的系统B/S建立在广域网上,面向不同的用户群,分散地域,这是C/S无法作到的.与操作系统平台关系最小.7.用户接口不同C/S多是建立的Window平台上,表现方法有限,对程序员普遍要求较高B/S建立在浏览器上,有更加丰富和生动的表现方式与用户交流.并且大部分难度减低,减低开发成本.8.信息流不同C/S程序一般是典型的中央集权的机械式处理,交互性相对低B/S信息流向可变化,B-BB-CB-G等信息、流向的变化,更像交易中心。第4章系统实现4.1登陆模块(1)登陆界面要想使用本系统,必须先登陆到系统中,在登陆页面,首先将从前台页面提交的用户名和密码进行接受,之后在后台进行处理,按照用户名在数据库中进行查询如果查到该用户则将该用户的权限和密码全都取出来分别赋给两个字符串变量,判断从数据库中读出的密码与登录时输入的密码是否配比上,若两个密码相同则根据权限的值进入相应的页面,否则输出密码错误。图4.1登陆模块界面(2)登陆模块关键代码publicStringlogin(StringuserName,StringuserPw,intuserType) { try { Thread.sleep(700); }catch(InterruptedExceptione) { //TODOAuto-generatedcatchblock e.printStackTrace(); } Stringresult="no"; if(userType==0)//系统管理员登陆 { Stringsql="select*fromt_adminwhereuserName=?anduserPw=?"; Object[]params={userName,userPw}; DBmydb=newDB(); mydb.doPstm(sql,params); try { ResultSetrs=mydb.getRs(); booleanmark=(rs==null||!rs.next()?false:true); if(mark==false) { result="no"; } else { result="yes"; TAdminadmin=newTAdmin(); admin.setUserId(rs.getInt("userId")); admin.setUserName(rs.getString("userName")); admin.setUserPw(rs.getString("userPw")); WebContextctx=WebContextFactory.get(); HttpSessionsession=ctx.getSession(); session.setAttribute("userType",0); session.setAttribute("admin",admin); } rs.close(); } catch(SQLExceptione) { System.out.println("登录失败!"); e.printStackTrace(); } finally { mydb.closed(); } } if(userType==1) { Stringsql="select*fromt_yuangongwheredel='no'andloginName=?andloginPw=?"; Object[]params={userName,userPw}; DBmydb=newDB(); try { mydb.doPstm(sql,params); ResultSetrs=mydb.getRs(); booleanmark=(rs==null||!rs.next()?false:true); if(mark==false) { result="no"; } if(mark==true) { TYuangongyuangong=newTYuangong(); yuangong.setId(rs.getInt("id")); yuangong.setName(rs.getString("name")); yuangong.setSex(rs.getString("sex")); yuangong.setAge(rs.getString("age")); yuangong.setTel(rs.getString("tel")); yuangong.setAddress(rs.getString("address")); yuangong.setLoginName(rs.getString("loginName")); yuangong.setLoginPw(rs.getString("loginPw")); result="yes"; WebContextctx=WebContextFactory.get(); HttpSessionsession=ctx.getSession(); session.setAttribute("userType",1); session.setAttribute("yuangong",yuangong); } rs.close(); } catch(Exceptione) { e.printStackTrace(); } mydb.closed(); } if(userType==2) { } returnresult; } 4.2操作员管理模块(1)操作员管理模块界面管理员登陆系统后,点击左面的菜单“操作员管理”,页面调转到操作员管理界面,录入操纵员的基本信息。如姓名、性别、年龄、登陆账号、登陆密码等,点击保存按钮,调用后台的java类YuangongServlet把操作员信息保存到数据库。操作员管理界面如下图图4.2操作员管理模块界面(2)操作员管理模块关键代码publicvoidyuangongAdd(HttpServletRequestreq,HttpServletResponseres) { Stringname=req.getParameter("name"); Stringsex=req.getParameter("sex"); Stringage=req.getParameter("age"); Stringtel=req.getParameter("tel"); Stringaddress=req.getParameter("address"); StringloginName=req.getParameter("loginName"); StringloginPw=req.getParameter("loginPw"); Stringdel="no"; Stringsql="insertintot_yuangong(name,sex,age,tel,address,loginName,loginPw,del)values(?,?,?,?,?,?,?,?)"; Object[]params={name,sex,age,tel, address,loginName,loginPw,del}; DBmydb=newDB(); mydb.doPstm(sql,params); mydb.closed(); req.setAttribute("message","操作成功"); req.setAttribute("path","yuangong?type=yuangongMana"); StringtargetURL="/common/success.jsp"; dispatch(targetURL,req,res); } publicvoidyuangongDel(HttpServletRequestreq,HttpServletResponseres) { intid=Integer.parseInt(req.getParameter("id")); Stringsql="updatet_yuangongsetdel=?whereid=?"; Object[]params={"yes",id}; DBmydb=newDB(); mydb.doPstm(sql,params); mydb.closed(); req.setAttribute("message","操作成功"); req.setAttribute("path","yuangong?type=yuangongMana"); StringtargetURL="/common/success.jsp"; dispatch(targetURL,req,res); } publicvoidyuangongMana(HttpServletRequestreq,HttpServletResponseres)throwsServletException,IOException { ListyuangongList=newArrayList(); Stringsql="select*fromt_yuangongwheredel='no'"; Object[]params={}; DBmydb=newDB(); try { mydb.doPstm(sql,params); ResultSetrs=mydb.getRs(); while(rs.next()) { TYuangongyuangong=newTYuangong(); yuangong.setId(rs.getInt("id")); yuangong.setName(rs.getString("name")); yuangong.setSex(rs.getString("sex")); yuangong.setAge(rs.getString("age")); yuangong.setTel(rs.getString("tel")); yuangong.setAddress(rs.getString("address")); yuangong.setLoginName(rs.getString("loginName")); yuangong.setLoginPw(rs.getString("loginPw")); yuangongList.add(yuangong); } rs.close(); } catch(Exceptione) { e.printStackTrace(); } mydb.closed(); req.setAttribute("yuangongList",yuangongList); req.getRequestDispatcher("/admin/yuangong/yuangongMana.jsp").forward(req,res); } 4.3黑名单车辆管理模块(1)黑名单车辆管理界面管理员登陆系统后,点击左面的菜单“黑名单车辆管理”,页面调转到黑名单车辆界面,录入黑名单车辆的基本信息。包括车牌号、备注信息等,点击保存按钮,调用后台的java类把黑名单车辆信息保存到数据库。界面如下图图4.3黑名单车辆管理模块界面(2)黑名单车辆管理模块关键代码publicvoidheimingdanAdd(HttpServletRequestreq,HttpServletResponseres) { Stringchepai=req.getParameter("chepai"); Stringbeizhu=req.getParameter("beizhu"); Stringdel="no"; Stringsql="insertintot_heimingdan(chepai,beizhu,del)values(?,?,?)"; Object[]params={chepai,beizhu,del}; DBmydb=newDB(); mydb.doPstm(sql,params); mydb.closed(); req.setAttribute("message","操作成功"); req.setAttribute("path","heimingdan?type=heimingdanMana"); StringtargetURL="/common/success.jsp"; dispatch(targetURL,req,res); } publicvoidheimingdanDel(HttpServletRequestreq,HttpServletResponseres) { intid=Integer.parseInt(req.getParameter("id")); Stringsql="updatet_heimingdansetdel=?whereid=?"; Object[]params={"yes",id}; DBmydb=newDB(); mydb.doPstm(sql,params); mydb.closed(); req.setAttribute("message","操作成功"); req.setAttribute("path","heimingdan?type=heimingdanMana"); StringtargetURL="/common/success.jsp"; dispatch(targetURL,req,res); } 4.4车辆收费管理模块(1)车辆收费模块界面点击左侧的“车辆收费”菜单。页面跳转到收费界面,首先选择车辆行驶的车道。然后选择车型,根据车型的不同,费用也各不相同,选择车型的同时,费用文本框自动赋值费用,然后输入时间和车牌号,当车牌号输入完毕,文本框失去焦点的时候。除非onblue事件。获取车牌号并传递到后台,判断是否黑名单车辆。根据返回的数据的不同。做出相应的提示信息,如果是黑名单车辆。提示用户报警操作,如果不是则继续下一步。完成车辆收费工作。图4.3添加文章模块界面(2)文章添加关键代码publicvoidshoufeiAdd(HttpServletRequestreq,HttpServletResponseres) { Stringchedaohao=req.getParameter("chedaohao"); Stringchexing=req.getParameter("chexing"); intfeiyong=Integer.parseInt(req.getParameter("feiyong")); Stringchepai=req.getParameter("chepai"); Stringshijian=req.getParameter("shijian"); Stringdel="no"; Stringsql="insertintot_shoufei(chedaohao,chexing,feiyong,chepai,shijian,del)values(?,?,?,?,?,?)"; Object[]params={chedaohao,chexing,feiyong,chepai,shijian,del}; DBmydb=newDB(); mydb.doPstm(sql,params); mydb.closed(); req.setAttribute("message","操作成功"); req.setAttribute("path","shoufei?type=shoufeiMana"); StringtargetURL="/common/success.jsp"; dispatch(targetURL,req,res); } publicvoidshoufeiDel(HttpServletRequestreq,HttpServletResponseres) { intid=Integer.parseInt(req.getParameter("id")); Stringsql="updatet_shoufeisetdel=?whereid=?"; Object[]params={"yes",id}; DBmydb=newDB(); mydb.doPstm(sql,params); mydb.closed(); req.setAttribute("message","操作成功"); req.setAttribute("path","shoufei?type=shoufeiMana"); StringtargetURL="/common/success.jsp"; dispatch(targetURL,req,res); } publicvoidshoufeiMana(HttpServletRequestreq,HttpServletResponseres)throwsServletException,IOException { ListshoufeiList=newArrayList(); Stringsql="select*fromt_shoufeiwheredel='no'"; Object[]params={}; DBmydb=newDB(); try { mydb.doPstm(sql,params); ResultSetrs=mydb.getRs(); while(rs.next()) { TShoufeishoufei=newTShoufei(); shoufei.setId(rs.getInt("id")); shoufei.setChedaohao(rs.getString("chedaohao")); shoufei.setChexing(rs.getString("chexing")); shoufei.setFeiyong(rs.getInt("feiyong")); shoufei.setChepai(rs.getString("chepai")); shoufei.setShijian(rs.getString("shijian")); shoufei.setDel(rs.getString("del")); shoufeiList.add(shoufei); } rs.close(); } catch(Exceptione) { e.printStackTrace(); } mydb.closed();

温馨提示

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

评论

0/150

提交评论