




已阅读5页,还剩56页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于SSH的宽带业务管理系统摘要进入21世纪以来,计算机有了迅速的发展。计算机应用、信息技术全面渗透到了人类社会的各个方面,信息化已成为世界经济和社会发展的大趋势。企业的管理也从人工操作变得更加自动化、智能化和高效化。如果复杂的工作光靠人工来完成,势必浪费很多的时间,而且又很容易出差错。但使用业务管理系统则完全取代了原来一直用人工管理的工作方式,为及时、准确、高效地完成管理工作提供了强有力的工具和管理手段。为了适应现代信息管理,我设计的系统采用了SSH架构、ORACLEDATABASE10GEXPRESSEDITION数据库技术并选用了MYECLIPSE开发工具。本系统的主要功能包括以下几个方面管理员登录、宽带业务及会员管理、会员信息查询。本文介绍了宽带业务的发展背景、宽带业务管理系统的流程和实现的功能。除此,本文特别解释了整个系统的设计及思想、解决问题的技巧和方案。同时介绍了本系统的开发背景和开发的全过程。关键词宽带业务;SSH;JSP;ORACLE;MYECLIPSEBROADBANDSERVICEMANAGEMENTSYSTEMBASEDONSSHABSTRACTSINCEENTERINGTHE21STCENTURY,THERAPIDDEVELOPMENTOFCOMPUTERS,COMPUTERAPPLICATIONS,ITCOMPREHENSIVEINFILTRATIONOFHUMANSOCIETYINALLASPECTSOFINFORMATIONTECHNOLOGYTOBECOMEAWORLDECONOMICANDSOCIALDEVELOPMENTTRENDTHEMANAGEMENTOFENTERPRISESFROMMANUALTOAUTOMATED,INTELLIGENTANDEFFICIENTITCOMPLETELYREPLACESTHEWORKINGWAYOFARTIFICIALMANAGEMENTORIGINALLYANDOFFERSAPOWERFULTOOLANDMANAGEMENTWAYTOCOMPLETEMANAGEMENTFORPROMPT,ACCURATE,HIGHEFFICIENTINORDERTOADAPTTOMODERNINFORMATIONMANAGEMENTMYSYSTEMMADEUSINGOFTECHNOLOGYOFJAVAANDORACLEDATABASE10GEDITIONTHESKILLOFDATABASE,ANDMYECLIPSEISTOOLOFDESIGNTHEFUNCTIONSOFTHESYSTEMARELOGINOFADMIN,MANAGEMENTOFBROADBANDBUSINESS;MANAGEMENTOFCUSTOMER;THEQUERYOFCUSTOMERSINFORMATIONTHEPAPERMAINLYINTRODUCEDTHEDEVELOPMENTBACKGROUND,THEFUNCTIONANDTHEENTIREDEVELOPMENTPROCESSOFTHISSYSTEMTHISARTICLEESPECIALLYEXPLAINTHESYSTEMDESIGN,THETHOUGHTOFTHEDESIGN,THEIMPRACTICABLESKILLANDTHESOLUTIONATTHESAMETIME,THEPAPERMAINLYINTRODUCEDTHEDEVELOPMENTBACKGROUNDANDTHEENTIREDEVELOPMENTPROCESSOFTHISSYSTEMKEYWORDSBROADBANDBUSINESSSSHJSPORACLEMYECLIPSE目录摘要IABSTRACTII1绪论111课题背景112选题意义12编程环境及相关技术221概述222B/S模式223MYECLIPSE开发工具2231概述2232MYECLIPSE85版本特性324ORACLE10G数据库3241概述3242ORACLE10G数据库特点325TOMCAT服务器4251概述4252TOMCAT的配置426STRUTS技术5261概述5262STRUTS优势6263MVC模式6264STRUTS启动步骤727SPRING技术7271SPRING特性7272SPRING框架828HIBERNATE技术929JSP技术10291概述10292JSP技术的优势11293JSP的生命周期11294JSPJAVABEAN模型12295JSP中的重要标签133系统分析与设计1531需求分析15311功能需求15312性能需求1532系统可行性分析16321技术可行性16322经济可行性16323操作可行性1633系统流程图设计1734系统模块设计1734系统数据库设计18341数据库表设计18342HIBERNATE的封装与配置19343连接数据库214详细设计2341SSH的部分实现23411SERVICE层的实现23412DAO层的实现2442页面跳转2443验证码的实现2544JSP指令元素的配置2645翻页及首尾页的实现2746日历控件的实现285本系统实现的功能3251管理员登陆3252添加宽带业务3353查看宽带业务3454添加宽带会员3455查看宽带会员3556修改会员信息3657宽带会员查询36结论38参考文献39致谢40外文原文41中文翻译521绪论11课题背景随着企业管理信息化的发展以及互联网技术的日益进步,网络及计算机的引入使管理跃上了一个新的发展平台。企业的管理也从传统的人工模式变得高效化、自动化、智能化。因而中国企业面对的竞争压力也越来越大。企业要想更好发展,就必须充分利用信息化手段来提高管理效率及市场响应速度。花费适当的时间和资金建立企业信息门户网站并开设互联网业务的办理,并以此来制定长远发展战略。这样可使企业与顾客间的经济活动变得更灵活、更主动。我国宽带产业进入快速成长期,用户数也迅速增长。面对日益激烈的全方位市场竞争,如何提高竞争力、增加客户满意度、减少客户流失、提高效益成为各个从事宽带业务企业首要考虑的问题。12选题意义每一家公司都离不开信息化管理,而业务和用户又是公司的生存之本。所以做好这些信息的管理和维护对企业来说至关重要。维护业务信息的工作就是保存企业产品的基本信息,如业务名称、月租费、小时费率、日限时、月限时。同时,要确保信息的准确性。维护用户的工作则要更复杂一些,因为用户的信息会不断发生变化,所以需要保存的是一个动态的信息,可随时进行修改,以确保信息的一致性。同时,为了方便业务的拓展还必须要快速地查询到用户的相关信息。如果这些复杂的工作只靠人工来完成,势必浪费很多的时间,而且又很容易出差错。因为时间一长,会产生大量的文件和数据,这对于查找、更新和维护这些信息都带来了不少的困难。为了适应现代信息管理,本次设计选取了基于SSH(SSHSTRUTS,SPRING,HIBERNATE。以下简称SSH。其中,STRUTS进行流程控制,SPRING进行业务逻辑处理,HIBERNATE进行数据库操作的封装)的宽带业务管理系统这一课题。旨在通过SSH架构搭建一个宽带业务管理系统,从而使管理人员对宽带业务及用户的相关信息进行规范的管理和快速的查找,提高其工作效率以及准确度。同时也为企业管理找到一种更为便捷、有效、实用的方法和途径。2编程环境及相关技术21概述1系统采用B/S开发模式,使用MYECLIPSE85运行环境2数据库服务器ORACLE10G3WEB服务器TOMCAT60264采用的技术STRUTS,SPRING,HIBERNATE,JSP,JS下面,将对用到的编程环境及相关技术进行详细的概述。22B/S模式B/S模式(BROWSER/SERVER,浏览器/服务器模式,简称B/S模式),是WEB兴起后的一种网络结构模式。WEB浏览器是客户端最主要的应用软件,这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户的电脑上只要安装一个浏览器(BROWSER),如INTERNETEXPLORER等,服务器安装ORACLE或SQLSERVER等数据库。就可使浏览器通过WEBSERVER同数据库进行数据交互。这样一来大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。B/S模式最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,实现了客户端的零维护。从而使系统的扩展变得非常容易。只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,系统就可以自动分配给用户一个账号进入系统。B/S模式是对C/S模式的一种改进。在这种模式下,软件应用的业务逻辑完全在应用服务器端实现,用户表现完全在WEB服务器实现,客户端只需要浏览器即可进行业务处理,是一种全新的软件系统构造技术。从另一方面来说,B/S模式是基于网页语言的,与操作系统无关,所以跨平台也是它的优势。随着网页语言以及浏览器的进步,B/S在表现能力上的处理以及运行的速度上越来越快。这种结构更成为当今应用软件的首选体系结构。因而,本宽带业务管理系统选用了B/S开发模式。23MYECLIPSE开发工具231概述MYECLIPSE企业级工作平台(MYECLIPSEENTERPRISEWORKBENCH,简称MYECLIPSE),是一个十分优秀的用于开发JAVA、J2EE的ECLIPSE插件集,是对ECLIPSEIDE的扩展,是功能丰富的JAVAEE集成开发环境。它包括了完备的编码、调试、测试和发布功能,完整支持HTML、STRUTS、JSP、CSS、JAVASCRIPT、SPRING、SQL、HIBERNATE。利用MYECLIPSE,我们可以在数据库和JAVAEE的开发、发布,以及应用程序服务器的整合方面极大地提高工作效率。MYECLIPSE支持各种开源产品,极大地简化了软件的开发过程,深受开发者喜爱。因此,本宽带业务管理系统选用了MYECLIPSE开发工具。232MYECLIPSE85版本特性1JAVA事件探查器支持探查ECLIPSE插件;支持探查精简接口;支持独立启动探查器。2对STRUTS2的支持可以在任何类型的项目中新增对STRUTS2的支持;新增了对STRUTS2代码的自动完成提示信息。3加载模块的自定义功能可以自定义插件加载;可以管理MYECLIPSE模块。4对WTP项目的支持增强了对报表的支持,升级了BIRT25,并且新增了格式化信息。5APPSERVER支持JETTY7;新增SUNAPPSERVER91;对JBOSS4,5,WEBLOGIC9,10,TOMCAT,GLASSFISH,SUNAPPSERVER重载的改进。24ORACLE10G数据库241概述ORACLE10G(ORACLEDATABASE10GEXPRESSEDITION,简称ORACLE10G)数据库是第一套具有无限可伸缩性与高可用性,并可在集群环境中运行商业软件的互联网数据库。具有400多个领先的数据库功能,在集群技术、高可用性、商业智能、安全性、系统管理等方面都实现了新的突破。它是以高级结构化查询语言SQL为基础的大型关系数据库,通俗地讲它是用方便逻辑管理的语言操纵大量有规律数据的集合。是目前最流行的浏览器/服务器模式(BROWSER/SERVER)中使用的数据库之一。ORACLE在其技术白皮书上阐明,ORACLE10G数据库关键目标有二1降低管理开销2提高性能ORACLE10G的增强有对高可用性的增强、新的FLASHBACK能力的增强、支持回滚更新操作方面的增强以及对安全性的增强。这便于管理大量的用户。同时,它还增进了SQL语句、分析功能、OLAP、数据挖掘等方面的能力。对非关系型数据存储的能力也得到了改进。不仅如此,ORACLE10G还加强了对开发能力的支持以及对生物信息学BIOINFORMATICS的支持。242ORACLE10G数据库特点ORACLE10G数据库的突出特点如下1无范式要求,可根据实际系统需求构造数据库。2采用标准的SQL结构化查询语言。3具有丰富的开发工具,覆盖开发周期的各阶段。4具有字符界面和图形界面,易于开发。5数据库内模支持多字节码制,支持多种语言文字编码。6支持大型数据库,数据类型支持数字、字符、大至4GB的二进制数据,为数据库的面向存储提供数据支持。7数据安全级别为C2级(最高级)。8具有面向制造系统的管理信息系统和财务系统应用系统。因此,本宽带业务管理系统选用了ORACLE10G数据库。25TOMCAT服务器251概述TOMCAT服务器是一个免费的开放源代码的WEB应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好APACHE服务器,可利用它响应对HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上TOMCAT部分是APACHE服务器的扩展,但它是独立运行的,所以当你运行TOMCAT时,它实际上作为一个与APACHE独立的进程单独运行的。当配置正确时,APACHE为HTML页面服务时,TOMCAT实际上运行JSP页面和SERVLET。另外,TOMCAT和IIS等WEB服务器一样,具有处理HTML页面的功能,另外它还是一个SERVLET和JSP容器,独立的SERVLET容器是TOMCAT的默认模式。TOMCAT很受广大程序员的喜欢,因为它运行时占用的系统资源小、扩展性好、支持负载平衡与邮件服务等开发应用系统常用的功能。而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。因此,本宽带业务管理系统选用了TOMCAT6026。它在汲取TOMCAT55X优点的基础上,实现了对SERVLET25和JSP21特性的支持。除此以外做的改进还有内存的优化使用、有更大的I/O容量。252TOMCAT的配置首先需要下载SDK和TOMCAT,之后执行SDK和TOMCAT的安装程序,然后按默认设置进行安装即可。安装SDK以后,需要配置一下环境变量,在我的电脑属性高级环境变量系统变量中添加以下环境变量我的SDK安装在CSDK150)JAVA_HOMECSDK150CLASSPATHJAVA_HOMELIBDTJARJAVA_HOMELIBTOOLSJAR(一定不能少,因为它代表当前路径PATHJAVA_HOMEBIN接着可以找一个简单的JAVA程序(如TESTJAVA)来测试SDK是否已安装成功。打开命令提示符窗口,CD到你的TESTJAVA所在目录,然后键入下面的命令JAVACTESTJAVAJAVATEST此时如果看到打印出来THISISATESTPROGRAM的话说明安装成功了,如果没有打印出这句话,你需要仔细检查一下你的配置情况。安装TOMCAT后,在我的电脑属性高级环境变量系统变量中添加以下环境变量我的TOMCAT安装在CTOMCATCATALINA_HOMECTOMCATCATALINA_BASECTOMCAT然后修改环境变量中的CLASSPATH,把TOMCAT安装目录下的COMMONLIB下的可以根据实际追加SERVLETJAR追加到CLASSPATH中去,修改后的CLASSPATH如下CLASSPATHJAVA_HOMELIBDTJARJAVA_HOMELIBTOOLSJARCATALINA_HOMECOMMONLIBSERVLETJAR;接着可以启动TOMCAT,在IE中访问HTTP/LOCALHOST8888,如果看到TOMCAT的欢迎页面的话说明安装成功了。建立自己的JSPAPP目录1到TOMCAT的安装目录的WEBAPPS目录,可以看到ROOT,EXAMPLES,TOMCATDOCS之类TOMCAT自带的目录;2在WEBAPPS目录下新建一个目录,起名叫KUANDAI;3在KUANDAI下新建一个目录WEBINF,注意,目录名称是区分大小写的;4WEBINF下新建一个文件WEBXML,内容如下MYWEBAPPLICATIONAAPPLICATIONFORTEST5在KUANDAI下新建一个测试的JSP页面,文件名为INDEXJSP,文件内容如下NOWTIMEIS6重新启动TOMCAT。7打开浏览器,输入HTTP/LOCALHOST8888/KUANDAI看到登录页面的话说明就成功了。26STRUTS技术261概述软件开发者开始一个软件项目时,首先也应该构思该软件应用的框架,规划软件模块,并定义这些模块之间的接口和关系。框架可以提高软件开发的速度和效率,并且使软件更便于维护。对于开发WEB应用,要从头设计并开发出一个可靠、稳定的框架并不是一件容易的事。然而,随着WEB开发技术的日趋成熟,在WEB开发领域出现了一些现成的优秀的框架,开发者可以直接使用它们,STRUTS就是一种不错的选择,它是基于MVC的WEB应用框架。STRUTS是APACHE软件组织提供的一项开放源代码项目,它为JAVAWEB应用提供了一个通用的框架,尤其适用于开发大型可扩展的WEB应用。从而使得开发人员可以把精力集中在如何解决实际业务的问题上。此外,STRUTS框架提供了许多可供扩展和定制的地方,使得应用程序可以方便地扩展其框架,来更好的适应用户的实际需求。STRUTS本身是一群经验丰富的WEB开发专家的集体智慧结晶,在全世界范围内得到广泛运用并得到一致认可。因此对于开发大型复杂的WEB应用,STRUTS是不错的框架选择。因此,本宽带业务管理系统选用了STRUTS对程序进行整体的流程控制。262STRUTS优势连接了过滤器INTERCEPTOR可以通过过滤器实现页面跳转(CHAIN过滤器)、重命名、文件上传下载(FILEUPLOAD过滤器)、数据验证(VALIDATION过滤器)等功能。含有TYPECONVERTER类型转化器,可以进行日期、字体样式的转换。基于多个表单验证。通过该功能还可以通过I/O流的操作实现文件上传功能。263MVC模式MVC模式(MODELVIEWCONTROLLER,简称MVC模式),即把一个应用的输入、处理、输出流程按照MODEL、VIEW、CONTROLLER的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层。之前的网站搭建都属于无MVC模式。该模式用JSP(HTMLJAVA)搭建一个基本的网站,只可以实现简单的页面跳转并通过建立表单返回用户信息(即HREF链接以及FORM表单提交)。再通过SERVLET进行交互,接收JSP发送来的内容,以此实现简单的网站。而在MVC中通过JAVABEAN、SERVLET、JSP实现控制功能。通过JSPJAVABEAN模式实现了VIEWCONTROLLER模式。这样一来大大简化了开发流程。视图VIEW代表用户交互界面,对于WEB应用来说,可以概括为HTML界面。MVC设计模式对于视图的处理仅限于视图上数据的采集和处理以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型MODEL处理。STRUTS中最重要的便为MVC模式,其实质上就是在JSPMODEL的基础上实现的一个MVC框架。MVC框架模型如图21所示图21MVC框架模型MMODEL模型层作用是操作数据库(DB);遍历业务逻辑(如看用户是否存在);执行命令;对控制层之后的数据和行为进行操作。使用JAVABEAN处理(SERVLET通过JAVABEAN调用保存的用户信息判断是否符合)。VVIEW显示层该层通过客户端(浏览器)演示信息。即演示MODEL层处理好的结果(如注册成功登录界面返到VIEW层)。作用在于可以直接把信息发送给MODEL层;请求、更新MODEL层;发送用户知道已经给控制层;允许控制层返回跳转不同页面。使用JSP处理。CCONTROLLER控制器层用于对连接用户的各界面进行交互(即执行完哪个操作调到哪个JSP页面)和业务逻辑层的加密。使用SERVLET处理。现在人们普遍使用的是STRUTS2。由于STRUTS1只是对SERVLET进行了简单封装,用户仍需动用SESSION、COOKIE等对象,为了与JAVASERVERFACE(JSF框架优于STRUTS)竞争,STRUTS2引入了OPENSYMPONY公司早期的致力于前台页面控制的一个成熟的MVC框架WEBWORK。故而STRUTS2的实质是为STRUTSWEBWORK。正是由于引入了WEBWORK,所以说STRUTS实现了MVC模式。264STRUTS启动步骤1找到WEBXML。2由FILTER拦截所有有关STRUTS的请求(以ACTION结尾)并将请求传给STRUTS框架。3再由STRUTS框架转发给配置文件(STRUTSXML)进行处理。4通过使用自带的过滤器将请求内容传递给与之相对应的ACTION进行处理。5处理结果返回一个STRING字符串,再通过STRING字符串找到与之相对应的RESULT,返回到JSP页面。27SPRING技术SPRING是一个开源框架,由RODJOHNSON创建,是为了解决企业应用程序的复杂开发。框架的主要优势就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。通过使用SPRING技术管理JAVABEAN组件间关系更好地实现其封装业务逻辑处理、数据访问、事务控制的功能。SPRING完成以前这些只可以由EJB完成。然而,SPRING的用途不仅限于服务器端的开发。从简单性、可测试性和低耦合的角度而言,任何JAVA应用都可以从SPRING中受益。271SPRING特性SPRING是独特的,因为若干个原因它定位的领域是许多其他流行的FRAMEWORK没有的。SPRING致力于提供一种方法管理业务对象。它的设计从底部帮助开发人员编写易于测试的代码。SPRING是用于测试驱动工程的理想FRAMEWORK。不需要一个以上的FRAMEWORK。它是潜在地一站式解决方案,定位于与典型应用相关的大部分基础结构。它也涉及到其他FRAMEWORK没有考虑到的内容。SPRING是全面的和模块化的。SPRING有分层的体系结构,这意味着可以选择使用它孤立的任何部分,因为它的架构是很稳定的。我们可以选择仅仅使用SPRING来简单化JDBC的使用,或用来管理所有的业务对象。采用强大的基于JAVABEANS的控制反转(INVERSIONOFCONTROL)原则的配置管理,使得应用程序的组件更加快捷简易。SPRING方便集成各种优秀框架。它不排斥各种优秀的开源框架,反而可以降低各种框架的使用难度,SPRING提供了对各种优秀框架(如STRUTS、HIBERNATE、HESSIAN、QUARTZ等)的直接支持。SPRING能消除使用各种各样格式的属性定制文件的需要,在整个应用和工程中,可通过一种一致的方法来进行配置。例如通过SPRING,一个特定类不再需要查找属性关键字或系统属性,你可很简单地看到类的JAVABEAN属性。倒置控制的使用帮助完成这种简化。因此,本宽带业务管理系统选用了SPRING对业务逻辑层进行管理。272SPRING框架SPRING框架是一个分层架构,由7个定义良好的模块组成。组成SPRING框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下1、核心容器核心容器提供SPRING框架的基本功能SPRINGCORE。核心容器的主要组件是BEANFACTORY,它是工厂模式的实现。BEANFACTORY使用控制反转(IOC)模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。2、SPRING上下文SPRING上下文是一个配置文件,向SPRING框架提供上下文信息。SPRING上下文包括企业服务,例如JNDI、EJB、电子邮件、国际化、校验和调度功能。3、SPRINGAOP通过配置管理特性,SPRINGAOP模块直接将面向切面的编程功能集成到了SPRING框架中。所以,可以很容易地使SPRING框架管理的任何对象支持AOP。SPRINGAOP模块为基于SPRING的应用程序中的对象提供了事务管理服务。通过使用SPRINGAOP,不用依赖EJB组件,就可以将声明性事务管理集成到应用程序中。4、SPRINGDAOJDBCDAO抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。SPRINGDAO的面向JDBC的异常遵从通用的DAO异常层次结构。5、SPRINGORMSPRING框架插入了若干个ORM框架,从而提供了ORM的对象关系工具,其中包括JDO、HIBERNATE和IBATISSQLMAP。所有这些都遵从SPRING的通用事务和DAO异常层次结构。6、SPRINGWEB模块WEB上下文模块建立在应用程序上下文模块之上,为基于WEB的应用程序提供了上下文。所以,SPRING框架支持与JAKARTASTRUTS的集成。WEB模块还简化了处理多部分请求以及将请求参数绑定到对象的工作。7、SPRINGMVC框架MVC框架是一个全功能的构建WEB应用程序的MVC实现。通过策略接口,MVC框架变成为高度可配置的,MVC容纳了大量视图技术,其中包括JSP、VELOCITY、TILES、ITEXT和POI。模型由JAVABEAN构成,存放于MAP;视图是一个接口,负责显示模型;控制器表示逻辑代码,是CONTROLLER的实现。SPRING框架的功能可以用在任何J2EE服务器中,大多数功能也适用于不受管理的环境。SPRING的核心要点是支持不绑定到特定J2EE服务的可重用业务和数据访问对象。毫无疑问,这样的对象可以在不同J2EE环境(WEB或EJB)、独立应用程序、测试环境之间重用。SPRING框架结构如图22所示图22SPRING框架28HIBERNATE技术HIBERNATE是中间件(软件),位于应用程序和数据库之间,用于解决面向对象的JAVA应用程序和面向关系的数据库之间的交互问题。它的优势在于摈弃了JDBC中用户只能自己封装对象、用标准SQL语句去操作数据库中的表。而是通过ORM对象关系映射,方便地在面向对象的JAVA领域和面向关系的数据库领域建立起联系。并自动将需持久化的对象进行持久化(即JAVA应用程序给出的对象)。ORM就是映射是面向对象编程中的对象OBJECT和关系数据库的关系RELATION的一个映射MAPPING。使用户可以以对象的方式做增、删、改、查的操作。优势在于现在的软件开发已经是面向对象的了。所有的值、操作都是基于对象的概念。而数据库还是关系数据库,记录的存储还是一条一条的。没有ORM之前,都是直接用SQL操作数据库,或者使用DAO之类的机制进行对象概念到关系数据库概念的转换。而现在有了HIBERNATE中的ORM映射开发人员不必管数据库怎么存储,他只要知道要保存的也是一个对象(和他开发的概念一致)就可以了。该框架同时兼备了效率高、性能好、可维护性高。因此,本宽带业务管理系统选用了HIBERNATE对数据层进行处理。HIBERNATE的框架结构如图23所示图23HIBERNATE框架结构HIBERNATE体系结构要素POJO实体类(JAVABEAN)一定要有无参构造函数,让HIBERNATE自动为用户创建持久化对象(POJO类中对象一般都为持久化对象);和数据库表进行对应;需实现序列化接口HIBERNATEPROPERTIES(即HIBERNATECFGXML)HIBERNATE的核心配置文件,配置数据库连接信息(用户提供需要连接哪个数据库、驱动、用户名、密码)XMLMAPPING(即HBMXML)提供需要持久化的对象,并将数据库表和POJO类进行一一对应的配置文件补充说明的一点是对象持久化就是把内存中的对象永久的保存起来(将对象存储到数据库中),保护对象的状态,方便使用。好处在于可以解决掉电的问题;共享方便;保证对象安全检索方便。体系中的持久化层,封装了数据访问细节,让业务逻辑层专注于业务逻辑(自动实现数据库中的数据和内存中数据的双向同步更新)。29JSP技术291概述JSP(JAVASERVERPAGE,简称JSP)技术提供了一种简单快速的方法来创建显示动态生成内容的WEB页面。由业界处于领先地位的SUN公司制定了相关的JSP技术规范,该规范定义了如何在服务器和JSP页面间进行交互,还描述了页面的格式和语法。JSP页面使用XML标签和SCRIPTLETS(一种使用JAVA语言编写的脚本代码),封装了生成页面内容的逻辑。它将各种格式的标签(HTML或者XML)直接传递回响应页面。通过这种方式,JSP页面实现了页面逻辑与其设计和显示的分离。JSP技术是JAVA系列技术的一部分。JSP页面被编译成SERVLET,并可能调用JAVABEANS组件BEANS或ENTERPRISEJAVABEANS组件(企业BEANS),以便在服务器端处理。因此,JSP技术在构建可升级的基于WEB的应用程序时扮演了重要角色。JSP页面并不局限于任何特定的平台或WEB服务器上。JSP规范在业界也有着广泛的适应性。JSP技术是行业协作的结果,它的设计是开放的,符合行业标准的,并支持绝大多数的服务器、浏览器和相关工具。由于使用可重用的组件和标签取代了对页面本身脚本语言的严重依赖,JSP技术大大加快了开发的速度。所有JSP的实现均支持以JAVA编程语言为基础的脚本语言,它有与生俱来的可适应性,支持复杂的操作。292JSP技术的优势JSP是动态网页技术,是运行在服务器端的应用程序,所以可以接受客户请求、处理客户请求并以HTML格式显示返回给浏览器(客户端)。它相比之前的SERVLET技术和HTML技术的优势在于HTML之前的静态网页技术以WWW传输,由浏览器识别并显示文件。所以用户只能被动地浏览网站设计者提供的内容。因为服务器和用户不能进行交互,所以网页内容不会发生变化,只能由设计者进行更新。JSP动态网页技术是建立在B/S架构上的服务器端脚本程序。JSP在首次载入时被翻译成SERVLET文件(JAVA),JSP引擎(调用JSP的WEB容器)调用JAVA编译器将JAVA文件编译成CLASS文件,然后JSP引擎调用JVM执行CLASS文件,将运行结果返回给服务器,服务器按HTTP协议封装响应后返回给客户端。SERVLET由于是将请求放入输出流中返还给客户端,所以只能一句句输出直到生成一个HTML页面,生成网页十分复杂,用户体验较差。SERVLET是在JAVA代码中嵌套HTML代码,擅长做业务逻辑处理。JSP它是在HTML中嵌入JAVA代码,所以可以直接将一个网页文件返还给用户,对整个网页的修改十分方便。我们一般采用JSPJAVABEAN模型,由JAVABEAN做业务逻辑处理。293JSP的生命周期JSP的生命周期(运行原理)分为以下阶段1翻译阶段当容器接受到客户端第一次对JSP的请求后,先判断请求的JSP源文件是否存在。若不存在返回404错误,若存在,将该JSP页面先翻译成一个SERVLET文件。2编译阶段将SERVLET源文件编译成一个字节码文件,然后由容器将其装载进虚拟机并实例化。3执行阶段调用SERVLET中的INIT方法、SERVICE方法、DESTORY方法。其中INIT方法用于初始化,DESTROY方法用于在服务器关闭时销毁。JSP的调用如图24所示图24JSP的调用示意图在JSP的调用过程中需特别说明的是1如果被请求的JSP源文件内容发生变化,那么要重新将JSP文件翻译成SERVLET文件,再编译、装载和实例化,最后运行SERVLET文件。做了修改后无需再重新启动服务器,只需刷新页面即可。2如果第二次请求JSP时,此时若被请求的JSP文件已经有对应的SERVLET实例,那么就直接运行该SERVLET。第二次请求时,前两步不再执行,所以速度会大大提升。294JSPJAVABEAN模型1JSPJAVABEAN模型在运用JSP技术实现WEB动态交互中主要使用到的是JSPJAVABEAN模型。本系统中也采用了该模型。其工作原理是当浏览器发出请求时,JSP接收请求访问JAVABEAN。若需要访问数据库后端服务器时,则通过JAVABEAN连接数据库或后台服务器,进行相应的处理。JAVABEAN将处理的结果数据提交给JSP。JSP提取结果并重新组织后,动态产生HTML页面返回给浏览器。用户从显示的页面中得到交互的结果。JSPJAVABEAN模型如图25所示图25JSPJAVABEAN模型该模型充分利用了JSP技术易于开发动态网页的特点,页面显示层的任务由JSP承担(但它也含有事务逻辑层的内容),JAVABEAN主要负责事务逻辑层和数据层的工作。JSPJAVABEAN模型仅依靠一个或几个JAVABEAN组件实现具体的应用功能,生成动态内容,其最大的特点是简单易操作。2JAVABEAN组件JAVABEAN组件本质上就是一个普通JAVA类,只不过这个类需要遵循一些编码的约定。它可以用来封装业务逻辑处理、数据访问、事务控制。同时它是JAVA中的可重用组件。可重用即不用进行反复创建,只需直接在各JSP页面中调用即可。JSP页面的实现要特别注重对JAVABEAN的使用。在JSP页面中,既可以像使用普通类一样实例化JAVABEAN类的对象,调用它的方法;也可以利用JSP技术中提供的动作元素来访问JAVABEAN。一个标准的JAVABEAN组件具有以下几个特性需实现SERIALIZABLE接口在实例化JAVABEAN对象时,需要提供无参构造器用来调用无参构造方法它是一个公开的(PUBLIC)类,并提供SET方法和GET方法来让外部程序设置和获取JAVABEAN的属性。295JSP中的重要标签由于JSP中用到的标签有很多,下面仅列举其中较重要的标签,来说明JSP标签的应用。1JSPJAVABEAN模型下用到的标签JSPUSEBEAN语法作用用于在JSP页面中初始化一个JAVA实例JSPSETPROPERTY语法作用为JAVABEAN实例的属性赋值当表中名称和对象名称同名时自动进行赋值;不同时,由PARAM提供表当中提供的字段名称,并给属性赋值JSPGETPROPERTY语法作用用于输出JAVABEAN实例的属性,拿到属性值后响应输出给客户端。2”在JSP中这个标签十分重要,在页面跳转时都会用到。在此特别说明其用法BASEPATH标签的作用是把当前目录的所有路径都定义到WEBROOT根目录下,进行所有跳转时都基于该路径跳转。图26页面间跳转举例用图举例说明在本系统中若使用”标签后,从ADDADMINJSP跳转到同目录下的MODIFYADMINJSP,对应代码应为若不使用该标签,同名目录下的跳转应为。此时不能再写前面的路径,否则跳转目标页为ADMIN/MANAGER/ADMIN/MANAGER/MODIFYADMINJSP该标签的使用主要是为了在不同目录下页面的跳转不再使用相对路径,准确度会有所提升。3系统分析与设计31需求分析需求分析是宽带业务管理系统开发的第一步也是最重要的一步。需求分析就是描述系统的需求,并依此来建立系统模型。分析的根本目的是在开发者和提出需求的人之间建立一种理解和沟通的机制。因此,系统的需求分析应该是开发人员和用户或者客户一起完成的。需求分析要明确系统要服务于哪些用户,对这些用户提供哪些服务等。以下是针对宽带业务管理做出的需求分析311功能需求本次设计的宽带业务管理系统,主要目标是提高客户管理工作的效率,并实现对会员基本信息、宽带业务信息进行管理、查询及维护的功能。系统开发的总体任务是实现管理的系统化、规范化和自动化。采用面向对象的分析方法对宽带业务管理系统进行功能需求分析,可将需求具体划分为对以下功能的需求1添加宽带业务管理员在宽带业务添加页面填写相关信息,提交到服务器,其结果是服务器将添加后的宽带业务信息保存到数据库。2查看宽带业务信息管理员输入登录名和密码,登入后可跳出用户所办理的宽带业务。3添加宽带会员管理员在宽带会员添加页面填写相关信息,提交到服务器,其结果是服务器将添加后的宽带会员信息保存到数据库。4查看宽带会员信息管理员输入登录名和密码,登入后可跳出办理宽带业务的用户列表。5修改会员信息对宽带用户的信息进行修改。对不符合要求的会进行错误提示(如两次密码输入不一致时)。其中默认用户名为不可修改项。6宽带会员查询为管理员提供宽带会员查询的功能,管理员输入相关搜索条件,可以在数据库中搜索到相应会员信息。312性能需求首先,系统既要操作简单、直观、灵活,又要易于学习掌握。不仅要满足管理人员对宽带业务、会员信息进行录入、维护等工作,还要简明清晰,尽量有一定推广价值。所以应具备如下性能1界面友好以清晰,明朗的界面显示用户信息和宽带业务信息等;2方便的查询可由用户账号名字、营业厅地址,注册时间进行查询;3系统可扩充、易维护系统应充分考虑到客户的各种变化如客户的增加、删除、信息修改等等,具备一定的扩充能力。系统的模块化程度要高,软件维护要方便;就实际情况,在系统配置、网络带宽较容易得到保证的情况下,我们最需要考虑的性能需求还要有系统安全性问题;4系统在确定用户名和密码后,应具有自动连接数据库的功能。在正确连接数据库后,首先应对管理员的用户名和密码进行检验;5提示功能若没有此用户名应给出相应的提示;32系统可行性分析可行性分析是需求分析的基础上进行的,对系统的开发从技术、经济、社会、运营等方面进行分析,并得出系统的开发工作可行、不可行、需要修改、追加投资、暂缓开发、分步实施等方案和结论,最后完成可行性分析。可行性分析是在建设的前期对工程项目的一种考察和鉴定,对拟议中的项目进行全面综合的技术、经济能力方面的调查,判断它是否可行。为了保证新系统的成功开发和运行,我分别从技术、经济和操作三方面对本系统的可行性进行了分析和研究。321技术可行性技术可行性分析是根据新系统的目标来衡量是否具有各所需要的技术,包括系统开发人员数量和水平,硬件方面,软件方面及其它应用技术。本系统采用成熟的数据库技术与系统开发技术,采用B/S架构,使用MYECLIPSE85运行环境,利用现在比较成熟的JSP语言以及SSH架构,由ORACLE10G作为后台的数据库管理。方便地在WINDOWS系统下实现该系统的各功能模块。同时,JSP对于在WEB应用中集成JAVABEAN组件提供了完善的支持,这种支持不仅能缩短开发时间(可以直接利用经过测试的可信任的已有组件),避免重复开发。JAVABEAN组件可以用来执行复杂的计算任务,或负责与数据库的交互及数据提取等。前台主要使用HTML语言,用JSP页面对表单数据进行处理。本系统对用户的要求,除了需要具备在MICROSOFTWINDOWS平台上使用个人电脑的知识外,并不需要特别的技术能力。使用系统的管理员,需要具备对TOMCAT服务器的使用能力,在投入使用前,无需对操作系统的人员进行培训。这样既减少投入成本又简化了操作环节。因此,开发该系统具有技术可行性。322经济可行性经济可行性分析主要是对开发新系统所投入的资金与系统投入使用后所带来的经济效益进行比较,确认新系统是否会给企业带来一定的经济效益。开发此宽带业务管理管理系统,不仅能提高企业的管理水平给管理员提供一个方便的运作信息的平台,还能提升企业的形象及增强企业的竞争力。我设计的宽带业务管理系统能将业务管理和会员管理信息化,降低了使用者的劳动强度。同时提高了工作质量和效率,用最少的成本获得最好的经济效益。该业务管理系统淘汰了传统的基于文本、表格等纸介质的手工处理,大提高了执行效率,节省了时间和资金。此外,系统的开发基于本人对程序开发的实践学习而来,无需资金投入,并且系统开发过程投入的成本不高,因此开发经费完全可以接受。因此,开发该系统在经济上是可行的。323操作可行性至于操作可行性,管理员只须在客户端拥有一个浏览器就可以轻松对用户办理的宽带业务及会员信息进行新增、管理、查询。同时页面清晰明了,因而操作起来十分简单、便捷。管理员只需把用户的信息放入服务器端的数据库或专门的数据库服务器,管理者就可运行相应的后台程序进行处理。因此,开发该系统在操作上是可行的。33系统流程图设计根据系统总体设计,首先系统要有一个登录界面INDEXJSP,如果用户身份被确认为管理员,则由系统引至用户信息维护页ADMIN/INDEXJSP。该页通向用户管理页面的链接,各个管理页面的功能将和各个管理模块挂钩,这些内容都在系统界面及代码设计中。下面给出系统流程图,如图31所示图31系统流程图34系统模块设计本系统把页面中常用的部分集成为模块,页面头部模块放在TOPJSP文件中,查询模块放在LEFTJSP文件中,主页面模块放在CONTENTJSP文件中,页面尾部模块放在BOTTOMJSP文件中。这种设计方式使整个系统界面和功能的设计思路非常清晰,系统页面布局如图32所示图32系统页面布局本系统采用B/S(浏览器/服务器)的三层架构设计,它的基本框架如图33所示图33基本框架34系统数据库设计数据库是系统的核心和基础。它设计的好坏直接影响着整个系统的质量。数据是一切系统设计的基础,通俗地说,数据库设计就像高楼大厦的根基一样,如果设计的不合理、不完善,将在系统开发过程中,甚至到后期的系统维护、功能变更和功能扩充时,引起较多问题,严重时甚至要重新设计,重做大量已完成工作。341数据库表设计表31管理员信息表字段名字段类型中文描述备注非空主键IDNUMBER唯一标识LOGIN_NAMEVARCHAR220登录名UNIQUEREAL_NAMEVARCHAR220真实姓名LOGIN_PASSWORDVARCHAR220登陆密码EMAILVARCHAR250EMAILUNIQUESEXNUMBER1性别0男1女ADDRESSVARCHAR2200地址REGISTER_DATEDATE注册日期TELEPHONEVARCHAR220电话POSTCODEVARCHAR210邮编REMARKVARCHAR2100备注ROLEIDNUMBER10角色FK表32宽带业务信息表字段名字段类型中文描述备注非空主键IDNUMBER终端IDNAMEVARCHAR232业务名称UNIQUEBASE_FEENUMBER8,2月租费DEFAULT0RATE_FEENUMBER8,2每小时的费率DEFAULT0DAILY_LIMITNUMBER日限时间单位(秒)MONTH_LIMITNUMBER月限时间单位(秒)PRODUCTSTYPEIDNUMBER产品类型IDFK表33角色表属性类型意义说明IDNUMBER唯一标识PKNAMEVARCHAR220角色名UNIQUE1管理员USER2普通用户REMARKVARCHAR2100备注342HIBERNATE的封装与配置1HIBERNATE封装许多WEB应用采用HIBERNATEAPI来操作关系数据库。它可以操作大批量的数据,有确保数据一致性的机制,支持信息的并发存取,可以使用己经非常成熟的SQL语
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电子商务运营策略及流量增长方案
- 高层建筑提水循环发电方案设计
- 防水的工程施工合同范本5篇
- 工业企业环保升级改造方案
- 第三方监测系统合同管理要点
- 互联网小微企业融资解决方案
- 数据库事务的数据库的事务的隔离级别的不同总结
- 教育技术中的概率与数理统计应用
- 鼻炎症状自查规范
- 神经网络在模式识别中的应用指南
- 2025广东珠海市下半年市直机关事业单位招聘合同制职员37人考试参考试题及答案解析
- 软件开发驻场合同协议
- 音乐培训机构招生
- 生产成本控制及预算管理表格模板
- 动漫艺术概论考试卷子及答案
- 山东省青岛市即墨区实验学校2025-2026学年九年级上学期开学考试英语试题(含答案)
- 浙江省浙南名校联盟2025-2026学年高二上学期开学返校联考英语试卷(含音频)
- 知道智慧树林业工程前沿进展满分测试答案
- 2025年国企中层干部竞聘笔试题及答案
- 材料返款协议书
- 工程机械行业发展深度报告
评论
0/150
提交评论