仓酷云

标题: JAVA网页编程之Struts框架在小区物业办理体系中的使用... [打印本页]

作者: 若相依    时间: 2015-1-18 11:11
标题: JAVA网页编程之Struts框架在小区物业办理体系中的使用...
其实产生见解的过程就是训练自己发现问题,分析问题的能力。根据以上的认识我想谈下传统的学习与通过视频独立学习的优缺点:  择要Struts供应了一个十分好的MVC框架,在Web使用开辟中把界面和营业逻辑分别,进步了代码的可重用性和天真性。文中起首先容了Struts观点和系统布局,论述了Struts的事情道理。然后先容了小区物业办理体系各个功效模块和全部体系基于Struts的开辟流程。最初,经由过程一个使用示例,具体先容了Struts框架在体系开辟中的使用。
  关头词
MVC;Struts框架;Web;物业办理体系;  媒介  物业办理体系是最近几年来为顺应小区建立和办理而衰亡的一种新型家产,它的呈现为室庐小区的古代化办理供应了保证。今朝,物业办理体系的开辟办法良多,但多半体系在开辟中存在体系布局庞大、代码重用率低、网页计划和软件开辟互相制约招致开辟效力低上等不尽人意的中央。在体系计划过程当中,我们综合思索体系布局、开辟周期和代码重用等方面,决意接纳先辈的J2EE手艺来开辟这个使用体系,并周全贯彻MVC(Model-View-Controller)的开辟形式。而Struts作为一个完成优秀的MVC框架,很好地将使用逻辑、处置历程和显现逻辑分红分歧的组件完成,对年夜型的庞大的Web体系而言,可年夜小气便代码开辟和办理,进步开辟效力。恰是鉴于此特征,在计划小区物业办理体系时,我们接纳了基于Struts框架的体系构建形式。  Struts的系统布局

  作为一个完成优秀的MVC框架,Struts对Model、View和Controller都供应了对应的完成组件,所示为Struts系统布局图。上面从模子、视图、把持来先容Struts的系统布局。


Struts构系统结图


  视图(View)就是一系列提交到客户扫瞄器举行显现的JSP文件,是用户看到并与之交互的界面。在这些界面中没有营业逻辑,也没有模子信息,只要标签。
  模子(Model)暗示使用程序的形态和营业逻辑,一般由JavaBean或EJB组件来完成。
  把持器(Controller)的感化是从客户端承受哀求,而且选择实行响应的营业逻辑,然后把呼应了局送回到客户端。在Struts中Controller由ActionServlet类和Action类来完成。ActionServlet次要卖力承受HTTP哀求信息,Action类卖力挪用模子的办法,更新模子的形态,并匡助把持使用程序的流程。
  
小区物业办理体系  1、体系功效分别  小区物业办理体系是物业部门用来对室庐小区内的修建、住户、设备、职员等信息举行综合办理的一个信息办理体系。依据客户请求,体系要能对小区内修建、大众设备、住户等基础信息完成录进、修正、查询和删除等操纵,而且还要完成包含水、电、煤气费在内的各项物业办理用度的统计、查询和报表天生。因而,完成该物业办理体系功效模块图以下:


体系功效模块图

  各模块完成的功效以下:
  (1)体系办理模块
  体系办理模块是全部物业办理体系的中心,在辨别分歧用户的利用权限、增强软件利用平安性和包管数据平安方面起着关头的感化。详细包含:用户办理、用户受权、变动暗码、体系设置、体系初始化、数据库备份、恢复这几个子模块。
  (2)住户办理模块
  该模块完成对新增住户基础信息(姓名、生齿、住房面积等)的挂号和已有住户信息的修正、查询和删除,是体系最基础的功效。该模块详细又分为住户挂号、住户修正、住户修正、住户查询和住户删除四个子模块。
  (3)设备办理模块
  该模块完成对小区内各项大众设备(如:路灯、排水管等)的办理,为各项设备创建信息档案,纪录各设备反省维修调养纪录。详细又分为设备挂号、设备报修、设备反省和设备调养这四个子模块。
  (4)房产办理模块
  该模块次要是针对小区内的修建,完成对小区内每栋修建、每栋修建内的每套住房举行办理,思索到业主对每一个单位的交易变动,该模块还应当包含住房房产一切权的办理。该模块详细分为:修建图纸办理、户型图纸办理、房产一切权办理等。
  (5)人事办理模块
  该模块次要是针对物业办理部门外部的事情职员的,完成对物业办理职员、保安/保洁职员的办理。包含:员工信息录进、查询、人为办理、员工考勤纪录和员工审核纪录这几个子模块。
  (6)免费办理模块
  该模块次要完成对已进住的住户举行用度(物业办理费、水脚、电费和煤气费)交纳的各方面办理,详细包含以下几个部分:免费种别设置、免费项目设置、计量单元设置、表设置、用户抄表、应收款和收款单等。 
  2、
