基于Web停车场管理系统的设计与实现【附源码】

基于Web停车场管理系统的设计与实现
摘要:采用MyEclipse2014平台和Java语言开发了一款基于B/S结构的Web停车场管理系统。系统前台采用JSP技术动态生成Web网页,后台采用MVC开发模式降低代码的耦合度、提高代码的重用性。主要包含了系统信息管理、车位信息管理、IC卡信息管理、临时车辆停车管理和系统功能操作等模块。系统信息管理模块主要是对角色以及用户进行管理,车位信息管理模块主要是新增车位信息和车位信息的管理,IC卡信息管理模块主要是新增IC卡类型和IC卡基本信息的管理,临时车辆停车管理模块主要是新增临时停放车辆、车辆的出场信息和收取停车费用的管理,系统功能操作模块主要是对用户密码进行管理以及设置退出系统功能。该系统不仅具有良好的性能和扩展性,而且还具有较高的响应速度和效率,为实际生活中的停车场供了一个快速、简单、规范的管理平台。
关键字:J2EE;停车场管理;MyEclipse2014;MySQL;MVC
Design and Implementation of Parking Lot Management
System Based on Web
Abstract:A B/S-based Web parking management system has been developed using the MyEclipse 2014 platform and the Java language. The system foreground uses JSP technology to dynamically generate Web pages, and the background uses MVC development mode to reduce the coupling of code and improve the reusability of code. It mainly includes the modules of system information management, parking information management, IC card information management, temporary vehicle parking management and system function operation. System information management module is mainly to the role and user management, parking information management module is mainly the new parking information and parking information management, IC card information management module is mainly the new IC card type and IC card basic information management, temporary vehicle parking management module is mainly new temporaryparking vehicles, vehicle appearance information and parking fee management, system function operation module is mainly to manage the user password and set up exit system function. The system not only has good performance and extensibility, but also has high response speed and efficiency, which provides a fast, simple and standardized management platform for the parking lot in real life.
Keywords:J2EE; parking management; MyEclipse 2014; MySQL; MVC
引 言
随着社会的进步发展以及人们生活水平的提高,许多家庭都有了购置车辆的想法,伴随着车辆数量的迅猛增长,城市交通逐渐陷入瓶颈状态。不仅体现在道路交通的拥挤方面,还体现在传统停车场管理效率和安全滞后于社会的需要,给人们的生活带来了极大的不便。而且停车场作为交通设施的重要组成部分,随着交通运输的繁忙和发展,人们对其管理的需求也不断提高,都希望管理能够达到方便、快捷以及安全的效果。因为停车场的管理方法和规模的不一样,所以管理员可根据自身条件选择一个高效率、低成本的管理系统。
停车场管理系统是通过使用人员将车主信息上传至服务器来实现的,具体来说,就是使用者通过系统提供的网页进行数据录入,然后由服务端获取对应数据,将数据进行相关处理后,并存储到MySQL数据库中,然后使用者就可以查看到自己所操作的数据,便于对系统数据进行维护。而且作为一个以停车场管理体系为基础而开发的应用管理系统,本系统会针对停车场管理过程做信息化处理。在停车场管理过程中,主要涉及固定车位信息、临时车位信息、停车信息、车主信息等,通过对以上各个环节的信息化,提高停车场车辆的规范化管理,为以后的查询、统计作下基础。
第1章 绪 论
1.1 课题的研究背景
近年来,随着我国经济的快速发展,人们生活水平的不断提高,物质需求和生活方式也发生着深刻的变化,以前属于奢侈品的汽车己经逐步走入了市民的日常生活。且随着汽车大范围的普及,人们对停车场的需求也逐渐扩大。然而目前的多数停车场存在着以下几个问题,管理漏洞、收费过程比较繁琐、劳动强度高、停车场利用率低下、票款易流失等。针对这些问题该停车场系统从以下方面进行设计。针对管理进行了优化,针对收费过程的繁琐采用划卡消费和现金支付相结合并计时计费。本系统功能的实现主要采用的是JAVA语言和JSP技术,优化后的系统使用方便、服务高效、收费透明、防止票款的流失,提高可靠性同时也提高了操作者的工作效率。
本停车场管理系统前端用的是jsp技术。一种跨平台的动态网页标准,以java为脚本语言,将java代码嵌入到html代码中,将网页代码和网页逻辑分离,实现动态网页所需要的功能。在当今社会中JSP被很多的大中型企业所采用。JSP技术是J2EE非常重要的组成部分,是开发Web应用程序的首要之选,它使Web应用开发得到简化,使收益最大化。后台采用JAVA语言编写,JAVA语言不仅有安全稳定的特点而且一次编写随处运行。其作为一种企业级应用规范的J2EE,它是一个面向大众的、开放式的平台。被大多数企业用于实践操作,提高开发效率。
随着汽车数量大范围的增加以及社会的快速发展,一个方便、快捷的停车场显得尤为重要,因此一个服务大众为基础的停车场管理系统应运而生,因为系统简单、快捷的优点成为人们的首要选择。通过JAVA开发各模块组合之后与MySQL数据库连接,使停车场管理系统具备了良好的信息管理,在维护的时候比较容易,运行的时候效率也比较高,具有友好的界面和可移植性。
1.2 目的和意义
随着经济、科学的飞速发展,中国汽车的持有量不断地增加,一个完整的停车场管理系统显得非常重要。本系统解决了一般停车场存在的利用率低、收费繁琐等问题。使人们的生活更加的便捷,而且节省车主的时间,避免了一些不必要的事情发生,极大地增加了安全性,车主可以快速的进出场,使人们能够享受便捷的生活。最重要的是解决交通问题。其意义也在于以大众为核心,以服务大众为根本来设计。因为停车场管理系统是将数据存储在数据库中的,所以停车场管理系统在对于停车信息管理上展示效果更为直观。因此提高了人们生活效率,使得社会展更为迅速,让人们的生活变得更加美好。
1.3 国内外研究现状
停车场管理最主要的就是将停车场管理进行信息化处理。在停车场管理系统的信息化之中,主要包含有停车场车位信息管理、停车信息管理、车主信息管理等内容,现代化的停车场大多数都通过将系统进行信息化处理,并以此来提高停车场的竞争力和管理效率。而且停车场管理系统都用来进行信息化处理的都是停车场管理过程中的信息。一般停车场的管理过程主要有车位信息、停车信息、车主信息等,停车场管理系统通过将这些信息进行信息化来规范停车场的管理,为高效率的交通设施作下基础。
根据目前状况来说,在国外一些地区,特别是欧洲的一些国家停车产业的发展已有很多年的历史,并且已经得到了极好的发展。美国的停车产业每年收入越达到260亿美元,占全美GDP的3.25%。我国的汽车2020年的保有量会达到2.8亿辆,早在2015年国家发改委发布了《关于加强城市停车设施建设的指导意见》,第一次将吸引社会资本、推进停车产业化纳入到了国家层面。因为社会的发展我国汽车保有量的不断上升,由此会产生大量的停车需求,就发展而言停车业迎来了新的机遇。随着停车产业化的发展,大多数停车场会由原来的粗放经营模式转换为精细化经营模式。在目前停车场管理系统招标项目的中标企业中,停车场管理公司逐年上涨。2017年11月28日,华平投资集团对外宣布,向阳光海天停车管理集团投资共计15亿元,这次投资也是国内第一次、并且是最大的对停车行业的一笔股权投资。“互联网+停车”为停车产业迎来了新的发展思路,使停车业进入了智慧化、信息化的时代,并提高了停车场的利用率以及高效共享率,对推进智慧交通战略具有着深远的意义。“互联网+停车场”会成为停车发展的主要方向。
本系统紧跟社会的步伐,能够很好地处理传统停车场管理系统中不能实时动态处理问题,还有一些系统对车主信息不可以进行很好的保密。本系统中的系统信息管理功能、车位信息管理功能、IC卡信息管理等功能模块能够很好的解决这些问题。系统信息管理模块主要包含有新增角色信息、新增用户信息以及管理角色信息、管理用户信息。车位信息管理模块主要包含有新增车位信息以及对车位信息的管理。IC卡信息管理包括新增IC卡类型以及对IC卡类型的管理。本系统中的临时车辆停车管理和固定车主停车管理都有收费功能,收费可以分为现金收费和卡收费,通常会员用户进行卡收费,临时用户进行现金收费。提高信息处理的速度和准确性,能够准确、高效的查询和修改停车场的情况,从而提高效率。
1.4 系统开发的环境
1.4.1 开发工具与环境
开发工具与环境如图表1.1所示:
表1.1 开发工具与环境表
开发工具 MyEclipse2014
数据库 Mysql 5.5
辅助软件 ProcessOn
编程语言 Java、Html、JavaScript
1.4.2 软硬件平台要求
硬件平台:CPU:1.60GHz以及以上,内存:4G以及以上,硬盘:1T显示:1280×720分辨率最佳。
软件平台:操作系统:简体中文Microsoft Windows7,数据库:Mysql 5.5,开发工具:装有JDK的MyEclipse2014等工具,编程语言:Java。
1.5 系统设计的方法和技术
1.5.1 系统设计的方法
本系统在MyEclipse2014平台上运用Java语言来实现的。主要用到的技术为MVC设计方法进行开发。在最初MVC是存在于软件程序中的,MVC三个字母分别对应的是模型层、视图层和控制层,采用MVC开发设计模式的目的是为了降低代码的耦合度和提高代码的重用性,MVC设计模式可以使不同的软件程序以不同的形式展现。例如数据的统计可以使用各种各样的柱状或者饼状图来展示。控制层主要是用来控制模型层和视图层可以进行同步运行,如果模型层发生了改变,视图层就会进行同步的更新做出相应的改变。MVC设计模式是在上世纪八十年代研发的一种软件开发设计模式,现如今已经被非常广泛的应用。且MVC设计模式是有很多的非常棒的地方是一个很好的工具箱,很多软件应用的视图都可以用它来处理。
随着科学技术的不断发展,现在的应用程序需要各种各样的形式或者方式查看或者访问。MVC可以使用多个视图访问同一个服务器端的程序代码。例如,用户可以使用不同的客户端购买某一件东西,虽然使用的客户端不同但是处理购买东西的基本流程是一样的。但是由于后台返回给前端的数据没有进行格式化的处理,所以同样的构造不能被不同的视图共同使用。例如,不同的数据可以使用HTML来展示,也可用其他形式展示,并且改变这些展现只需要改变视图层的实现过程,并不需要动用模型层和控制层。因为在表示层已经将使用的数据和业务实现的规则分开,所以编写程序的代码就可以大规模的进行重用了。
1.5.2 系统所用相关的技术
本系统主要使用Java语言进行编写,JAVA语言目前市场上比较流行的编程语言。使用MyEclipse2014和Tomcat作为后台服务器来运行,本系统选择使用了B/S体系结构,这种体系结构比较灵活,真正体现了一次开发处处运行。数据库设计选择了MySQL ,MySQL数据库不仅使用简便、服务稳定,开放源代码且无版权制约,自主性强、使用成本低,接下来对本系统主要使用的平台和技术进行具体解释。
本系统使用MyEclipse开发平台来进行程序服务器的整合以此提高开发过程的效率。MyEclipse开发平台是对Eclipse 开发平台的进一步扩充,因为MyEclipse开发平台包含了完善的程序编码、程序调试、程序测试以及发布程序功能的整个过程,并且还支持超文本标记语言HTML,层叠样式表CSS,数据库SQL等。本系统在MyEclipse开发平台主要使用Java语言进行开发。所以本系统也是基于Java的。
本系统Web服务器使用的是Tomcat,因为Tomcat具有较高的可靠性适合中小型系统,不仅安装简单配置环境变量也很简单,而且操作起来也非常的方便,在所有的应用服务器中是比较小巧型的属于轻量级的Web服务器。开发程序和调试JSP界面的首要选择便是Tomcat。Tomcat服务器还具有很多便捷的功能,它不仅是Servlet和JSP容器而且它还可以处理HTML界面。
本系统数据库采用的是MySQL数据库, MySQL数据库是数据库中的小清新,因为 MySQL 数据库属于开源的且体积较小运行速度比较的快,所以MySQL数据库为中小型系统的首要选择,在目前的使用数量非常的广泛。由于MySQL数据库卓越的性能以及脱颖而出的特点,所以MySQL加上JAVA加Tomcat的组合成为了非常好的开发环境。
本系统前台界面使用JSP技术动态的生成Web网页。JSP和Servlet差不多一样都是在服务器端运行的,在程序运行之后一般会给给客户端一个响应,返回给客户端一个HTML文本。所以客户端只要是有浏览器就可以浏览到服务端返回给客户端的程序界面。且使用JSP开发的应用程序可以在不同的操作系统中运行。所以它还可以跨平台。
对于目前的管理系统来说,主要采用两种主流的体系结构,分别是C/S模式和B/S模式。本系统主要采用的是B/S架构模式,B/S的架构模式也被称为是浏览器或者服务器的体系结构。这种结构可以进行信息分布式处理,可以有效降低资源成本,提高设计的系统性能。目前B/S 架构模式的应用范围非常的广泛,不仅在处理模式方面上简化了客户端的操作,而且用户的桌面仅仅只安装有浏览器便可运行自己的程序,B/S的架构模式将应用逻辑集中在服务器和中间件上,大大的提高了处理数据的能力。
第2章 系统分析
2.1 系统可行性分析
经济可行性方面,由于该系统开发是我自己独立完成,所以不需要额外的费用,因此成本低。再有系统属于B/S架构,开发成功后可直接在浏览器运行,不需要过多的硬件支持。开发停车场管理系统也为人们的停车生活提供了便利。综上所述本停车场管理系统的开发在经济上是可行的。
技术可行性方面,本系统的开发采用适合于中小型项目的三大主流数据库之一的mysql数据库。后台采用MVC的设计模式,使得在开发过程中更加明确清晰,并且MVC也是最普遍的web开发设计模式。基本可以满足停车场管理系统的正常开发。
操作可行性方面,因为本系统主要是为了方便人们的生活。所以功能设计操作方面尽可能的便捷方便用户的使用。例如通过下拉菜单和弹窗来减少用户的操作。界面上的操作按钮也量的突显出来,方便用户能够快速的找到。因此操作可行性方面基本满足要求。
社会可行性方面,根据调查了解到大多数公共场所出现停车难、车位少等问题,停车场的效率十分低下,导致停车场的收益降低,且不安全。针对这种情况,有必要对停车场低效率的原因进程分析,并为提高停车场的效率提出改进的对策。经过具体的分析调查,我们得出的停车场管理系统在社会可行性的作用,因此从社会可行性的角度来看,开发停车场管理系统是可行的。
通过以上四个方面的可行性分析之后,可了解到停车场管理系统的流程还是比较简单,用户比较容易上手、可行性较高的。
2.2 系统性能分析
2.2.1 数据精确度
在本停车场管理系统的设计上,对于数据表的建立上采取了建立索引的方式,大大加快数据的查询速度。查询中也对模糊查询、条件查询和分页查询进行了优化。因系统属于中小型系统,数据量不是特别大,在数据精确度方面基本能够满足。
2.2.2 时间特性
本系统使用异步交互的实现方式,避免用户等待时间较长,使用户在较短时间内完成操作,因此本系统时间特性良好。
2.2.3 适应性
开发本系统考虑了人们社会生活中停车场的流程节点,因为系统由作者独立开发,所以如果用户遇到问题作者能够及时的进行解答并会详细帮助用户尽快的熟练操作。这对用户的适应性有很大的帮助。
2.3 系统需求分析
目前国内的许多地方包括超市、火车站、汽车站以及小区都有停车场,并且不同的停车场对管理系统有着不同的需求,但大多数停车场对管理系统的需求都会有一些共性。比如管理过程繁琐、停车场车位利用率低等问题。并且停车场作为交通设施的重要组成部分,随着交通运输的不断发展,人们会对其管理的要求也不断提高,大部分停车场管理人员都希望停车场管理能够达到方便、快捷以及安全的效果。因此为了提升管理效率就需要一个新型停车场管理系统。所以通过对社会生活中停车场管理系统的调查分析,以此开发了本停车场管理系统来提高停车场的效率和利用率。
第3章 系统的设计与实现
3.1 系统总体结构设计
停车场管理系统以科技飞速发展的当下社会为背景,主要用来为人们的日常生活提供便利。为了帮助读者对本系统的整体结构以及模块间的关系有一个整体的了解,也更是为了理清作者思路,并且能对系统功能提供效率较高的模块设计,也便于对后期进行维护和扩展,下面对该系统的总体结构设计进行阐述。
本停车场管理系统总共有六大块模块:分别是系统信息管理模块、车位信息管理模块、IC卡信息管理模块、固定车主停车管理模块、临时车辆停车管理模块以及系统功能操作模块。
管理员登录系统之后便可看到右边菜单栏中的车位信息管理,打开车位信息管理可根据车位编号、所属区域和备注对车位信息进行添加。在点击添加车位信息菜单连接进入新增车位基本信息界面将新增的车位基本信息按照规定填写完成后点击确定按钮提交就可以在管理车位信息操作界面中看到刚刚新增的车位基本信息。在管理车位信息操作界面中可查看所有添加的车位信息状况,在车位信息情况表的最上方可根据车位ID、车位编号、所属区域、车位备注以及车位状态查询到管理人员需要的车位信息。固定车主停车管理顾名思义是对停留时间久或私人化的车位进行的管理。在固定车主停车管理的出入场设置中可根据已添加的IC卡号添加入场信息,选中IC卡号下拉框可查询到之前添加的IC卡用户点击确定按钮即可添加入场信息。在下方的出场信息管理中可以查看到添加过的入场信息,可对车辆进行设置是否出场,点击设置出场即车辆出场。在停车信息管理中可查看到所有固定车主的停车信息以及出入场时间。如果车辆未出场则在出场时间中显示车辆未出场。且在出入场设置界面管理员点击设置车辆出场操作时,系统会根据车主停留时间计算是否达到一周,达到一周时间系统将自动跳出提示框提示管理员收费,费用为一周四百元以此累加。管理员可将所有停车信息导出Excel表格。临时车辆停车管理是为停留时间较短车辆设计的模块,在车辆入场信息中可根据临时IC卡号和车牌号码添加入场信息。在车辆出场信息中可查看到车辆的基本信息以及出入场时间,根据车辆停留的时间计算停车费用,具体为将新增临时车辆停车信息填写完毕之后点击确定跳转至车主出场信息界面,这时在车主出场信息中新增的车辆信息只显示车辆入场时间则车主出场时间显示状态未出场,如果设置车辆出场可在操作列中点击结算功能系统将根据车辆停留时间收取费用。
系统信息管理模块就是对系统的所有用户以及管理人员进行管理的模块,可新增用户以及管理人员,同样的也可对新增的用户以及管理人员信息进行基本操作。
系统功能操作模块主要为两个功能一个是修改密码功能一个是退出系统功能。用户登录系统成功后,便能直接的找到这个模块,对自己的密码进行更新。该系统的主要结构图如图3.1所示:

图3.1 系统的层次结构图
3.2 系统总体业务流程设计
系统业务流程在本系统中主要体现在从系统的登录开始,经过用户的一系列操作直到最后用户退出系统的整个流程。该系统主要包含了登录和注册、系统信息管理、车位信息管理、IC卡信息管理、临时车辆停车管理、固定车主停车管理和系统功能操作六大模块。系统信息管理模块主要是对角色以及用户进行管理,车位信息管理模块主要是对车位的查询和管理,IC卡信息管理模块主要是对IC卡类型的查询和管理,临时车辆停车管理模块主要是对临时车辆的查询和收取费用管理,固定车辆停车管理模块主要是对固定车辆的查询和收取费用管理,系统功能操作是对管理人员密码的修改以及退出系统。主要业务流程如图3.2所示:

图3.2 系统的业务流程图
3.3 数据库设计
3.3.1 数据库的概念结构设计
该系统数据库使用的是Mysql数据库,在系统的数据库中数据结构设计的是否合理会体现出这个系统的设计是否合理,合适的数据库设计不仅能够大大提高系统日后的开发的效率,而且对数据的可靠性和安全性方面也是非常重要的。
E-R图是体现数据库表结构与实体关系最简单明了的表现方式,在停车场管理系统中,主要有用户、IC卡、车位信息、固定车主、临时车主和角色六个实体,用下面的E-R图进行介绍展示。如E-R关系图3.3所示:

图3.3 E-R关系图
3.3.2 数据库的逻辑结构设计
下面是关于停车场管理系统的数据库表,主要的数据信息表大致结构分别如下:
●用户表
用户在注册的时候,需要输入名称和密码两部分,系统要在数据库中进行保存,这需要创建一个用户表,为了以后方便查询,还要给用户添加一个id,用户表具体内容如表3.1所示:
表3.1 用户表
序号 列名 数据类型 长度 主键 允许空 说明
1 User_id int 11 是 否 用户id
2 Role_id int 11 否 是 角色id
3 User_name varchar 50 否 是 用户姓名
4 Real_name varchar 50 否 是 真实姓名
5 User_pwd varchar 50 否 是 用户密码
6 User_phone varchar 50 否 是 用户电话
●IC卡信息表
IC卡信息表用来记录IC卡号以及车主的基本信息,在数据库中建一个表专门用来存储、IC卡编号、车位编号、用户名称、用户性别、家庭住址和车牌号。如表3.2所示:
表3.2 IC卡信息表
序号 列名 数据类型 长度 主键 允许空 说明
1 Card_id int 11 是 否 IC卡编号
2 Seat_id int 11 否 是 车位编号
3 User_name varchar 50 否 是 用户名称
4 User_Sex varchar 50 否 是 用户性别
5 User_addr varchar 50 否 是 家庭住址
6 Car_num varchar 50 否 是 车牌号
●车位信息表
车位信息表主要记录停车场的停车位信息,在数据库中建一个表专门用来存储车位ID、车位编号、所属区域、车位状态和车位备注。如表3.3所示:
表3.3 车位信息表
序号 列名 数据类型 长度 主键 允许空 说明
1 Seat_id int 11 是 否 车位ID
2 Seat_num varchar 50 否 是 车位编号
3 Seat_area varchar 50 否 是 所属区域
4 Seat_state varchar 50 否 是 车位状态
5 Seat_tag varchar 50 否 是 车位备注
●临时车辆停车管理信息表
临时车辆停车管理信息表主要记录临时车主停车管理,在数据库中建一个表专门用来存储车位ID、IC卡id、车牌号码、车辆入场时间、车辆出场时间和停车费用。如表3.4所示:
表3.4 临时停车管理信息表
序号 列名 数据类型 长度 主键 允许空 说明
1 temp_id int 11 是 否 车位ID
2 Car_id int 11 否 是 车位编号
3 Car_num varchar 50 否 是 车牌号码
4 Entry_date varchar 50 否 是 车辆入场日期
5 Entry_time varchar 50 否 是 车辆入场时间
6 Out_date varchar 50 否 是 车辆出场日期
7 Out_time varchar 50 否 是 车辆出场时间
8 Temp_money varchar 50 否 是 停车费用
●固定停车管理信息表
固定车主停车管理信息表主要记录固定车主停车管理,在数据库中建一个表专门用来存储车位ID、IC卡id、车辆入场日期、车辆出场日期。如表3.5所示:
表3.5 固定停车管理信息表
序号 列名 数据类型 长度 主键 允许空 说明
1 fixed_id int 11 是 否 车位ID
2 car_id int 11 否 是 IC卡id
3 entry_date varchar 50 否 是 车辆入场日期
4 entry_time varchar 50 否 是 车辆入场时间
5 Out_date varchar 50 否 是 车辆出场日期
6 Out_time varchar 50 否 是 车辆出场时间
7 Fixed_money varchar 50 否 是 停车费用
●角色表
角色表主要记录角色有哪些名称,在数据库中建一个表专门用来存储角色ID、角色名称。如表3.6所示:
表3.6 角色表
序号 列名 数据类型 长度 主键 允许空 说明
1 role_id int 11 是 否 角色ID
2 role_name varchar 50 否 是 角色名称
3.4 系统实现
3.4.1 登录注册功能实现
登录注册:在登录界面输入用户名和密码进行登录。填写登录信息时对用户名和密码进行验证,首先验证用户名和密码的输入不能为空。其次查找用户名和密码是否存在,如果不存在,提示出错并重新登录。登录主要代码位置:TestPark/src/DAL/login.java。该类主要是用户的登录操作方法,根据用户编号和角色编号获取用户名和角色信息。登陆的流程如图3.4所示:

