




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JIUJIANGUNIVERSITY毕业论文题目小区物业管理信息系统英文题目RESIDENTIONPROPERTYMANGEMENTINFORMATIONSYSTEM院系信息科学与技术学院专业计算机科学与技术姓名王燕班级学号A081118指导教师汪海滨二一二年五月摘要随着计算机技师的迅速发展,人们的生活也步入了信息时代,信息化,智能化起来。由于现在对于小区物业收费还没有一个成熟的系统来实现,于是我试着开发了本小区物业管理信息系统。对于物业管理信息系统,主要是实现小区用户资料的管理以及水电表数据的管理及小区物业收费的管理。系统需要实现收费管理,数据处理,统计查询和系统管理等的功能。对于一个系统,一般分为管理员和普通用户角色。管理员对系统的数据要进行增删改查,而对于普通用户一般只要实现查询及一些关于个人数据信息的查询就可以了。系统的功能通过JSPSERVLETORACLE技术,采用MVC模式实现。通过JSP实现前台的页面显示,其中穿插一些JS实现一些数据验证的功能。JAVABEAN和JAVABEANBO编写JAVA文件,完成MODEL层的数据库操作功能。控制层我采用了SERVLET来实现,最终达到实现系统功能的效果。关键词小区物业,JSP技术,ORACLE数据库ABSTRACTWITHTHERAPIDDEVELOPMENTOFCOMPUTERTECHNICIANS,THEPEOPLESLIVESHAVEALSOENTEREDTHEINFORMATIONAGE,INFORMATION,INTELLIGENCEUPNOTYETAMATURESYSTEMFORRESIDENTIALPROPERTYCHARGES,SOITRYTODEVELOPTHERESIDENTIALPROPERTYMANAGEMENTINFORMATIONSYSTEMPROPERTYMANAGEMENTINFORMATIONSYSTEMS,MAINLYRESIDENTIALUSERSANDDATAMANAGEMENT,ANDHYDROPOWERTABLEOFDATAMANAGEMENTANDRESIDENTIALPROPERTYMANAGEMENTFEETHESYSTEMNEEDSTOACHIEVETHEMANAGEMENTFEES,DATAPROCESSING,STATISTICALQUERIESANDSYSTEMMANAGEMENTFUNCTIONSGENERALLYDIVIDEDINTOASYSTEMADMINISTRATORANDGENERALUSERROLEADMINISTRATOROFTHESYSTEMDATACRUDFORTHEAVERAGEUSERISGENERALLYASLONGASTHEINQUIRIESANDINFORMATIONONPERSONALDATAQUERYCANBEFUNCTIONOFTHESYSTEMBASICALLYACHIEVED,BUTTHEREARESTILLSOMESMALLDEFECTSDUETOLACKOFEXPERIENCEOFTHEDEVELOPMENTSYSTEM,THESYSTEMDEVELOPED,INGENERAL,THEFUNCTIONHASBEENREALIZEDTHROUGHJSPTHESERVLETORACLEKEYWORDPLOTPROPERTY,JSPTECHNOLOGY,ORACLEDATABASE目录摘要IABSTRACTII1绪论11项目开发背景112技术可行性研究213本课题要达到的设计目标214本章小结32系统分析21小区物业管理系统的需求分析422功能说明423本章小结63系统设计31系统功能分析732数据库设计1333概念结构设计1334物理结构设计1735本章小结224系统详细设计41管理员登录模块设计2342系统各个模块的实现2643本章小结375总结386结束语40致谢41参考文献421绪论11项目开发背景随着计算机技术的发展,人们的生活越来越便利,很多事情都可以走不出户就能完成。如购物,上淘宝点击你想要的物品,网上付款就能得到,想要飞机火车票,网上也能完成。而现在的物业缴费却还是个问题,虽然有些物业费在网上也可以上交,但是对于那些插卡式的煤气,电费仍是不能实现网上缴费的功能,人们还是要跑到指定的地点才能缴费,这给现代的人们带来了很多的不便。在技术如此成熟,科技如此发达的年代,没有理由让物业缴费成为人们的困扰。开发一个针对物业缴费的系统是必然的1。我们都知道,现在WEB技术已经很强大了,只要你能想得到的,用JAVA都能实现,或者说不用JAVA,就是其他语言也能实现2。现在还要跑到指定的地点去缴费,这跟现在的网络时代相隔差距也太大了,如同让一个时尚美女跨个小学生的书包。这是绝对不搭调的,为了让物业缴费跟的上现代科技发展的脚步,开发物业管理系统已经迫在眉睫了3。而且,对于现代速食的现代人们,时间是太宝贵了,浪费那么多的时间在物业缴费上也实在是太可惜了,为了这宝贵的时间,我们也应该开发一个物业管理系统。还有就是随着技术的发展人们也慢慢变得更懒了,能不用出门就尽量不出门,乐的在家享受生活,一天的工作已经够累的了,谁还愿意为了交个物业费而跑腿呢。为了实现物业缴费的便利,我想到了要开发一个针对小区用户的物业管理系统,于是我试着开发了本系统4。本物业管理系统主要是实现物业缴费,同时也方便用户查询缴费信息、小区消息等功能。在我看来,开发这个系统的非常必要的。有了这个系统,人们在物业缴费这方面肯定会特别的方便。12技术可行性研究目前,网络应用软件运行的模式主要有二类CLIENT/SERVER模式,BROWSER/SERVER模式。前者主要的缺点是维护、升级较麻烦,后者是近几年伴随INTERNET迅速发展起来的一种技术,它与客户/服务器方式类似,客户端是一个标准的浏览器,服务器端是WEBSERVER,而WEBSERVER与数据库和应用服务器的紧密结合,使得这种模式的应用范围不断扩大,它已不仅仅用于网上查询,有很多部门的业务系统、企业的MIS系统纷纷采用这种模式,它的主要优点是便于扩充应用、升级维护简便。所以,我选择了BROWSER/SERVER模式5。开发语言,JAVA的强大之处在于它的无所不能,而且现在的主流也是JAVA,所以选择用JAVA语言开发是我的必然6。JSP、JAVASCRIPT、CSS、IFRAME、TABLE是我将要用来设计界面的技术。利用JS我们可以实现很多的界面效果,可以让你的界面变得震撼,如字体的颜色、大小的变化,图片的自动切换等。CSS可以让你的页面布局更自然,让人看起来特别自然,还可以减少代码的重复。IFRAME可以帮助你页面布局,你想把你的页面分为几块都能帮你实现。TABLE能帮你把你的数据以你想要的方式显示出来。通过这些技术,能让你的页面达到你要的所有的效果,使其变得美观大方7。面对着关系到金钱的利益关系,安全性著称的ORACLE成了我的选择。ORACLE是一个大型数据库,从他的服务的启动所花的时间来看我们就可以发现他与其他数据库的不同。比如,你要一个自增序列,SQLSERVER就一个IDENTITY函数,而ORACLE可以你自己随便建SEQUENCE然后建一个触发器就可以了8。并且ORACLE比其他数据库强大的地方其实是他的角色的管理。像SQLSERVER就一个用户一个数据库,而ORACLE可以一个数据库拥有多个用户,并且每个用户只要赋予他权限他就可以在数据库中建表等操作9。在我看来,利用以上技术完全可以进行这个系统的开发。13本课题要达到的设计目标小区物业信息管理系统使针对当代社会,针对人们生活的科技信息化应运而生的,是为小区管理着和小区用户更好的更方便的维护小区各项物业管理业务处理工作而开发的管理软件,根据需求分析,实现小区管理业务,实现各项管理等几个方面的功能。这个系统分为两个角色,系统管理员和普通用户10。(1)管理员拥有以下功能收费管理欠费收取、预交费、客户帐户退还、临时收费、押金管理。数据处理生成收费数据、水表数据录入、电表数据录入、气表数据录入。统计查询应收费明细查询、已收费明细查询、未收费明细查询、客户帐户流水帐、现金收支统计、欠费收取明细、预交费明细、临时收费明细、自动扣款明细、抄表明细、优惠明细、月季年度统计。系统管理小区设置、收费项目设置、客户资料维护、登录用户维护。(2)普通用户拥有以下功能个人信息查询查询用户个人信息,可以修改除了权限以外的所有个人信息。水电气表信息查询可以查询用户本人的所有表信息,可以根据日期查询,且可以模糊查询。缴费记录查询查询用户的所有缴费记录,也可以根据日期查询用户指定日期的缴费记录。单价查询用户可以查询小区所有的单价信息,也可以查询的最新的单价信息。查看小区最新消息用户可以查询到小区的最新消息,当然也可以查询到以前的小区消息。14本章小结本章主要讲了项目是在计算机发展迅速,人们生活越来越便利,物业管理是时候要实现信息化的背景下开发的,而且,现在JAVAWEB技术已经足够强大实现这个系统,在技术这方面已经不是问题了。该系统的实现目标则是实现计算机自动缴费,管理员可以通过系统来管理小区用户的缴费。2系统分析21小区物业管理系统的需求分析小区物业管理系统是面向小区的物业缴费,是利用计算机对小区物业缴费进行集中管理而开发的系统11。该系统是JSP连接ORACLE数据库进行开发的,力求与实际相结合具有查询、管理等功能,旨在达到使小区的管理和运营趋于计算机化,使之更加方便、快捷以提高工作效率,最大方面的方便用户。用户要缴费,系统中就一定需要保存用户的资料,用户要能够登录到系统进行缴费,那么他就一定要拥有该系统的账户,系统中面对如此多的数据,就一定要有个管理员来对其进行维护,这就决定了改系统需要两个角色,管理员和普通用户。为了尽可能的方便用户,系统要实现自动扣款的功能,那么用户就要拥有一个独立的账户,让系统到时间能够自动扣款12。要交物业费,那就一定要水电气表的数据,而且要计算费用还需要小区当月的单价信息。由于是面向小区用户,小区的最新事件也一定是用户关心的问题,由此。小区消息的公布也是一个需要的必然。为了方便用户查看消费记录,系统就一定要对数据进行一个处理,方百年用户查询。如数据的统计计算,年月的总结,总计等。管理员需要对系统中的所有数据进行管理,他要具有一个比普通用户更高的权限。要面对所有用户的数据,对所有的数据进行操作,统计查询等。同时也要对小区的用户进行管理,如添加用户,删除用户等13。22功能说明管理员系统功能模块说明如下(1)收费管理对各种费用进行管理,具体如下欠费收取把所有欠款用户查询出来,让其缴费。预交费用户多交的费用可以算作预交费,如果用户下个月到了缴费时间还没有缴费的话,系统可以自动从预交费中自动扣除。客户帐户退还如果用户要搬离小区,可以把多交的费用以及押金退还给用户。临时收费小区管理员可以根据小区特殊情况,对小区用户进行临时收费。押金管理住入小区的用户,小区要收取一定的押金,具体数目由管理员决定。(2)数据处理对小区用户的水电气表数据的处理。具体如下生成收费数据根据用户本月的用水电煤气的量和本月的单价计算用户本月的费用。水表数据录入录入所有小区用户的水表数据。电表数据录入录入所有小区用户的电表数据。气表数据录入录入所有小区用户的气表数据。(3)统计查询对所有小区用户的所有数据进行各种方式的查询。具体如下应收费明细查询小区用户应该缴费的信息查询,水电煤气、临时收费等。已收费明细查询用户已经交了的费用的查询。未收费明细查询用户还没有缴费的详细信息的查询。客户帐户流水帐查询用户每个时间交了什么费用。现金收支统计用户所有缴费未缴费信息的查询。欠费收取明细用户欠费记录的明细查询。预交费明细用户预交费的详细记录查询。临时收费明细小区针对所有小区用户的临时收费详细记录查询。自动扣款明细系统对用户账户的自动扣款详细的查询。抄表明细用户水电煤气表数据的详细查询。可以查询具体时间的表格数据。(4)系统管理小区中的各种资料的管理。具体如下小区消息小区消息的添加。收费项目设置针对小区水电煤气单价的设置。客户资料维护用户资料的增删改查。登录用户维护添加小区用户。对刚添加的用户收取一定的押金。押金可以在用户推出小区时归还。这些都是管理员具有的功能,由于普通用户的功能在前面已经详细介绍过了,在这里我就不再重复了。总之管理员跟普通用户的功能差不多,只不过管理员针对的是小区内所有的用户,而普通用户只能对自己的数据进行操作。区别仅限于此。还有就是普通用户对于押金,临时收费只有上交的权利,而没有设置的权限,并且对于费用单价也只有管理员才能操作,再有就是对于小区消息,普通用户只有查看的权限,不能增删改。对于普通用户基本就只有查询的功能。对于系统的功能中的查询,其中都可以根据搜索条件对其进行模糊查询,用户可以根据自己想要查找的条件查询到明细的信息14。23本章小结本章主要对系统进行了一个文字性的描述,分析了小区物业管理系统的需求,剖析了其功能,并对每个功能进行详细的介绍。从用户的个人信息到用户数据的生成,并把每个功能模块中的小功能也进行了描述。通过这一阶段的分析,系统的需求已经明确,并为下面的系统设计奠定了良好的基础。系统分为管理员和普通用户,管理员可以对数据进行增删改查,用户只能对数据进行基本的数据查询。他们是通过用户权限来区别的。管理员具有普通用户的所有功能,而普通用户不具有管理员的功能。3系统设计31系统功能分析根据系统功能的要求,小区物业系统分为五个主要模块。即住户资料管理、物业缴费管理、小区消息管理。可以将系统分解成为几个功能模块来分别设计15,功能模块间的关系如图31所示。个人信息查询水电七表信息查询缴费记录查询单价查询查看小区最新消息注册个人账户登录个人账户图31基本模块图对于小区物业系统,根据系统功能分析,仅有一个单一的流程化页面。所以从欢迎页面到登录页面,如果登录成功,则进入相应的功能页16。整个系统的页面逻辑结构示意图如图32所示。收费管理数据处理系统管理统计查询欠费收取客户账户退还预交费临时收费押金管理生成收费数据水电煤气数据录入用户缴费小区消息费用单价设置添加用户客户资料维护应收费明细查询已收费明细查询未收费明细查询自动扣款明细客户账户流水账抄表明细现金收支统计欠费收取明细优惠明细预交费明细查询临时收费明细月季年度统计图32整个系统的页面逻辑结构示意图311用例图用例说明系统中管理员角色的用例图,包含整个系统中关于管理员这个角色拥有的用例信息17,管理员用例图如图33所示。ADMIN数据处理收费管理统计查询系统管理图33管理员总用例图用例说明系统中普通用户角色的用例图,包含整个系统中关于普通用户员这个角色拥有的用例信息18,管理员用例图如图34所示。普通用户缴费记录查询水电煤气信息查询小区最新消息个人信息查询单价查询图34普通用户用例图用例说明管理员在收费管理模块用例图如图35所示。缴费记录查询水电煤气信息查询小区最新消息个人信息查询单价查询缴费管理ADMIN图35收费管理模块用例图用例说明管理员在数据处理模块的用例图。数据处理有包含生成收费数据、用户缴费和水电气表数据录入3个用例。如图36所示。用户缴费数据处理ADMIN生成收费数据水电气表数据录入图36数据处理模块用例图用例说明管理员在统计模块的用例图。统计查询用例又包含上图所示的12个用例。如图37所示。收费明细查询现金收支统计抄表明细优惠明细临时收费明细统计查询ADMIN临时收费明细预交费明细图37统计查询模块用例图用例说明管理员在系统管理模块的用例图如图38所示。费用单价设置客户资料维护系统管理ADMIN添加用户小区消息图38系统管理模块用例图312时序图(1)用户信息修改时序图如图39所示。INDEXJSP点击个人信息修改用户信息处理用户信息登录个人账户账户信息填写修改数据提交登录查看RETURN图39用户信息修改时序图(2)用户缴费时序图如图310所示。用户费用信息点击用户缴费缴费处理缴费成功提交RETURN显示结果图310用户缴费时序图32数据库设计数据库设计是要在一个给定的应用环境(DBMS)中,通过合理的逻辑设计和有效的物理设计,构造较优的数据库模式、子模式,建立数据库和设计应用程序,满足用户的各种信息需求19。33概念结构设计在数据库设计中,先要对系统分析所得的数据字典中的数据存储进行分析,然后得出系统的关系模式,可以采用实体联系图(简称ER图)的方法进行数据结构的描述20。ER图由实体、属性、联系三部分组成8。ER图的有关符号说明如图311所示。图311ER图说明用户信息实体属性如图312所示。用户信息住户编号住户名称联系电话EMAIL地址权限图312住户信息ER图押金实体属性如图313所示。押金住户编号编号押金缴费标志日期图313押金信息ER图预交费实体属性如图314所示。预交费住户编号编号预交费缴费标志日期图314预交费信息ER图临时收费实体属性有住户编号、编号、临时收费、缴费标志、缴费日期。实体属性图如图315所示。临时收费住户编号编号临时收费缴费标志日期图315临时收费信息ER图账户信息实体属性如图316所示。账户信息住户编号编号缴费金额账户余额日期图316账户信息ER图欠费信息实体包含的属性有住户编号、编号、欠费金额、缴费标志、缴费日期。其实体属性如图317所示。欠费信息住户编号编号欠费金额缴费标志日期图317欠费信息ER图水电煤气表信息实体属性图如图318所示。水电煤气表信息住户编号编号水表电表日期煤气表图318水电煤气信息ER图系统总体的ER图如图319所示。账户信息临时收费押金预交费水电煤气表信息欠费信息用户拥有缴费缴费录入缴费缴费11111N11111N图319实体间联系图34物理结构设计物理结构设计的原则如下(1)尽可能的减少数据冗余和重复。(2)结构设计与操作设计相结合。(3)数据结构具有相对的稳定性。基于以上设计原则,本系统设计了一个数据库,包含住户信息、收费信息、单价信息、数据信息、押金信息、预交费信息等几个表。为了加快系统访问的速度我还建了一个视图。本系统中相关数据库表结构设计举例如下单价信息中编号是在数据库中创建序列和触发器来进行以为单位自增的。数据库设计如表320所示。表320单价信息表字段名称字段类型宽度小数位ID自动编号日期DATA水费NUMBER电费NUMBER煤气费NUMBER住户信息表数据库设计如表321所示。表321USERS(住户信息)表字段名称字段类型宽度小数位住户编号NUMBER户主名称文本20联系电话文本20EMAIL文本50地址文本20权限文本20水电煤气表信息数据库设计如表322所示。表322DATA(水电煤气表信息)表字段名称字段类型宽度小数位编号自动编号住户编号NUMBER日期日期/时间水表NUMBER电表NUMBER煤气表NUMBER2押金信息表数据库设计如表323所示。表323押金信息表字段名称字段类型宽度小数位编号自动编号用户编号NUMBER押金NUMBER缴费标志NUMBER日期日期/时间预交费信息表数据库设计如表324所示。表324预交费信息表字段名称字段类型宽度小数位编号自动编号用户编号NUMBER预交费NUMBER缴费标志NUMBER日期日期/时间临时收费信息表数据库设计如表325所示。表325临时收费信息表字段名称字段类型宽度小数位编号自动编号用户编号NUMBER临时收费NUMBER缴费标志NUMBER日期日期/时间缴费日期日期/时间缴费清单表的编号是在数据库中创建序列和触发器来进行以为单位自增的。数据库设计如表326所示。表326缴费清单表字段名称字段类型宽度小数位编号NUMBER住户编号NUMBER缴费金额NUMBER日期日期/时间缴费类型NUMBER欠费信息表数据库设计如表327所示。表327欠费信息表字段名称字段类型宽度小数位编号NUMBER住户编号NUMBER欠费金额NUMBER日期日期/时间缴费标志NUMBER缴费日期NUMBER账户信息表包含有编号、住户编号、缴费金额、日期、账户余额。数据库设计如表328所示。表328账户信息表字段名称字段类型宽度小数位编号NUMBER住户编号NUMBER缴费金额NUMBER日期日期/时间账户余额NUMBER费用表包含字段有编号、住户编号、缴费金额、日期、水费、电费、煤气费、总计。其每个字段的类设计都按照其需求来定的。其在数据库中的详细设计如表329所示。表329费用表字段名称字段类型宽度小数位编号NUMBER住户编号NUMBER缴费金额NUMBER日期日期/时间水费NUMBER电费NUMBER煤气费NUMBER总计NUMBER小区消息表包含字段有编号、标题、内容、日期。其中编号是在数据库中创建序列和触发器来进行以为单位自增的。其每个字段的类设计都按照其需求来定。其在数据库中的详细设计数据库设计如表330所示。表330小区消息表字段名称字段类型宽度小数位编号NUMBER标题VACHAR2内容VARCHAR2日期日期/时间所有缴费信息表包含字段有住户编号、缴费金额、日期、水费、电费、煤气费、总计、临时收费、押金。其中编号是在数据库中创建序列和触发器来进行以为单位自增的。其每个字段的类设计都按照其需求来定的。其在数据库中的详细设计数据库设计如表331所示。视图331所有缴费信息视图字段名称字段类型宽度小数位用户名称NUMBER住户编号NUMBER缴费金额NUMBER日期日期/时间水费NUMBER电费NUMBER煤气费NUMBER总计NUMBER临时收费NUMBER押金NUMBER35本章小结本章先进行了系统功能的描述,接着用用例图、时序图详细描述了系统的设计。把系统的功能用图形直观的展示出来了。用例图有一个系统的总的用例和每个功能模块的单独用例,时序图由于太多,所以选择了两个具有代表性的画。在后面用VISUAL画了数据库设计的ER图,并在后面用表格对数据库表的设计进行了描述,把数据库的设计进行了一个展示。数据库的设计完成,为以后的系统的详细设计做好了铺垫,通过本章,数据库的设计就已经完成了。接着就是系统的详细设计了。数据库的设计是个关键,如果设计的不合理会给后面的编码带来很多不必要的麻烦。4系统详细设计41管理员登录模块设计输入用户名YANYAN,密码YANYAN。处理判断用户名和密码。填入用户名、密码和附加码后点击登录按钮,系统将自动从数据库中的管理员信息表中判断是否存在相同的用户名和密码等,如果有则进入系统,如果不存在或密码错误,则提示管理员或密码有错误的信息。输出登录成功,进入管理员的功能选择页面,若不成功,则留着登录页面。登录界面如图41所示。图41系统登录界面登录模块实现代码PUBLICVOIDDOGETHTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSSERVLETEXCEPTION,IOEXCEPTION/得到当前登录用户STRINGLOGINNAMEREQUESTGETPARAMETER“LOGINNAME“REQUESTSETATTRIBUTE“LOGINNAME“,LOGINNAME/得到用户密码STRINGPREQUESTGETPARAMETER“PASSWORD“USERBEANBOUBBNEWUSERBEANBO/判断用户名和密码是否正确并判断其权限是管理员或普通用户1是管理员,0是普通用户/IFUBBCHECKUSERLOGINNAME,P1/得到当前日期CALENDARCALCALENDARGETINSTANCEUSERHANDFEELISTBOUHBBNEWUSERHANDFEELISTBOINTDAYCALGETCALENDARDATE/如果是每个月的30号,自动扣款IFDAY30OVERDUEBEANBOOBBNEWOVERDUEBEANBO/得到所有欠费用户ARRAYLISTALOBBGETOVERDUESFORINTI0IOVERDUE1ABBMODIFYACCOUNTBEANBYUSERIDUSERID,ACCOUNTOVERDUE1,OVERDUE1OBBDELETEOVERDUEBYUSERIDUSERID/把用户缴费记录下来UHBBADDUSERHANDFEELISTUSERID,OVERDUE,“1“,NEWDATEELSEABBMODIFYACCOUNTBEANBYUSERIDUSERID,0,ACCOUNTOBBMODEFYOVERDUEBEANUSERID,OVERDUEACCOUNT100/98UHBBADDUSERHANDFEELISTUSERID,ACCOUNT,“1“,NEWDATE/判断用户有无预交费IFPBBGETPREBEANBYUSERID1USERID1PREBEANPBPBBGETPREBEANBYUSERIDUSERIDFLOATPREPBGETPRE/判断用户缴费金额与预交费的大小IFPREOVERDUE1PBBMODEFYPREBEANUSERID,PREOVERDUE1OBBDELETEOVERDUEBYUSERIDUSERIDUHBBADDUSERHANDFEELISTUSERID,OVERDUE,“1“,NEWDATEELSEPBBDELETEPREBEANBYUSERIDUSERIDOBBMODEFYOVERDUEBEANUSERID,OVERDUEPRE100/98UHBBADDUSERHANDFEELISTUSERID,PRE,“1“,NEWDATERESPONSESETCONTENTTYPE“TEXT/HTML“RESPONSESETCHARACTERENCODING“UTF8“PRINTWRITEROUTRESPONSEGETWRITERUSERBEANUBUBBGETUSERBEANLOGINNAMEREQUESTGETSESSIONSETATTRIBUTE“USERINFO“,UBREQUESTGETREQUESTDISPATCHER“MAINJSP“FORWARDREQUEST,RESPONSEELSEIFUBBCHECKUSERLOGINNAME,P0REQUESTGETREQUESTDISPATCHER“INDEXJSP“FORWARDREQUEST,RESPONSEELSEREQUESTGETREQUESTDISPATCHER“DEFINEJSP“FORWARDREQUEST,RESPONSE42系统各个模块的实现管理员登录后出现功能选择界面,可以选择相应的操作。下面我选择了几个具有代表性的界面详细设计进行详细代码实现介绍。421所有小区普通用户的详细信息显示的实现所有小区用户信息查询的结果界面效果如图42所示。图42所有用户信息实现代码如下PUBLICVOIDDOGETHTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSSERVLETEXCEPTION,IOEXCEPTIONRESPONSESETCONTENTTYPE“TEXT/HTML“RESPONSESETCHARACTERENCODING“UTF8“PRINTWRITEROUTRESPONSEGETWRITERSTRINGTYPEREQUESTGETPARAMETER“TYPE“REQUESTSETATTRIBUTE“TYPE“,TYPE/得到当前用户要查询的页STRINGPAGENOWREQUESTGETPARAMETER“PAGENOW“REQUESTSETATTRIBUTE“ABC“,PAGENOW/跳转到USERINFOJSP页面REQUESTGETREQUESTDISPATCHER“USERINFOJSP“FORWARDREQUEST,RESPONSE422用户信息修改的实现系统用的是FRAMESET布局,总体分为上中下三块,中间一块又分为左右两块。上面一块为TOPJSP,主要是用来显示系统当前用户,系统时间,查看个人信息、实现系统刷新,回退等功能。下面一块则用来显示系统的LOGO。功能主要分布在中间一块,中间的左边是用来显示系统功能操作的入口,我用了一颗JS数来把功能进行了一个分层。右边则用来进行功能的操作。用户信息修改如图43所示。图43管理员信息修改模块说明管理员信息修改,如果是管理员,他可以修改所有的信息,但是不管他修改说明信息,他都要符合该信息的格式,如用户名必须是210位字符,密码必须是416位字母或数字,邮件要是邮件的格式,电话必须是11位手机号码等,这些我都是通过页面的JS代码进行了控制。实现代码如下PUBLICVOIDDOGETHTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSSERVLETEXCEPTION,IOEXCEPTIONUSERBEANBOUBBNEWUSERBEANBORESPONSESETCONTENTTYPE“TEXT/HTML“RESPONSESETCHARACTERENCODING“UTF8“PRINTWRITEROUTRESPONSEGETWRITER/得到当前登录用户名STRINGLOGINNAMEREQUESTGETPARAMETER“LOGINNAME“REQUESTSETATTRIBUTE“LOGINNAME“,LOGINNAME/得到登录用户的信息USERBEANUB1UBBGETUSERBEANLOGINNAMEUSERBEANUBNEWUSERBEAN/得到要修改信息用户的用户IDSTRINGUSERID1REQUESTGETPARAMETER“USERID“/把STRING型的USERID转为LONG型LONGUSERIDLONGPARSELONGUSERID1/得到页面传过来的值STRINGUREQUESTGETPARAMETER“USERNAME“STRINGPREQUESTGETPARAMETER“PASSWORD“STRINGEMAILREQUESTGETPARAMETER“EMAIL“STRINGPHONE1REQUESTGETPARAMETER“PHONE“/STRING转LONGLONGPHONELONGPARSELONGPHONE1STRINGADRESSREQUESTGETPARAMETER“ADDRESS“STRINGPRIVILIGE1REQUESTGETPARAMETER“PRIVILIGE“/STRING转INTINTPRIVILIGEINTEGERVALUEOFPRIVILIGE1/判断用户信息修改是否成功IFUBBMODEFYUSERUSERID,U,P,EMAIL,PHONE,ADRESS,PRIVILIGE/用户信息修改成功,并且登录用户是管理员IFUB1GETPRIVILIGE1/跳转到USERINFOJSP页面REQUESTGETREQUESTDISPATCHER“USERINFOJSP“FORWARDREQUEST,RESPONSEELSE/用户信息修改成功,并且登录用户是普通用户,跳转到SELFINFOJSP页面REQUESTGETREQUESTDISPATCHER“SELFINFOJSP“FORWARDREQUEST,RESPONSEELSE/不成功,跳转到MODIFYJSP页面REQUESTGETREQUESTDISPATCHER“MODIFYJSP“FORWARDREQUEST,RESPONSE/THEDOPOSTMETHODOFTHESERVLETTHISMETHODISCALLEDWHENAFORMHASITSTAGVALUEMETHODEQUALSTOPOSTPARAMREQUESTTHEREQUESTSENDBYTHECLIENTTOTHESERVERPARAMRESPONSETHERESPONSESENDBYTHESERVERTOTHECLIENTTHROWSSERVLETEXCEPTIONIFANERROROCCURREDTHROWSIOEXCEPTIONIFANERROROCCURRED/PUBLICVOIDDOPOSTHTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSSERVLETEXCEPTION,IOEXCEPTIONTHISDOGETREQUEST,RESPONSE423用户注册的实现住户信息包括户主名称、联系电话、邮件、地址等基本信息,当填写信息完成后,点击页面下方的提交,如果信息格式正确,则系统提示添加成功。通过系统左边的住户资料管理管理可查看用户的基本信息。如图44所示。图44新建住户信息模块实现代码如下PUBLICVOIDDOGETHTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSSERVLETEXCEPTION,IOEXCEPTIONRESPONSESETCONTENTTYPE“TEXT/HTML“RESPONSESETCHARACTERENCODING“UTF8“PRINTWRITEROUTRESPONSEGETWRITERUSERBEANUBNEWUSERBEAN/得到页面传过来的值USERIDSTRINGIDREQUESTGETPARAMETER“USERID“/得到页面传过来的值USERNAMESTRINGUREQUESTGETPARAMETER“USERNAME“REQUESTSETATTRIBUTE“USERNAME“,U/得到页面传过来的密码STRINGPREQUESTGETPARAMETER“PASSWORD“/得到页面传过来的EMAILSTRINGEMAILREQUESTGETPARAMETER“EMAIL“/得到页面传过来的电话号码STRINGPHONEREQUESTGETPARAMETER“PHONE“/得到页面传过来的用户地址STRINGADRESSREQUESTGETPARAMETER“ADDRESS“/得到页面传过来的用户权限STRINGPRIVILIGEREQUESTGETPARAMETER“PRIVILIGE“USERBEANBOUBBNEWUSERBEANBOIFUBBADDUSERU,P,EMAIL,PHONE,ADRESS,PRIVILIGETRUE/用户添加成功,跳转到DEFINEDEPOSITJSP页面REQUESTGETREQUESTDISPATCHER“DEFINEDEPOSITJSPTYPE2“FORWARDREQUEST,RESPONSEELSE/用户添加失败,跳转到REGISTERJSP页面REQUESTGETREQUESTDISPATCHER“REGISTERJSP“FORWARDREQUEST,RESPONSE424水电煤气单价设置的实现该模块包括水费电费煤气费的设置,这里我用了一个日历插件MY97DATEPICKER,他能帮助我实现日历的效果,如图45所示。图45费用单价设置模块实现代码如下PUBLICVOIDDOGETHTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSSERVLETEXCEPTION,IOEXCEPTIONRESPONSESETCONTENTTYPE“TEXT/HTML“RESPONSESETCHARACTERENCODING“UTF8“/得到页面传值水费STRINGWATER1REQUESTGETPARAMETER“WATER“/得到页面传值电费STRINGGAS1REQUESTGETPARAMETER“GAS“/得到页面传值煤气费STRINGELETRIC1REQUESTGETPARAMETER“ELETRIC“/STRING转FLOATFLOATWATERFLOATPARSEFLOATWATER1/STRING转FLOATFLOATGASFLOATPARSEFLOATGAS1/STRING转FLOATFLOATELETRICFLOATPARSEFLOATELETRIC1/得到系统当前时间DATEUDDATENEWJAVAUTILDATE/UTIL时间转SQL时间JAVASQLDATESDNEWJAVASQLDATEUDGETTIME/NEW一个单价DTO用来处理单价的操作DANJIABEANBODJBBNEWDANJIABEANBOIFDJBBADDDANJIASD,WATER,GAS,ELETRIC/单价添加成功,跳转到DANJIAINFOJSP页面REQUESTGETREQUESTDISPATCHER“DANJIAINFOJSP“FORWARDREQUEST,RESPONSEELSE/单价添加失败,继续留在DEFINEJSP页面REQUESTGETREQUESTDISPATCHER“DEFINEJSP“FORWARDREQUEST,RESPONSE425用户缴费信息查询的实现该模块主要是用户对自己的缴费信息及水电煤气使用情况的查询,查询结果的显示与上图类似,我就用这个作为一个代表来讲解。用户名和日期在查询总都是有显示的,为了查询的方便,我在数据库中建了一个视图来方便查询。界面如图46所示。图46用户统计查询效果图代码实现如下PUBLICCLASSSEARCHOVERDUEINFOCLEXTENDSHTTPSERVLETPUBLICVOIDDOGETHTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSSERVLETEXCEPTION,IOEXCEPTION/得到当前登录用户名STRINGLOGINNAMEREQUESTGETPARAMETER“LOGINNAME“/得到要跳转的类型STRINGIDREQUESTGETPARAMETER“ID“REQUESTSETATTRIBUTE“ID“,ID/得到要查询的用户名STRINGUSERNAMEREQUESTGETPARAMETER“USERNAME“/得到要查询的日期STRINGDATEREQUESTGETPARAMETER“DATE“STRINGYEAR“STRINGMONTH“/如果日期不为空,截取年,月IFDATENULLMONTHDATESUBSTRING5,7ALLFEEBEANBOABBNEWALLFEEBEANBOARRAYLISTALNEWARRAYLIST/处理类型不为8以外的数据IFIDEQUALS“8“IFLOGINNAMEEQUALS“YANYAN“/得到所有用户的费用数据ALABBGETALLFEEBEANBYUSERIDANDDATEUSERNAME,YEAR,MONTHELSE/得到登录用户的所有费用数据ALABBGETALLFEEBEANBYUSERIDANDDATE2LOGINNAME,YEAR,MONTHELSE/得到所有用户的费用数据ALABBGETALLFEEBEANBYUSERIDANDDATE1USERNAME,YEAR,MONTH/REQUEST保存登录用户名REQUESTSETATTRIBUTE“LOGINNAME“,LOGINNAMEREQUESTSETATTRIBUTE“AL“,AL/跳转到SHOULDHANDFEEINFOJSP页面REQUESTGETREQUESTDISPATCHER“SHOULDHANDFEEINFOJSP“FORWARDREQUEST,RESPONSE43本章小结本章是对系统的设计的一个详细的描述,包括文字描述和功能实现的部分代码由于代码的量很大,在这里我就只把关键性的代码粘贴出来了。本章通过对管理员登录模块设计的介绍,介绍了系统使用的MVC模式,以及通过代码的粘贴,展示了我的编码风格以及设计编码的主要思路。本章对系统进行了一个详细的介绍,并通过截图把系统的页面效果也展示出来了。5总结在设计开始这前,我对JSP并不是很了解,后来在公司实习中,慢慢对JSP有了一定了解。并学习使用MVC进行系统的开发。在我看来,做这个系统最重要的是对系统需求的把握,因为这个系统要统计的缴费方面太多了,数据一多久容易复杂化。之前我以为这个系统这么小,也就一个缴费功能,用到的表应该5、6张就够了,没想到会有这么复杂。在这个设计过程中,我遇到的技术难点(1)界面的美观,设计了好久的界面,一直都觉得太难看了,之前想用TABLECSS布局,发现不管是有TABLE边界还是没有都很不美观,最后还是用FRAME看得舒服点。由于从没有用过FRAME布局,于是在这个过程中我遇到了很多困难。面对这些困难,百度帮了我很大的忙。我们可以看到,我的页面中用到了很多的图片,这也都是为了界面美观而引用进来的,很是花了时间寻找。(2)系统的MVC模式。以前写代码就是所有的都写在一起,没有分开。做这个系统,我考虑使用MVC来做,这样系统维护起来就很方便了,代码页会很有条理。(3)一些插件的使用。在学校的时候,要实现什么功能就自己去敲代码实现。现在明白了,网络上其实已经有了很多封装好的代码,只要你引入相应的包就可以直接使用,效果比你自己写的代码效果更好,效率也更高。于是,我在系统实现中也引用了相应的插件。使用插件对我来说也是一个全新的体验,同时也是一个学习的过程。(4)对数据的处理。由于数据的处理过程很复杂,都相当于日志文件了,几乎要记录每个数据处理的每个过程的详细信息。这对于我是一个很大的挑战,在对表进行修修改改的过程中,我终于明白为什么说设计表有1NF,2NF,3NF等了,这就是为什么药一个专门设计数据库的DBA的原因吧。数据库设计的重要性,我通过这次的设计才真正体会到他的重要性。也是现在才知道设计比编码更重要。在整个设计过程中虽然说有网上资源的帮忙,但是在整个设计过程中还是出现过很多的问题,在不断学习的过程中我体会到(1)设计是复杂而精细的工作,你要从最先的不了解需求到深入了解,这是个慢慢摸索的事情。并不是所有的技术你都会你才能做这件事,现在的网络这么发达,什么不会你百度就可以帮你解决。在这次设计中我体会到在实践中学习的重要性。需求是你自己要去了解的,这个只有参考的,要得到具体的需求还是要自己去分析,去调查的。(2)由于前期工作的不彻底,对系统的需求分析的要求认识不够清楚,使得后续的工作不得不经常返回去修改数据表和个别代码。使我体会到在设计中的每一步的重要性,如果上一个步骤不能很好的完成,在后续的设计将会付出几倍的代价,特别是数据库要是没有设计好的话后期的代码编写会碰到很多的困难。而修改数据库则会让你的代码改动很大。在这个过程中,我感受到了视图的好处。(3)设计过程中,由于要实现某些功能,互联网帮了我的大忙。网络资源是一个丰富的共享体系,我通过在百度上百度解决了很多不会的问题。经过这次的设计,我深刻体会到了一个软件的设计和它的发展是那很的严密,容不得半点的马虎。要严格按照软件工程的方法与思想,逐步完成。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年人教版英语八年级上册 【Unit-7 When Tomorrow Comes】-单词课件
- 江苏省盐城市2025届高三5月考前指导政治押题卷(含答案)
- 2025年全国中学生生物知识竞赛题库及答案
- 消毒隔离制度试题及答案
- 江苏省连云港市赣榆初级中学2024-2025学年七年级下学期6月月考历史试题(含答案)
- 杭州学军中学2024学年第二学期高三数学学科模拟试卷
- 安徽省六安市独山中学2024-2025学年高一下学期5月月考数学试卷(含答案)
- 2025年江苏省徐州市沛县实验学校联盟学区中考三模地理试题(含答案)
- 化学●全国甲卷丨2022年普通高等学校招生全国统一考试化学试卷及答案
- 绿色施工节能用电管控
- 富民银行笔试题库及答案
- 中国天眼仰望苍穹
- 2025年高考第二次模拟考试数学(新高考Ⅱ卷)(参考答案)
- 河南省郑州市2025年中考二模语文试题(含答案)
- 宁波市慈溪市2025年小升初数学自主招生备考卷含解析
- 黄山旅游发展股份有限公司招聘真题2024
- 2025年下半年广东省中山市东凤镇人民政府雇员招聘9人易考易错模拟试题(共500题)试卷后附参考答案
- JJG(交通) 208-2024 车货外廓尺寸动态现场检测设备
- 2025-2030中国花店行业市场发展分析及发展趋势与投资前景研究报告
- 危重症患者体位管理
- ai训练师笔试题及答案
评论
0/150
提交评论