体系开辟流程  接纳B/S模子的多层框架布局开辟的小区物业办理体系,MVC形式次要对应使用服务器的部分,前端呼应用户的哀求,后端卖力与数据库服务器之间的数据变更,两头为使用逻辑层,卖力详细营业的处置。现根据Struts框架的3个基础构成部分:视图、模子和把持器,扼要形貌体系的计划历程[4]。
  (1)视图计划
  使用体系的用户界面一般由JSP页面构成。在体系的六个模块中,各种信息的增加、删除、修正和扫瞄都经由过程JSP页面举行体现。体系在处置每一个数据暗示次要是用两个JSP页面举行暗示:一个页面用于数据的增加、删除、修正,另外一个页面用于数据的扫瞄。
  (2)构建模子
  Struts使用框架一般事后为每一个使用所必要的输出表单创立一个ActionFormBean。假如这些bean界说在ActionMapping设置文件中,Struts把持器Servlet将主动实行这些事后设定的操纵。因而,在体系开辟中,起首为每一个模块创建响应的ActionFormBean,再依据每一个模块的实践功效为每一个Bean界说用户操纵形态和视图中所必要显现数据信息的参数,视图能够经由过程操纵形态的分歧举行分歧的界面暗示。
  (3)构建把持器
  在Struts使用框架中,中央把持器(ActionServlet)承受一切来自客户真个哀求,并依据体系的设置文件Struts-config.xml制订用户HTTP哀求到其他Action对象的路径。中央把持器是由Struts框架自己所供应,在体系开辟中我们不必对ActionServlet举行再开辟,而卖力详细营业处置的Action类则是体系开辟的重点。
  在视图、模子、把持器对象计划完成后,必要编纂两个设置文件:web.xml和struts-config.xml,经由过程它们设置Struts体系中各个模块之间的交互。
  Struts
框架在体系开辟中的使用
  小区物业办理体系是一个庞大的年夜型Web使用体系,为了可以分明地形貌Struts在体系开辟中的使用,本文将以免费办理模块顶用户乐成登进体系并举行数据录进和查询这一使用为例举行较细致的申明。
  1、
剖析使用需求  在该使用中,次要事务包含:
  (1)供应用户登录界面,提醒用户输出用户名和暗码,并可以对用户在客户端输出的数据举行复杂的数据格局考证。若登录乐成,转进主操纵界面,不然给堕落误提醒信息,从头登录。
  (2)由主操纵界面转进物业办理费录进界面,用户在表单中输出相干信息(用户ID、日期),提交表单。若提交表单乐成,则转进确认界面,显现用户输出的信息。
  (3)由主操纵界面转进查询界面,用户输出相干信息后,查询出某段工夫内该用户的物业办理用度。
  (4)用户加入体系,前往主菜单页面。
  2、
该使用的详细计划  2.1数据库计划
  针对该使用,需在数据库中创立两张表:PORPERTY_TABLE和USER_TABLE,各表布局以下:
表1USER_TABLE字段范例申明UserNamechar(25)纪录登录到体系的用户名Passwordchar(25)纪录登任命户的登录暗码表2PORPERTY_TABLE字段范例申明OwnerIDchar(8)纪录独一暗示每一个用户的IDDatedatetime(8)纪录缴费日期RArefloat(8)纪录用户的衡宇面积Chargefloat(8)纪录应当交纳的物业办理费FeeStatechar(20)显现用户是不是缴费
  2.2
计划模子组件  在Struts框架中,模子组件卖力完成营业逻辑。在该使用中,模子组件包含一个有用类DbConnect和两JaveBean:UserBean和PorpertyBean。
  有用类DbConnect卖力创建和数据库的毗连,所供应的connectToDb()办法详细来完成和数据的毗连并前往这个毗连。UserBean代表用户信息,包含UserName和Password这两个属性。PorpertyBean代表物业用度信息,包含OwnerID、Data、OwnerName等几个属性。这两个JavaBean供应了响应的get/set办法,别的还卖力查询和向数据库中对应的表增加/查询纪录。
  2.3用户界面计划  用户界面是Web使用和用户的窗口,既能够承受用户的输出信息也能够向用户输入信息。表3列出了该使用顶用到的用户界面及其申明。