图3.4 登录流程图
if(result){session.setAttribute(“user_id”, user_id);
String user_name=_login.getName(user_id);
session.setAttribute(“user_name”, user_name);
String role_id=_login.getSysLevel(user_id);
session.setAttribute(“role_id”, role_id);
request.getRequestDispatcher(“/Index.jsp”).forward(request, response);}
else {PrintWriter out=response.getWriter();
out.write(“”);}}
在登录界面点击注册按钮开始注册,注册相当于在数据库中新增用户信息。注册前进行判断查看用户名是否已经存在,如果用户名已经存在数据库,则新注册败,弹出对话框提示用户重新输入,以上功能将由RegisterHandle函数来实现。另外在插入数据的时候,还设要设置一个if语句来判断用户两次输入的密码是否一致,只有条件通过后,才能完成注册。
3.4.2 系统信息管理功能实现
系统管理模块是对角色以及用户进行管理的模块,主要包括有添加角色信息、管理角色信息、添加用户信息、管理用户信息功能,其主要业务结构图和流程图如图3.5、3.6所示:

图3.5 系统信息管理结构图

图3.6 系统信息管理流程图
添加角色:选中右边菜单触发超链接标签进入RoleAdd.jsp添加角色界面,在客户端输入编号和名称,点击确定触发BtnSure按钮提交表单,通过表单中的action地址找到RoleHandle类里面的InsertEntity()函数进行数据的添加。通过Request.getParameter()方法获取到客户端界面输入的值调用Role类里面的CheckExist()方法并进行If判断,将新增的角色编号和数据库存储的角色编号进行对比,如果值重复则弹出提示框已存在该用户,数据添加失败。若角色没有存在则添加数据成功,跳转到管理界面。
管理角色信息:管理角色信息可以根据用户的编号,角色名称进行查询操作、编辑、和删除操作。选中右边菜单触发超链接标签进入RoleMsg.jsp管理角色信息界面,通过Form表单中的action地址找到RoleHandle类并找到GetEntityByWhere()方法根据查询条件获取对象所有的数据列表,并将数据存放到Request对象里面。通过forward( request , response )方法将查询到的数据重定向到客户端的RoleMsg.jsp界面,在RoleMsg.jsp界面通过request.getAttribute(“list”)获取servlet端转发的list数据列表。在管理角色信息界面可以按照角色编号和角色名称进行查询,通过request.getParameter(“condition”)获取到查询字段的名称,再通过getEntityByWhere()方法执行语句对数据库进行查询。在RoleHandle类中通过getEntityByWhere()方法接收将查询到的数据返回给客户端通过客户端界面显示出来。编辑功能的实现首先在JSP页面获取通过url传过来的role_id,然后实例化Role 对象根据role_id获取Role数据,随后将将List数据转换成Object[]。然后通过输入框的value获取值。删除操作根据RoleHandle类找到deleteEntity()函数,再获取前台通过get方式传过来的role_id值然后调用Role类里面的deleteEntity()方法执行sql语句进行删除操作,删除成功后跳转至管理页面。
Int page=request.getParameter(“page”)==null?1:Integer.parseInt(request.getP arameter(“page”));
intwherePage=Integer.parseInt(role.getPageCountByWhere(where).toString());
List list=role.getEntityByWhere(where, page);
request.setAttribute(“list”,list);
request.setAttribute(“wherePage”,wherePage );
request.setAttribute(“condition”,condition);
request.setAttribute(“value”,value);
request.getRequestDispatcher(“/Admin/RoleMsg.jsp”).forward(request,response);}
添加用户:选中右边菜单触发超链接标签进入UserAdd.jsp添加用户界面,在客户端输入用户编号、用户名称、用户昵称、真实姓名、用户密码和联系电话,点击确定触发BtnSure按钮提交表单,点击重置BtnCancel按钮,将清空输入框。通过表单中的action地址找到UserHandle类里面的InsertEntity()函数进行数据的添加。通过Request.getParameter()方法获取到客户端界面输入的值,并调用Role类里面的CheckExist()方法来执行SQL语句成功返回True错误返回False。最后将结果通过UserHandle类返回给客户端。
管理用户:管理用户界面可根据用户编号、角色名称、用户名称、真实姓名进行查询、编辑和删除操作。选中右边菜单触发超链接标签进入UserMsg.jsp管理用户信息界面,删除操作根据UserHandle类找到deleteEntity()函数,再获取前台通过get方式传过来的JId值然后调用User类里面的deleteEntity()方法执行sql语句进行删除操作,删除成功后跳转至管理页面。
private void deleteEntity() throws IOException{
String user_id=request.getParameter(“user_id”);
user.deleteEntity(user_id);
response.sendRedirect(“/Parking/UserHandle?type=4”);}
3.4.3 车位信息管理功能实现
车位信息管理模块是对车位基本信息的添加以及对车位的基本信息进行管理的模块,车位信息管理可根据车位编号、所属区域和备注对车位信息进行添加。在点击添加车位信息菜单连接进入新增车位基本信息界面将新增的车位基本信息按照规定填写完成后点击确定按钮提交就可以在管理车位信息操作界面中看到刚刚新增的车位基本信息。在管理车位信息操作界面中可查看所有添加的车位信息状况,在车位信息情况表的最上方可根据车位ID、车位编号、所属区域、车位备注以及车位状态查询到管理人员需要的车位信息。其主要结构和流程如图3.7、3.8所示:

