基于JavaEE的公共自行车管理系统——毕业论文_第1页
基于JavaEE的公共自行车管理系统——毕业论文_第2页
基于JavaEE的公共自行车管理系统——毕业论文_第3页
基于JavaEE的公共自行车管理系统——毕业论文_第4页
基于JavaEE的公共自行车管理系统——毕业论文_第5页
免费预览已结束,剩余21页可下载查看

下载本文档

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

文档简介

本科毕业论文(设计) 题 目 基于JavaEE的公 共自行车管理系统 专 业 软件工程 作者姓名 学 号 单 位 聊城大学 指导教师 年 月 教务处编目 录目 录1摘 要2Abstract3前 言11. 绪论11.1 系统开发背景及意义11.2 本文主要工作21.3 关键问题解决32. 系统需求分析与获取32.1 系统概述32.2 系统需求分析33. 开发工具介绍43.1 eclipse43.2 Oracle数据库54. 详细设计54.1 包、类结构设计54.2 数据库设计65. 系统实现与测试65.1 系统总体实现65.2 系统关键功能及算法实现9结束语14参考文献16致 谢17摘 要公共自行车管理系统是一款用于规范公共自行车租借行为,保护公共财产的用户实名制管理系统。当今公共自行车租借在中国已经比较普及,广泛应用于城市公共交通基础设施建设,在学校,小区,商业街的附近经常可以看到它的身影。可是公共自行车避免不了的会受到用户或者他人的恶意损坏,为了保护广大群众的公共利益不受侵害,公共自行车管理系统应运而生。该系统限制用户注册必须实名,以评分为基础对用户信用度进行判断并做出相应处罚措施,最大程度的避免用户恶意损坏公共财产。本系统开发时使用的工具有Eclipse,Oracle数据库,涉及到Java,JavaScript,jsp,struts2框架相关的知识,通过jdbc技术完成Java与数据库的数据交互。系统实现了用户的注册,登录,信息查询,信息修改的功能,根据车辆损坏状态的最后使用者判定负责人,以信用评分的方式监管用户借车行为。关键词:公共自行车;信用度;实名;EclipseAbstractPublic Bicycle Supervise System is a real-name registration system which was used for reconcile the behavior of rent public bicycle,protect common property.Now the public bicycle was general in China,extensive use in city common traffic infrastructure construction,we can easy to see them in school,village and business street. But public bicycle is hard to avoid the evil damage from user or other people,Public Bicycle Supervise System was born to protect peoples common property.this system require user enroll with real-name,based on score to judge users credit standing that make corresponding punishment measures,at utmost to avoid user destroy public property.This system consists of development tool called Eclipse and Oracle database,involve the knowledge of Java,JavaScript,jsp and struts2,jdbc technology connect Java and database complete data alternation.The system has finished the function of users register,entry,information query,information amend.Person liable is a man who used the bicycle at the last time before the bicycle was destroyed,supervise users rent behavior with credit rating.Key words: Public bicycle; Credit line; Real-name; Eclipse聊城大学本科毕业设计基于JavaEE的公共自行车管理系统的设计与实现前 言当今时代,公共自行车成为了大家出行的宠儿,它不仅具有方便,快捷,环保的特点,随取随用和低收费也是获得大家青睐的重要原因。不过在公共自行车的发展过程中,有一部分人却要违背社会的主旋律,做出损坏公共自行车这种损人不利己的行为,对社会造成了很坏的影响,影响了大家的公共利益。该系统通过对租车用户进行实名制注册的方式,规范用户“反正不是我自己的就不用爱惜”的思想,通过信用度评分的措施对用户进行处罚和管理,改善公共自行车租借市场的乌烟瘴气。本系统的操作界面并非传统业务处理界面那样难懂,适用于任何计算机操作水平的用户,致力于做到任何阶层,任何文化水平的用户都可以轻松掌握系统的使用方法。1. 绪论1.1 系统开发背景及意义公共自行车并非新事物,阿姆斯特丹早在1965年就进行了“公共自行车”项目,在当时被称作“WitteFietsen”,但是由于损坏,偷窃等问题不断出现,这个项目最终被叫停。12到了2007年,法国巴黎重启项目,推出“单车自由骑”,该活动取得了巨大的成功,起到了缓解交通拥阻和遏制环境污染的目的,但是损坏,偷窃仍旧是一个挥之不去的问题,让经营者付出了很大代价。3同年,中国国内开始引入具有一定使用价值的公共自行车系统,开启了由政府主导分城市统一管理的模式时代,此后,共享单车一发不可收拾,永安行,ofo,摩拜等公司的成立,象征着中国共享单车市场进入群雄争霸的时代。4在法国,有四万余量公共自行车,遍及全国三十多个城市,足以满足人口密集区的自行车租借需求。不过这个数量并不是最终结果,此后法国公共自行车的数量快速增长,骑自行车的人士增加了将近一半,每年使用公共自行车的数量破亿。6不仅仅是法国,全球至少49个国家的500多个城市建立了公共自行车系统,连迪拜也于2013年建立了公共自行车系统。7丹麦多年来都提倡“绿色交通”,仅仅需要付出少量的代价便可以租用自行车,据统计显示,每辆自行车的空闲时间只有8分钟,足见其受欢迎程度。8在英国,许多乘客都可以使用公共自行车环游英国,9在伦敦,租车系统全天24小时运行,当租车者到达停车位却无空位时,可以操作显示屏搜索附近空闲车位进行查找。公共自行车出行不仅方便快捷,绿色环保,使用成本还要明显低于驾车出行,因此深受人们的青睐。但是公共自行车风靡中国以来,出现了越来越多的报道公共自行车被破坏的新闻,很多扫码租车的单车车身上的二维码被撕掉,敲碎,喷黑导致车辆无法使用,甚至还有车轮被撞歪,锁芯被水泥封住,电缆被盗走的恶劣现象。很多媒体调查结果显示,做出破坏公共自行车的行为的人要么是因为公共自行车的出现影响了自己的单车租赁生意,因此心生怨恨,用极端的方式对待公共财物,要么是因为不是个人财产因此毫不爱惜,无论自行车受到了什么损伤都不以为然。5由此可见,公共自行车市场急需有效的管理手段来规范,而车被破坏可分为停放时被破坏和租借过程中被破坏两种方式,停放时被破坏可由监控控制,租借时缺乏有效的管理手段,利用租借管理系统起到车辆租赁期间个人负责的作用,有效的控制租借者的行为。11公共自行车管理系统是一个界面清晰简单的管理系统,用户可以轻松的登录系统进行相关业务操作。该系统的目标是约束用户租借自行车时的行为,加强人们对公共财产的保护意识,避免一个即有利于环境保护又有利于身体健康的公益项目破产。121.2 本文主要工作本片论文需要完成现状分析,系统需求分析,需求获取,主体业务编码实现,程序测试的任务。国家目前正处于经济实力日益增强,私人汽车数量激增的发展阶段,随之而来的便是交通拥堵,环境污染,世界气候变化的严重问题13,这一切都与人类的行为活动密切相关,在国家大力提倡低碳经济的时代,自行车逐渐成为人们出行的首选。14自行车作为一种不消耗能源,无污染的绿色交通工具,是一种可持续的交通方式,15作为公共交通的末端交通工具,自行车可以弥补公共交通线路密度不足的缺陷,减少汽车使用量,促进节能减排,实现绿色出行。16该系统需要完成用户的实名登记,用户行为记录的功能,可跟不同的管理员系统配合使用,开发用户帐号停解权管理,账户数据修改,帐户数据维护,手机认证等功能,在满足系统功能设计的同时加入社交,分享等板块降低系统与生活的距离感。1.3 关键问题解决1. 用户信息的更改2. 车辆损坏状态的责任判定2. 系统需求分析与获取2.1 系统概述公共自行车管理系统是针对公共自行车租借市场设计的管理软件,主要用于规范用户行为,减少新闻报道中出现的恶意破坏公共自行车的行为而设计的管理系统。该系统采用记分制计算用户的信用度,依据用户还车后的车辆状态来判断车辆损坏的责任人,对破坏公共财产行为起到约束作用。2.2 系统需求分析2.2.1 系统总体业务描述该系统的设计目的是为了规范用户的借车行为,通过评分的方式使用户加强公共财产保护的意识,合理合法地使用公共自行车,真正做到方便大家。用户在使用该系统时的操作权限有注册功能,用于注册新用户以使用公共自行车。登陆后默认界面是欢迎界面,显示轮播的广告和时间日期,用户可在菜单栏选择个人信息功能以查看注册时填写的信息,如果信息有误或者想修改登录密码则可以选择菜单栏“账户管理”页面进行信息修改申请,修改信息时的填写规范同注册时一致;通过点击“借车记录”可查看当前账户的借车历史;点击右上角“退出”则返回到登录页面注销用户。2.2.1 系统功能性需求1.完成用户注册时关键字段信息重复的检查2.完成用户登录校验3.完成用户信息传递4.完成用户信息修改5.读取数据表格显示6.根据关键字段查询2.2.2 系统非功能性需求1. 用户责任判断方式2. 界面简洁清晰3. 开发工具介绍3.1 eclipseEclipse是一个开放源代码的、基于Java的可扩展开发平台。虽然其本身只是一个框架平台,但是众多插件的支持,使得Eclipsc拥有较佳的灵活性。Eclipse的插件机制是轻型软件组织性架构,可以使用插件来提供所有的附加功能。3.1.1 javascript技术简介JavaScript是一种属于网络的脚本语言,已经被广泛应用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身功能的。JavaScript是一种解释性脚本语言,主要用来向HTML页面添加交互行为;可以直接嵌入HTML界面,但写成单独的js文件有利于结构和行为的分离;具有跨平台的特性,在绝大多数浏览器的支持下可以在多种平台下运行。JavaScript脚本语言同其他语言一样,有它自身的基本数据类型,表达式和算术运算符及程序的基本程序框架。JavaScript提供了四种基本数据类型和两种特殊数据类型用来处理数据和文字。而变量提供存放信息的地方,表达式则可以完成较复杂的信息处理。3.1.2 jsp简介JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。它实现了Html语法中的java扩展(以 形式)。JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。3.1.3 struts2框架简介Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。3.2 Oracle数据库ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的一种中间件。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。174. 详细设计4.1 包、类结构设计程序的包结构根据架构划分为五层:实体层(POJO层):由POJO(Plain Old Java Object)组成,与数据库中的表对应,用于持久化数据。数据访问层(DAO层):由DAO(Data Access Object)组件组成,提供对实体对象的创建、查询、删除和修改等操作。业务逻辑层(Service层):由业务逻辑对象组成,用于实现系统所需要的业务逻辑方法。控制器层(Controller层):由控制器组成,用于响应用户请求,并调用业务逻辑组件的对应业务方法处理用户请求,然后根据处理结果转发到不同的表现层组件。表现层(View层):由页面或其他视图组件组成,负责收集用户请求,并显示处理结果。4.2 数据库设计数据库中有用户,借车记录,车辆三个表。用户表:用户id,用户昵称,登录密码,真实姓名,身份证号,性别,生日,评分车辆表:车辆id,车辆当前状态借车记录表:用户id,车辆id,归还时间业务流程为:用户id根据索引或全局变量自动生成,并作为用户表的主键存在,与其他表相关联。车辆表的主键为车辆id,也是由索引或全局变量生成。借车记录表中必不可少包含用户id和车辆id,在加上还车时间的字段来判断是谁在车辆损坏的前的最后一个借车人。5. 系统实现与测试5.1 系统总体实现打开网页进入登陆界面,可输入已有的帐号密码进行登录操作,登陆界面如图1所示:图1 系统登陆界面若没有帐号可点击右下角注册按钮进行注册:图2 用户注册页面通过验证后点击提交自动返回登陆页面,可用注册成功的账号进行登录,“我的桌面”欢迎界面由读取时间、日期和设置轮播广告的js脚本组成:图3 登陆成功后的轮播广告界面“个人信息”栏目中可查看当前用户已经设置的个人信息,根据评分的高低右侧会显示不同的图片提醒用户当前的信用度等级:图4 个人信息界面“借车记录”栏目中可以查询到当前用户的借车历史纪录:图5 借车记录页面“账户管理”栏目中可对账户信息进行修改,系统将用户的注册信息自动填入表单,可根据需求只修改目标数据:图6 账户管理界面5.2 系统关键功能及算法实现1.用户登录界面的表单验证:若用户选择直接登录系统,那么用户名和密码是必填的,如果不填写用户名和密码,系统会弹出提示窗口提示“用户名不能为空”或者“密码不能为空”;如果输入了错误的帐号密码则会调用js脚本在页面提示“用户名或密码输入有误”。在DBoperate类中的DBSelect(String aimValue,String tableName,String tableAttribute,String numLimit)方法中处理用户登录提交的信息:con = DBConnect.getConn();String selectSQL = select + aimValue + from + tableName + where + tableAttribute + LIKE + numLimit + ;try pst = con.prepareStatement(selectSQL);rs = pst.executeQuery();if(rs.next()/查询到相关数据/System.out.println(rs.getString(1);LoginAction.loginFlag = 1;LoginAction.dataFlag = rs.getString(1);/=关闭资源=DBConnect.getClose(con, pst, rs); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace(); 在LoginAction中通过设置全局变量的方式对返回结果做出判断:DBoperate dbo = new DBoperate();HttpSession session = request.getSession();dbo.DBSelect(UPASS, CM_USER, UNAME, username);if(loginFlag = 1 & password.equals(dataFlag)/通过查询方式读取其他数据存入对应属性中dbo.DBSelect(USEX, CM_USER, UNAME, username);sex = dataFlag;dbo.select./完成上述工作后通过session传递到其他jsp页面session.setAttribute(uRealName, uRealName);session.return success;elsesession.setAttribute(mag,用户名或密码输入有误);return error;2. 注册页面的信息验证和提交在用户注册页面,通过js脚本进行前端的表单验证工作,确保用户输入的信息符合规范。公共自行车管理系统用户注册用户注册信息(带*为必须填写的项目)用户名:*用户名只能由a-z,A-Z,0-9,_组成密码:*密码必须由6-12位组成确认密码:*密码与确认密码必须一致用户个人信息真实姓名:性别:男 女 身份证号:Js进行表单验证代码如下:function checkUser() var userName = myform.username.value; if(userName=) document.getElementById(id1).outerHTML=用户名不能为空; return false; var ch= userName.charAt(0); if(!(ch=a&ch=A&ch=Z|ch=_) document.getElementById(id1).outerHTML=用户名不合法; return false; for(var i=1;i=a&ch=A&ch=0&ch=9|ch=_) document.getElementById(id1).outerHTML=用户名不合法; return false; document.getElementById(id1).outerHTML=; return true;/验证密码function checkPassword() var pw1 = myform.password.value; var pw2 = myform.password2.value; if(pw1.length12|pw1.length6) document.getElementById(id2).outerHTML=密码不在6-12位之间; return false; document.getElementById(id2).outerHTML=; if(pw1!=pw2) document.getElementById(id3).outerHTML=两次密码不一致; return false; document.getElementById(id3).outerHTML=; return true;function yanZheng() if(checkUser()&checkPassword() document.myform.submit(); 完成前台验证后,转入后台执行存放步骤,通过传递sql语句String sql = insert into CM_USER VALUES(?,?,+RegistAction.uid+,?,10,?,?);执行sql完成增加功能,其中用户id由全局变量自增设定,也可在数据库中创建序列自动生成。3.网页信息的传递在该系统中用户信息在个网页上的读取通过HttpSession完成,这样可以实现较少地跟后台交互,使用过程中不会出现长时间读取数据,频繁读取数据的现象,有较好的用户体验。传递数据:HttpSession session = request.getSession();session.setAttribute(xxx, xxx);读取数据:$session.xxx4.个人信息修改修改个人信息时前台验证内容的过程跟注册相似,后台的sql执行语句为String sql = update CM_USER set UPASS = ?,UIDCARD = ?,UREALNAME = ? where UID = +LoginAction.uid;即可对相应字段完成修改工作。结束语在一段时间的开发和研究后,公共自行车管理系统最终设计完成,我采用了青软实训的web项目静态页面作为模板,改造成动态web项目并增加了自己的业务,完成了该系统的基本功能。目前系统拥有帐号注册,用户登录,信息查询,信息修改的功能,页面简单清晰,不存在页面信息复杂冗余,无从下手的问题,比较符合业务处理网站的特点。不过本系统也存在很多缺点。由于各方面的原因,本系统还有很多功能尚未完善,比如与此配套的管理员系统没有做出模板演示,用户界面太过死板,没有娱乐性的扩展功能,尚未开发用户与用户之间的交互功能等,对于该系统的完善,我有以下的想法:1. 用户信息数据库增加星座,爱好,特长等字段,丰富用户的个人信息。2. 相对于实名制认证而言,传统的表单验证限制略显不足,可编写自定义方法进行用户输入信息校验以降低更新维护成本。3. 用户界面栏目过少,应在主体功能之外多开发扩展功能,向多功能网站转型。公共自行车管理系统与人们的生活息息相关,只有严肃的业务板块的应用不能走进人们的生活,系统可以增加更多有意思的板块,论坛来增加人们的互动,发挥社会积极团体的凝聚作用,共同为保护公共财产,提升全体人民素质而努力,这样的效果要比单纯的分数控制有效得多。4. 信息更新不及时。车辆的受损检测只能通过工作人员每天的排查上传车辆状态数据,再对借车用户进行排查处理,不能实时反应车辆状态,可以通过增加奖励措施鼓励借车用户上传问题车辆,使系统及时作出处理。5.系统管理员相关功能:首先,系统管理员可以查询到全体用户的详细信息,并且拥有账户封禁的特权,以便对低分数用户,恶意破坏车辆用户,违规发言用户进行处理;其次,管理员拥有对车辆,用户表进行增删改查功能的权力,用来处理用户发来的信息修改请求,车辆信息登记等。21参考文献1 萨师煊,王珊. 数据库系统概论(第3版)M. 北京:高等教育出版社,2000.2 Horton D,Rosen P,Cox P.Cycling and SocietyM.Farnham:Ashgate,2007.3潘海啸.中国城市自行车交通政策的演变和可持续发展J.城市规划学刊.2011.4周佳丽,林平,李依依.运用经济学理论探究杭州市公共自行车发展方向J.公共管理.20115郭敏辉

温馨提示

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

评论

0/150

提交评论