表3用户界面及其申明界面申明Welcome界面(index.jsp)显现接待到临信息,供应到登进界面的链接登进界面(logon.jsp)提醒输出用户名和暗码主操纵菜单界面(mainmenu.jsp)供应体系一切操纵菜单物业免费数据录进界面(input.jsp)提醒输出有关物业用度相干信息免费确认界面(confirmation.jsp)依据用户录进的信息前往该用户物业用度的一切信息(如:应缴的用度,是不是已缴费等)物业费查询界面(search.jsp)供应用户输出相干查询前提显现查询了局界面(display.jsp)依据用户查询前提显现查询了局
  为坚持该使用中一切界面作风的分歧性,在计划上述这些界面的过程当中,我们除利用尺度的JSP<include>语句外,还利用了Struts的Titles框架来创立复合式的JSP页面,使一切界面具有不异的页头和页脚。
  2.4、计划ActionForm  ActionFormBean用于在视图组件和把持器组件之间传送HTML表双数据。一般每一个HTML表单对应一个ActionFormBean,每一个ActionForm的validate()办法用于完成对用户输出数据举行格局和语法反省。在该使用中包括三个ActionFormBean:LogonForm、InputForm和SearchForm。
  2.5、
计划Action和Action映照  在Struts框架中,Action完成各个事务的流程把持,Action映照决意Action与其他web组件之间的联系关系干系。表4列出了该使用顶用到的Action、每一个Action的出口(挪用Action的组件)、传送给Action的ActionForm和每一个Action把哀求转发到的方针组件即出口。
表4该使用中的ActionAction出口ActionForm出口LogonActionlogon.jspLogonFormmainmenu.jspInputActioninput.jspInputFormconfirmation.jspSearchActionsearch.jspSearchFormdisplay.jspLogoffActionmainmenu.jsp无index.jsp
  给出了该使用中Action组件与别的组件的映照干系图。


Action映照图

  上述一切Action组件必要在Struts的设置文件struts-config.xml中设置其映照干系。
  
使用Struts框架的长处
  (1)全部物业办理体系包含上百个文件,若接纳传统的布局,要弄分明某个视图是利用甚么模子来处置逻辑是件很庞大的事。而接纳Struts框架来开辟的使用体系,依托JSP和Struts-config.xml和它们间的一致定名划定规矩却很简单地举行体系流程的查勘、修正和了解。只需依据视图Form表单的Action,在设置文件中找到同名的Action界说,就能够得知其路径和响应的FormBean。
  (2)Struts中一切逻辑处置都封装在class内,视图部分不再参与逻辑的处置,盘算和显现分明地分隔了,在JSP页面上没有呈现处置历程,在Servlet或贸易逻辑中没无数据格局。而且基于Struts框架开辟出的JSP代码也很简便,JSP页面中不含有Java代码,只含有Script和利用Struts标签库的HTML,页面开辟职员不用为修正视图而必需先了解模子,很年夜水平上进步程序开辟效力。
  
停止语
  Struts是一个完成优秀的MVC框架,在古代软件开辟中,愈来愈多的使用于年夜型Web使用体系的开辟。基于Struts框架的小区物业办理体系的顺遂开辟,也证明了Struts框架是一种十分优异的J2EE/MVC完成体例。该物业办理体系将为小区物业办理部门供应一个全新的事情情况,给物业办理的一样平常事情带来了极年夜的便利,进步了事情效力,具有很好的推行代价和使用远景。
最后我再次声明,我并没有说不看好java,实际上我对java很乐观的,毕竟她正在不断改进中,我相信她总有一天会和.net并驾齐驱的
作者: 因胸联盟    时间: 2015-1-19 15:57
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
作者: 海妖    时间: 2015-1-24 12:55
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
作者: 愤怒的大鸟    时间: 2015-1-28 05:54
是一种语言,用以产生「小应用程序(Applet(s))
作者: 仓酷云    时间: 2015-2-1 16:41
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
作者: 小妖女    时间: 2015-2-3 08:32
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
作者: 飘灵儿    时间: 2015-2-5 02:46
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
作者: 活着的死人    时间: 2015-2-11 02:00
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
作者: 小女巫    时间: 2015-3-1 19:32
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
作者: 变相怪杰    时间: 2015-3-10 22:30
是一种语言,用以产生「小应用程序(Applet(s))
作者: 精灵巫婆    时间: 2015-3-17 11:20
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
作者: 再见西城    时间: 2015-3-24 08:59
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2