图3.7 车位信息管理结构图

图3.8 车位信息管理流程图
添加车位信息:添加车位信息可以通过车位编号、所属区域、车位备注点击确定之后进行添加。进入添加车位信息界面将信息填写完毕点击确定按钮,这时客户端会向服务端发送一个请求。通过Form表单的action地址找到SeatHandle类,通过SeatHandle类找到insertEntity()函数。在insertEntity()函数里面通过Seat类调用insertEntity()方法执行后台sql语句。再通过SeatHandle类的InsertEntity()函数进行IF判断如果seat.insertEntity()等于1添加数据成功反之数据添加失败。
if(!seat.checkExist(seat_id))
{if(seat.insertEntity(seat_id,seat_num,seat_section,seat_state,seat_tag)==1){
out.write(“”);}}
管理车位信息:管理车位信息可以查看车位的基本信息,还可以根据车位ID、车位编号、所属区域、车位备注、车位状态进行搜索查询,可以查看车位状态和对车位信息编辑和删除。点击管理车位信息进入超链接,通过超链接找到链接地址SeatMsg.jsp,再通过SeatMsg.jsp里面Form表单action地址找到SeatHandle类,在SeatHandle类的getEntityByWhere()函数中获取数据列表。具体为通过Seat类的getEntityByWhere()函数获取查询后的车位信息列表,再在SeatHandle类的getEntityByWhere()函数将数据存放到Request对象里面,最后通过forward( request , response )请求转发到SeatMsg.jsp来响应客户端。删除操作根据SeatHandle类找到deleteEntity()函数,再获取前台通过get方式传过来的seat_id值然后调用Seat类里面的deleteEntity()方法执行sql语句进行删除操作,删除成功后跳转至管理页面。编辑车位信息是根据seat_id确定唯一值,在SeatEdit.jsp界面通过request.getParameter(“seat_id”).toString()获取到url传过来的seat_id,然后实例化Seat对象根据ID获取Seat数据最后将将List数据转换成Object[]通过obj获取车位信息值显示在输入框。
response.setCharacterEncoding(“UTF-8”);
String seat_id=request.getParameter(“seat_id”).toString();
DAL.Seat seat=new DAL.Seat();
List seatList=seat.getEntityById(seat_id);
Object[] obj=(Object[])seatList.get(0);
3.4.4 IC卡信息管理功能实现
IC卡信息管理模块是对IC卡类型的添加以及对IC卡类型进行管理的模块,主要包括有添加IC卡类型、管理IC卡类型功能,其主要结构和流程如图3.9、3.10所示:

图3.9 IC卡信息管理结构图

图3.10 IC卡信息管理流程图
添加IC卡类型:添加IC卡类型可以根据车位编号、用户名称、用户性别、家庭住址和车牌号码进行添加。点击添加IC卡类型通过前端界面Index.jsp超链接进入CardAdd.jsp界面。添加时车位编号可直接下拉框显示,先实例化Seat对象然后获取到seat_id赋值给list并进行for循环随后将取得值放入object输出显示。
Seat seat=new Seat();
List list=seat.getNoUseSeat();
for(int i=0;i<list.size();i++){
Object[] object=(Object[])list.get(i);
out.write(“”+object[1]+“”);}
将信息填写完毕点击确定按钮提交Form表单,通过Form表单中的action地址找到CardHandle类的insertEntity()函数,在insertEntity()函数里面通过Card类的insertEntity()方法进行后台数据库的添加操作并将执行的数据存放到Request对象里面。如果数据添加成功提示数据添加成功并跳转到管理IC卡类型界面。
管理IC卡类型:管理IC卡类型模块可以根据IC卡编号、车位编号、用户名称、用户性别、家庭住址和车牌号码进行搜索查询。还可以选择指定信息进行编辑和删除。点击管理IC卡类型通过前端界面Index.jsp超链接进入CardMsg.jsp界面。通过Form表单中的action找到CardHandle类,在CardHandle类找到getEntityByWhere()函数,在getEntityByWhere()函数中使用card类获取getEntityByWhere()方法用于查询数据列表,将获取后的查询列表存入list中,之后将list数据存放到request对象中,用于转发给前台页面使用。通过request的forward(request, response)方法将页面返回到CardMsg.jsp,在CardMsg.jsp界面获取servlet端转发的list数据列表并循环数据列表,生成表格行。编辑功能的实现首先在JSP页面获取通过url传过来的card_id,然后实例化Card 对象根据card_id获取Card数据,随后将将List数据转换成Object[]。然后通过输入框的value获取值。删除操作根据CardHandle类找到deleteEntity()函数,再获取前台通过get方式传过来的card_id值然后调用Role类里面的deleteEntity()方法执行sql语句进行删除操作,删除成功后跳转至管理页面。
if(list!=null) {for(int i=0;i<list.size();i++){
Object[] obj;
obj=(Object[])list.get(i); out.print(“”+obj[0]+“”+obj[6]+“”+obj[2]+“”+obj[3]+“” +obj[4]+“”+obj[5]+“编辑删除”);}}
3.4.5 固定车主停车管理功能实现
固定车主停车管理:出入场设置、停车场信息管理。出入场设置可以设置用户的入场和出场和用户停车费用的结算,相应的在停车信息管理界面中有一个展现。停车信息管理可以对车主的停车基本信息进行查询和打印。其主要结构和流程如图3.11、3.12所示:

图3.11 固定车主停车管理结构图

图3.12 固定车主停车管理流程图
出入场设置:出入场设置最主要的功能是可以设置用户的入场和出场,相应的在停车信息中有一个展现。固定车主成功办理IC卡后在固定车主的出场设置界面中可获取固定车主的IC卡号,并根据车主的IC卡号来添加车主的入场信息。在界面通过下拉框的方式获取固定车主的IC卡号点击确定按钮将添加好的车主信息展示在下方的出场信息管理中。下拉框显示的车主信息是获取的车主添加IC卡成功之后信息,这个功能使用card_id作为标识符获取到Card的IC卡号,实例化Card类并通过Card类调用getEntity()函数将card_id值循环取出并显示在下拉框中。在出场信息管理中可以设置车辆的出场。点击设置车辆出场类似于一个删除操作将设置过车辆出场的车辆信息在出入场设置中删除,在此同时在停车信息管理里面出场日期会发生改变。停车信息管理的日期会从刚开始的未出场状态自动生成为一个确定的日期时间。
List list=(List)request.getAttribute(“list”);//获取servlet端转发的list数据列表
out.write(“”);
out.write(“”);
if(list!=null) {
for(int i=0;i<list.size();i++){
Object[] obj;
obj=(Object[])list.get(i);
String result=obj[4].toString().equals(“1111-11-11”)?“未出场”:obj[4].toString(); out.print(“”+obj[0]+“”+obj[1]+“”+obj[7]+“”+obj[6]+“”+obj[2]+" “+obj[3]+”“+result+”删除");}}
停车信息管理:在停车信息管理中可根据记录编号、IC卡号和车牌号码进行模糊查询。会显示车辆的入场日期时间可出场日期时间,如果车辆未出场则在出场日期显示车辆未出场。功能具体实现首先通过request.getAttribute()获取到FixedHandle类转发的list数据列表并循环数据列表生成表格行。还可将生成的表格生成Excel导出。根据记录编号、IC卡号和车牌号码进行模糊查询功能具体实现过程为在FixedHandle类找到getEntityByWhere()函数,在getEntityByWhere()函数中通过request.getParameter()获取查询字段的名字,通过Fixed类的getEntityByWhere()方法获取查询后的数据并将数据存放到request对象中,用于转发给前台页面使用。删除操作根据FixedHandle类找到deleteEntity()函数,再获取前台通过get方式传过来的Fixed_id值然后调用Temp类里面的deleteEntity()方法执行sql语句进行删除操作,删除成功后跳转至停车管理页面。
固定车主收费功能的实现:由于本系统的固定车主停车管理模块主要是为了停留至少一周时间的车主所设立的。所以在出入场设置界面管理员点击设置车辆出场操作时,系统会根据车主停留时间计算是否达到一周,达到一周时间之后系统将自动弹出提示框提示管理员收费,费用为一周四百元以此累加。管理员点击操作列的结算功能将跳转至结算界面,在结算界面会显示固定车主的基本信息以及停留时长和应收取的费用。具体实现为点击设置出场时进行IF判断,在IF判断里面获取车辆入场和出场累积时间,如果时间大于等于一周弹出请收费提示框并跳转至停车管理操作界面,如果时间小于一周弹出是否确认出场提示框。在停车信息管理界面,管理员选择时间大于一周的车主信息点击操作列的结算功能触发超链接跳转至FixedSettle.jsp界面,在FixedSettle.jsp页面获取url传过来的fixed_id并实例化Fixed对象,根据fixed_id获取Fixed数据并将Fixed数据转换成Object[]赋值给obj,通过obj获取到车辆停放时间以及基本信息。计算费用在function()函数里面首先通过日期列input标签的name获取到车辆入场时间和出场时间,之后通过获取到的出场时间减去入场时间。再用Math.ceil()方法向上取整得到一个整数时间并显示在输入框中,IF判断如果时间等于168小时则显示费用为400元。点击确定按钮之后系统跳转至车辆信息管理界面,这时车辆出场时间的状态改变由未出场状态变为具体出场时间。如果时间小于一周在停车信息管理界面车辆的出场时间也会变为具体时间,管理员可在结算界面查看车辆在停车场的停留时长不做结算。
3.4.6 临时车辆停车管理功能实现
临时车辆信息管理:主要是对车主入场信息以及车主出场信息进行操作和管理。新增车主入场,点击新增车主入场界面将新增车辆基本信息填写完毕后点击确定按钮系统将自动跳转至车辆出场信息管理界面,在车主出场管理界面可以根据临时车辆停放的时间进行收费,具体为在车主出场信息界面车主出场信息中新增的车辆信息只显示车辆入场时间则车主出场时间显示状态为未出场状态,如果要设置车辆出场可在操作列中点击结算功能系统将根据车辆停留时间收取费用。停车出场信息还可以对临时车辆的基本信息进行查询和打印。其主要结构和流程如图3.13、3.14所示:

图3.13 临时车辆停车管理结构图

图3.14 临时车辆停车管理流程图
车主入场信息:车主入场信息相当于一个添加功能。填写好临时IC卡号和车牌号码点击确定按钮即可添加。点击提交按钮将触发Form表单,通过Form表单的action地址找到TempHandle类的insertEntity()函数,在insertEntity()函数里面通过request.getParameter()得到客户端传入的值。在insertEntity()函数里面调用Temp类的insertEntity()方法进行数据库操作,临时卡号和车牌号码不允许为空,在insertEntity()函数里面进行IF判断如果为空弹出提示框显示车牌号码不能为空。
if(!temp.checkExist(card_id)){
if((card_id!=null &&card_id!=“”)&&(car_num!=null&&car_num!=“”)){
if(temp.insertEntity(temp_id,card_id,car_num,entry_date,entry_time,out_date,out_time,temp_money)==1){ System.out.println(“card_id=”+card_id);
System.out.println(“car_num=”+car_num);
out.write(“”);}}
车主出场信息:临时车主停车信息管理可以对临时车主的信息进行删除和查询。具体功能实现为通过TempHandle类的getEntityByWhere()函数获取对象的所有数据列表,将数据存放到request对象中,用于转发给前台页面使用。在前台页面通过request.getAttribute()获取控制端转发的list数据表,循环数据列表生成表格显示。模糊查询功能具体实现过程为在TempHandle类找到getEntityByWhere()函数,在getEntityByWhere()函数中通过request.getParameter()获取查询字段的名字,通过Temp类的getEntityByWhere()方法获取查询后的数据并将数据存放到request对象中,用于转发给前台页面使用。删除操作根据TempHandle类找到deleteEntity()函数,再获取前台通过get方式传过来的temp_id值然后调用Temp类里面的deleteEntity()方法执行sql语句进行删除操作,删除成功后跳转至管理页面。
停放车辆收费功能实现:在车主出场的时候根据车辆的停留时间进行收费,车辆如果未出场在出场日期列显示状态为未出场,停车费用列状态显示为未结算。点击操作列的结算功能将跳转至结算界面,在结算界面会显示车辆基本信息以及停留时长和应收取的费用,停留时长一小时或不满一小时收费三元并以此叠加。具体实现为用户点击结算将触发超链接跳转至TempEdit.jsp页面,在TempEdit.jsp页面获取url传过来的temp_id并实例化Temp对象,根据temp_id获取Temp数据并将Temp数据转换成Object[]赋值给obj,通过obj获取到车辆停放时间以及基本信息。计算费用在function()函数里面首先通过日期列input标签的name获取到车辆入场时间和出场时间,之后通过获取到的出场时间减去入场时间。再用Math.ceil()方法向上取整得到一个整数时间并显示在输入框中,通过获取到的价格乘以时间最后得到一个总价。点击确定按钮之后系统跳转至车主出场信息界面,这时车辆出场时间的状态改变从未出场变为具体出场时间。
var lessTime=new Date(dateOut).getTime()-new Date(dateEntry).getTime();
var hours=Math.ceil(parseFloat(lessTime)/(10006060));
$(“[name=time]”).val(hours);
( " [ n a m e = t e m p m o n e y ] " ) . v a l ( ("[name=temp_money]").val( ("[name=tempmoney]").val((“[name=price]”).val()*hours);
$(“[name=price]”).blur(function(){
( " [ n a m e = t e m p m o n e y ] " ) . v a l ( ("[name=temp_money]").val( ("[name=tempmoney]").val((“[name=price]”).val()*hours);});
3.4.7 系统功能操作功能实现
系统功能操作包括修改密码和退出登录功能,其主要流程如图3.15所示:

图3.15 系统功能操作流程图
修改密码功能实现:点击修改密码面界面输入原始密码使用UserHandle类的chagePwd()函数,在chagePwd()函数里面使用user类调用checkPwd()方法检查密码是否输入正确。新密码和确认新密码是在ChagePwd.jsp界面写了一个checkPwd()函数,如果两次密码输入不一致弹出一个提示框提示两次密码不一致请重亲输入。
function checkPwd(){
if( ( " [ n a m e = N e w P w d ] " ) . v a l ( ) = = ("[name=NewPwd]").val()== ("[name=NewPwd]").val()==(“[name=RepPwd]”).val()){
return true;}
alert(“两次输入密码不一致,请重新输入”);
return false;}
退出登录功能:当用户退出系统时,点击退出登录会跳转到Logout.jsp页面,在Logout.jsp页面重定向到登录界面。
session.invalidate();
response.sendRedirect(“/Parking/Login.jsp”);
第4章 系统的测试
测试是为了发现软件项目设计中存在的缺陷而执行程序的过程,同时也是软件程序中的最后一个步骤。测试可以测试项目的性能是否符合要求,以及项目预期功能是否全部实现,也可以查找出软件设计的不足以及是否符合用户的需求。比如程序功能异常,前端界面拉伸问题等。总的来说测试就是测试软件是否达到了预期结果。
4.1 测试方法
系统测试分为几个不同的阶段分别有单元测试、集成测试、系统测试和验收测试阶段。
单元测试:测试各个代码块是否能正常,且能发现代码设计的不合理之处。
集成测试:集成测试是在单元测试的基础上进行的测试,测试各个子模块连接起来是否能够正常工作。
系统测试:系统测试是在单元测试和集成测试的基础上进行的测试,且是对整个系统的测试以查看软件是否有潜在的问题并保证系统能够正常的运行。
验收测试:验收测试是由用户参与的测试。在完成上述测试之后 ,软件要进行实际用户数据测试之后方可发布。
4.2测试内容
首先将项目部署到服务器之后运行项目看是否报错,运行成功后对界面进行查看,看界面布局等内容,然后对各个功能进行点击测试,看能否达到需求。
登陆界面如图4.1所示:注册界面如图4.2所示:

图4.1 登录界面

图4.2 注册界面
打开系统信息管理菜单栏如图4.3所示,管理用户信息的界面如图4.4所示:

图4.3 系统信息管理

图4.4 管理系统用户
打开车位信息管理菜单栏如图4.5所示:管理车位信息的界面如图4.6所示:

图4.5 车位信息管理

图4.6 管理车位信息
打开固定车主停车管理菜单栏如图4.7所示:停车信息管理的界面如图4.8所示:

图4.7 固定车主停车管理

图4.8 停车信息管理
打开临时车辆信息管理菜单栏如图4.9所示:车辆出场信息的界面如图4.10所示:

图4.9 临时车辆停车管理

图4.10车辆出场信息管理
系统功能测试如表4.1所示:
表4.1 系统功能测试表
模块名称 测试内容 测试情况 实际结果

用户
模块
注册 使用错误字符进行命名,密码长度小于六位的情况下进行注册,系统会提示重新输入;使用已注册的用户名进时,也显示失败;两次输入的密码不一致时,无法进行注册;正确输入时,注册成功。




登录 输入不存在的账户,无法登录;密码错误时,登录失败;正确输入注册过的账号后,登录成功。

系统
信息
管理
模块 添加角色信息 点击添加角色信息菜单,可以正常添加角色。
管理角色信息 点击管理角色信息菜单,可以对角色进行查询编辑和删除。
添加
用户信息 点击添加用户信息菜单,可以正常添加用户。
管理用户信息 点击添加角色信息菜单,可以对用户进行查询编辑和删除。
车位
信息
管理
模块
添加车位信息 点击右方的车位信息管理菜单栏,可以对车位编号、所属区域进行添加。
管理车位信息 点击右方的车位信息管理菜单栏,可以对车位进行查询、编辑和删除。

IC卡
信息
管理
模块
添加IC卡类型 点击右方的IC卡信息管理菜单栏,可对IC卡类型进行添加。
管理IC卡类型 点击右方的IC卡信息管理菜单栏,可对IC卡进行查询、编辑和删除。
固定
车主
停车
管理
模块 出入场设置 点击右方的固定车主停车信息管理菜单栏并打开出入场设置,可添加入场信息并查询出场信息。
停车信息管理 可对停车信息进行查询编辑并可将全部停车信息管理导出Excel表格。
临时
车主
停车
管理
模块 车主入场信息 可添加临时IC卡号、车牌号。
车主出场信息 可对停车信息进行模糊查询编辑并可将全部停车信息管理导出Excel表格。
系统功能操作 修改密码 可对密码进行修改。
退出系统 点击退出系统将退出登录。
4.3测试结论
结果显示项目可以正常运行并无常现象。软件操作界面可以正常的显示,所有功能都能够正常操作。经过以上测试,可以保证停车场管理系统可以正常运行,且展示效果较好,基本达到了预期结果以及项目的设计需求。
结 论
本毕业设计实现了停车场管理系统的预期功能并达到了预期目的,且系统中的功能基本满足人们实际社会生活中对停车场管理系统的需求。在选定课题之后,我开始搜集查找一些相关的资料,然后结合社会的实际情况,开始设计停车场管理系统。在完成设计的过程中不仅锻炼了自己的逻辑思考能力还锻炼了自己对代码的敏感度。经过本次毕业设计,使我明白了设计不是盲目的去直接进行代码实现,而是要有计划和方法。
虽然系统的功能实现了,但是也有很多的不足之处。例如在系统的功能交互方面,要多为用户考虑,尽可能提升用户体验,不能只是以自己开发的角度去看待,只是以实现功能为目的,应该多方面考虑,还有就是收费需要根据车辆停放的时间之后管理员根据车牌号码在系统查找然后系统计算费用车主进行缴费,那是否可以用扫描仪器扫描到车辆的车牌号码时系统会自动的就会显示出车辆的基本信息呢?由于自己对这方面的专业知识还不够透彻所以没能完成,之后希望能通过自己知识的积累将这个功能完善。总之,本次毕业设计做的很有意义,因为只有亲身体会了才能知道自己的不足之处并加以改正。学习是不断积累的过程,在进行毕业设计的过程中通过查阅各种资料,学到了一些别人的代码思路以及规范方法,也复习和积累了很多专业知识并为以后的学习和工作积累了经验。
参考文献
[1] 赵亚娟.计算机软件JAVA编程特点及其技术研究[J].数字技术与应用.2016.
[2] 于用真.厦门市智慧停车信息系统建设研究[D].华侨大学.2015.
[3] 田家旗.Java开发语言的开发平台与J2EE编程技术问题的研究[J].信息技术与信息化.2016.
[4] 池建,侍非.小区停车场管理信息系统设计[J].智能计算机与应用.2015.
[5] 王浩.JAVA源代码缺陷分析系统的设计与实现[J].信息技术与信息化.2016.
[6] 贺展,刘菲.基于C/S和B/S模式的高校教务信息系统[J].武汉科技学院报.2015.
[7] 徐唐倩惠,俞琦蕾,智露.城市立体停车场管理信息系统设计[J].智能计算机与应用.2017.
[8] 贾文潇,邓俊杰.Java Web应用中常见的错误和异常问题处理[J].电子测试.2016.
[9] 袁伟华.Java线程池的研究与实现[J],电脑编程技巧与维护.2015.
[10] 王思为.企业用户停车服务管理信息系统设计与分析[D].南京邮电大学.2015.
[11] Varga, M.,Lapin, I.,Kacur, J… Performance evaluation of GMM and KD-KNN algorithms implemented in speaker identification web-application based on Java EE[P]. ELMAR (ELMAR), 2014 56th International Symposium.2014.
[12] Michael Morrison. Head First JavaScript. [M]. O’Reilly Media, Inc. 2017.
[13] 秦楷.JAVA语言特点及其在计算机软件开发中的运用[J].中国新通信.2019.
[14] 张剑.基于JSP技术的中文乱码原因分析及对策研究[J].山西电子技术.2016.
[15] 马建红.JSP应用与开发技术[J].第三版.清华大学出版社.2018.
[16] 苏航.接口的意义及在java web三层架构中的作用分析[J].西部皮革.2016.
[17] 葛萌,张琳娜,陈伟.Java多态性机制应用研究[J].攀枝花学院学报.2016.
[18] 王明鑫,于立婷,孙仲霖.简述Java编程语言的发展及优势[J].通讯世界.2016.
[19] 徐茂.浅析面向SQL数据库注入攻击的Java Web防御措施[J].网络安全技术与应用.2016.
[20] 贾晓芳,沈泽刚.Java Web应用开发中的常见乱码形式及解决方法[J].软件导刊.2017.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

广西千灵通网络科技有限公司

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值