欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    [优秀毕业设计精品] 基于mvc模式的CRM框架的研究与改进.doc

    • 资源ID:3932547       资源大小:1.65MB        全文页数:45页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    [优秀毕业设计精品] 基于mvc模式的CRM框架的研究与改进.doc

    编 号: 审定成绩: 毕业设计(论文)设计(论文)题目:基于mvc模式的CRM框架的研究与改进学 院 名 称 :计算机科学与技术学 生 姓 名 : 专 业 :计算机科学与技术班 级 : 学 号 : 指 导 教 师 :答辩组 负责人 :填表时间:2010年 04月教务处制摘 要 目前,国内中小企业迅速发展,导致落后的客户关系管理能力已经很难满足这些企业的需求,在这样的状况之下,开发新的客户关系管理系统成了企业提高管理能力的有效手段。为了解决这一问题,我开始研究针对中小企业的客户关系管理系统框架Bosent CRM,通过研究开发更好的客户关系管理系统。 软件开发框架是一个值得我们研究的课题,一个优秀的框架可以节约大量的开发成本。在当今J2EE开发领域,MVC设计模式是一个非常重要的架构模式,它能帮助我们建立起强壮的、高效率的、可伸缩的框架平台。 本论文首先简述了MVC设计模式的基本概念,其次论述了针对客户关系管理系统的Bosent CRM框架实现MVC模式的原理,并且详细论述了mvc各个部分的实现原理,其中包括它的视图形成过程、控制器的原理以及模型原理,重点在于菜单形成过程以及表单数据的绑定机制。最后分析本框架的一些优点与不足。 最后本论文结合北京长信通信息技术有限公司的客户关系管理系统,在使用Bosent Crm开发与测试过程中发现的问题对框架进行改进。【关键词】 CRM MVC设计模式 改进 ABSTRACT At present, the rapid development of domestic small and medium enterprises, leading to customer relationship management capabilities backward has been difficult to meet the needs of these enterprises in under such a situation to develop new enterprise customer relationship management system became an effective means to improve management capacity. To solve this problem, I began to study customer relationship management for small and medium system framework Bosent CRM, through research and development for better customer relationship management system.  Software development framework is a subject worthy of our study, an excellent framework can save a lot of development costs. In the area of today's J2EE development, MVC design pattern is a very important framework, it helps us build strong, efficient, scalable framework platform.  This paper first outlines the basic concept of MVC design pattern, then discusses customer relationship management system Bosent CRM framework to achieve the principle of MVC model, and discusses in detail the various parts of mvc implementation principle, including its view of the formation process The principle and the principle of the controller model, with emphasis on the menu as well as the formation of form data binding mechanism. Finally this framework some of the advantages and disadvantages.  Finally, this paper combines the Beijing Information Technology Co., Ltd. ICT long customer relationship management system, in use Bosent Crm Development and problems found during testing to improve the framework. Key words CRM MVC Transformation声明 毕业论文独创性声明 秉承学校严谨的学风和优秀的科学道德,本人郑重声明,所呈交的论文是我个人在导师与项目经理指导下进行的研究工作及取得的研究成果。尽我所知,除了论文中特别注明和致谢的地方外,论文中不包含其他人已经发表和撰写的研究成果。特此声明。本人签名: 日期:目 录摘 要2ABSTRACT3声明4目 录5绪 论7第一章研究概述8第一节研究背景8第二节研究内容及目标8第三节本章小结9第二章J2EE平台与MVC设计模式9第一节J2EE体系结构9一、概述9二、体系结构10第二节MVC设计模式概述10第三节本章小结12第三章Bosent Crm框架MVC原理12第四节控制器13一、控制器类13二、共享数据区18三、配置文件19第五节模型21一、Action21二、JavaBean23三、数据库连接池24第六节视图26一、视图原理26二、菜单29三、标签库31第七节本章小结32第四章Bosent Crm平台的功能改进32第一节权限体系改造32一、功能需求32二、改造基本思路32三、修改过程33第二节表单重复提交问题34一、问题描述34二、同步令牌机制35三、Bonsent CRM改造详细说明36第三节标签显示错误问题38一、错误现象38二、错误分析39三、修改说明39第四节增强日志功能40一、问题描述40二、实现方案42第五节增加集群功能43一、集群(cluster)和负载均衡的基本概念43二、Bosent CRM平台可以使用集群43三、使用JGroups技术实现集群44第六节本章小结45结 论46致 谢48参考文献49附 录50绪 论 客户关系管理系统是企业为了满足每个客户的特殊需求,同每个客户建立联系,通过同客户的联系来了解客户的不同需求,并在此基础上进行"一对一"个性化服务。 CRM厂商大致可以分成三类,第一类是国际大型软件厂商,如Oracle、SAP等,他们的客户定位主要在国内特大型企业,或者国内五百强企业。另外一类是用友、金蝶,还有国内传统的几家大型管理软件的企业,这类企业更多的是聚焦在中大型企业身上,他们可能有自己独立的产品,包括自己的服务体系,金额大概几百万到几千万范围。第三类是一些中小型软件厂商,这类厂商主要聚焦在中小型企业或者快速发展型的企业身上。 目前的中小企业在发展过程中,往往存在着非常多的困难,特别是客户管理,从最早的纸质表格到之后的excel报表,到如今的CRM系统,可以说,每一次改革,都是一次质的飞跃。而如今,市场竞争异常激烈,一个企业最重要的资源是什么:无非就是公司的员工和客户资源;而客户资源如何获取?如何非常好的管理这些客户资源,也许这是一个令中小企业一个非常头痛的难题。 本论文研究的是针对中小企业客户关系管理的Bosent Crm框架,它是一种基于MVC模式的B/S结构的框架,它的前身是Intel公司投资的一个小型开源应用框架Centric CRM 2.9 。在研究Bosent Crm框架基础上对该框架的各个层次的组成、功能进行了详细的描述,并在熟悉框架的基础上对框架进行改进,包括权限体系改进、表单重复提交、标签显示错误、增强日志功能和集群功能。第一章 研究概述第一节 研究背景 上世纪90年代初,随着Internet的出现和迅速发展,国外的CRM应用开始投入使用 ,到如今发展已经非常的强大,例如美国的ORACLE、德国的SAP等。 目前随着国内中小企业的迅速发展,国内中小企业为了提高客户满意度,必须完整掌握客户信息,准确把握客户要求,快速响应个性化需求,提供便捷的购买渠道、良好的售后服务。但是传统的客户关系管理系统难以达到目的,尤其是在国内,许多企业的内部管理混乱随意,有的企业从过去的“计划经济”体制下改革而来,对客户管理缺乏了解,没有经验。因此对客户关系管理系统的研究具有重要意义。第二节 研究内容及目标该论题来源于北京长信通信息技术有限公司的客户关系管理系统的二次开发,在公司的客户关系管理系统需求等变化的情况下,我开始研究公司的客户关系管理系统开发所使用的Bosent CRM框架。研究的主内容就是Bosent CRM 框架在J2EE平台体系之下实现MVC设计模式的原理。论文首先介绍J2EE平台的体系结构与MVC设计模式,其次论述了Bosent CRM实现MVC设计模式的整个过程。研究目标是在深入理解J2EE体系结构的基础上,深入研究Bosent CRM 框架的原理,并对Bosent CRM框架进行改进,使开发出更好的客户关系管理系统。第三节 本章小结 本章主要介绍我研究的课题的背景,并介绍了在这样的背景之下我研究的课题的内容以及研究的目标。第二章 J2EE平台与MVC设计模式第一节 J2EE体系结构一、 概述 J2EE是一种利用Java2平台来简化企业解决方案的开发部署和管理相关的复杂的体系结构。它的核心技术就是java平台标准版,J2EE中不仅保留了java2标准中的优点,例如平台的可移植性特性,数据库处理的JDBC接口,CORBA技术已经能够在Internet应用中保护数据的安全模式,还提供了对EJB,Servlet,JSP、XML技术的支持。J2EE平台的出现使得企业开发者大幅度缩短软件开发时间,它提供中间件集成框架用来满足无需太多费用而又需要高可靠性,高可用性和可扩展性的需求。实际上,J2EE平台最大的优点在于它提供了统一标准,并且是开源的。只要按照J2EE标准开发出的中间件,都可以在J2EE容器中运行,这是得中间件的可移植性提高,并且专注于J2EE标准的进行开发web应用的人员可以自由编写中间件。二、 体系结构J2EE体系结构主要包括客户端、表示层、业务逻辑层、后台支持系统组成。详述如下:1. 客户端:括IE和应用客户端。2. 表示层:主要是web服务器,典型的web表示层包括jsp、servlet组件。3. 业务逻辑层:包括JavaBean、EJB,它们根据规则进行业务逻辑处理。4. 后台支持系统:主要是指数据库服务器。J2EE体系结构图本论文主要研究的是表示层和业务逻辑层用MVC结构实现。第二节 MVC设计模式概述 模型-视图-控制器(下文简称为“MVC”)设计模式是Xerox PARC 在20世纪80年代为编程语言Smalltalk 80发明的用于用户交互应用程序的一种软件设计模式,它将表现逻辑与业务逻辑分开,并且使用一个控制器控制表现逻辑与业务逻辑,使它们能够有序的工作。这种三层架构广泛应用于基于J2EE的web系统中,其原理如下图所示:模型-视图-控制器三层架构图1. MVC设计模式主要的组成部分包括:1) 视图:它是和用户交互的界面,用来显示应用系统数据,并能接收用户输入的数据。但是它并不进行任何实际的业务处理。视图可以向模型查询业务状态,但是不能改变模型。视图还能接受模型发出的数据更新事件,从而对用户界面进行同步更新。需要注意的是:在基于请求/响应模式的web应用系统中,模型位于web服务器端,视图位于用户浏览器端,而无法做到模型向视图主动发出数据更新事件,使用户界面能自动刷新。2) 模型:它是应用系统的主体。模型表示业务数据和业务逻辑。一个模型能为多个视图提供数据。由于同一个模型可以被多个视图重用,因此提高了应用的可重用性。3) 控制器:它是用来接受用户的输入并调用模型和视图完成用户的需求。当web用户单击web页面中的提交按钮发送HTML表单时,控制器接收请求并调用相应的模型组件来处理请求,然后调用相应的视图显示模型返回的数据。2. MVC模型的优点: 在传统的web系统中,通常将操作数据库的数据层代码和html这样的表现层代码混合在一起。而MVC模型从根本上强制性的将它们分开,这样的好处是:1) 多个视图可以共享一个模型。在MVC模型中,模型响应用户请求并返回响应数据,视图负责格式化数据并将数据显示给用户,业务逻辑和表示层分离,同一个模型可以被不同的视图重用,大大提高了代码的可重用性;2) 模型是自包含的,和控制器、视图保持相对独立,可以方便改变应用程序的数据层和业务逻辑,能构造良好的松耦合的构件;3) 控制器提高了应用程序的灵活性和可配置性。控制器可以用来连接不同的模型和视图去完成用户的需求,也可以为构造应用程序提供强有力的手段。第三节 本章小结本章主要介绍了J2EE体系结构和MVC设计模式的原理。第三章 Bosent Crm框架MVC原理 Bosent Crm架构是基于J2EE体系之下的中间件框架,它采用MVC设计模式,它是类似struts1.x的架构,其中使用一个servlet作为控制器,目前使用jsp模板构建视图(框架支持Xsl模板,但目前还没有实现),使用自定义标签库使业务逻辑与视图分离,使用JavaBean实现数据模型,使用action处理业务逻辑。它的架构如下图所示:Bosent CRM请求-应答的具体流程描述如下:l 控制器部分当客户端发出web请求时,请求将被控制器中的Service方法接收到;首先,在Service方法中会调用SecurityHook(安全钩子)对请求进行安全检验,但是不处理名称为LOGIN、SETUP、UPGRADE、LICENSESERVER和PROCESS的请求;对PORTAL请求进行特殊处理,以创建用户session,在SecurityHook中如果检查到是第一次调用,则还会创建SystemStatus对象;然后,将从页面传递来的数据绑定为和Action对应的Formbean对象;随后,调用Action,执行Action中定义的方法;最后,处理完后调用Forward方法;l Action:架构中的模型部分Action中定义了业务逻辑,实现业务处理和数据库的交互。l 视图部分在Forward方法中,根据action配置文件,决定是调用action,还是根据XSL模板生成页面(目前没有实现),还是返回jsp页面,在jsp页面中菜单的形成是可配置的,通过在XML文件中配置菜单包括它的链接,使得在视图非常的灵活可配置。最终将生成的菜单添加到JSP模板中形成视图发送给客户端浏览器。第一节 控制器一、 控制器类 控制器类是一个Servlet类,它是MVC机制的核心类,它控制整个框架有秩序的工作。这个控制器除了实现了HttpServlet接口外,还实现了其它的钩子接口,这也是框架可扩展性的体现。控制器servlet主要的三个生命周期方法init、service、destroy。在init方法中解析一个xml文件得到视图与模型之间的映射关系,并提供全局的HashMap类型的变量保存这些映射关系提供多线程使用。当用户请求URL被service方法接收到,首先解析整个URL得到要处理的action名称,根据名称反射生成action类的实例并调用相关的方法处理请求,servlet提供全局的HashMap类型的变量缓存这些action实例,这样做的好处是当服务器配置支持多线程时,第一个用户请求了这个action后其它用户可以直接到HashMap类型的实例缓存中查找并使用这个实例。详细论述如下:1. 控制器初始化 控制器类的初始化包括整个匡架的共享数据初始化、钩子类的初始化,这些类都是通过配置文件配置,然后解析XML文件得到配置信息,再通过反射机制生成这些类的实例。所有这个框架的很多资源都是可配置的。例如,在web.xml文件中配置servlet的初始化参数,容器解析初始化参数并传递给控制器servlet的初始化方法。具体的处理流程如左图所示。2. 控制器的service方法 service方法是整个框架核心的方法,客户端浏览器发出请求,Tomcat容器将请求参数封装成HttpRequest对象,并创建HttpResponse对象,将这两个对象传递到service方法,service方法中读取HttpRequest对象中封装的请求信息,从请求URL中读取出处理请求的action名称,再反射生成action实例,调用action中的哪一个方法处理请求是由请求URL中的command参数值决定的。其中在数据传递过程中,框架的数据绑定机制是非常重要的,它不同于struts1.x数据绑定机制,在Struts1.x中表单bean类继承ActionForm类才能实现参数绑定,而本框架是根据URL中传递的auto-populate参数值决定是否绑定参数的,这样做了使系统的与框架之间的耦合性降低,系统可移植性得到提高。最终action的方法执行返回常量字符串,调用forward方法跳转到视图。具体流程如图所示:3. 安全校验 安全校验是框架的重要的一个方面,它保证了框架的安全性。安全性校验是在控制器类的service方法中进行的,它主要包括SSL安全验证、验证用户会话的有效性、将用户信息存放到session中,重点在于创建共享数据区SystemStatus对象,这个对象是一个框架本身提供的一个共享数据区,它存放所有用户共享数据,这个在论文后面框架改进的集群(缓存同步)部分得到体现。流程图如下图所示:4. 创建SystemStatus对象流程图如下图所示:(1). 获取所有用户数据(Hashtable类型)(2). 获取系统参数数据(Site Preferences) (LinkedHashMap类型)(3). 配置工作流管理器参数(4). 获取全局权限数据(Role permission cache)(5). 获取WebdavResources数据5. 参数自动绑定参数绑定是整个框架中的重点,它是框架中数据从视图层传递到模型层的关键所在。参数是否自动绑定是由请求URL中参数auto-populate参数值决定,只要参数值为true,则会将请求对象HttpRequest中的参数信息绑定到相匹配的JavaBean中,再将JavaBean传递到模型层进行业务逻辑处理。 而页面数据和JavaBean数据的自动绑定是类com.darkhorseventures.framework.beans.BeanUtils实现的,原理是:(1). 从requset区域中获得所有的参数;(2). 反射创建配置文件(cfs-config.xml)中定义的JavaBean;(3). 循环参数,根据参数的名字,调用JavaBean中的“set+参数名字”方法,将参数值写入JavaBean中;(4). 将JavaBean存放到requset区域中;6. 控制器forward方法forward方法根据action执行结果进行跳转,目前框架使用jsp模板实现视图,框架也支持xsl模板。这个方法重点在于形成菜单的过程,包括主菜单、子菜单,然后把菜单信息封装在JavaBean中传递到前台的jsp模板中构建视图。这里的菜单是比较特别的,它是通过xml文件配置的,配置中包括主菜单、子菜单的层次结构、名称、链接、菜单权限以及格式css文件,通过解析配置文件得这些信息并封装在JavaBean中,传递给jsp模板。其实这样做的好处是菜单非常的灵活,通过xml文件配置主菜单、子菜单,而不用修改代码即可增加一个模块。在流程图如下图所示:二、 共享数据区共享数据区是这个框架比交重要的一个点,也是我在研究过程中遇到问题最多的一个地方,当然最终还是理解了。在Bosent CRM系统中共享数据区是用来存放系统共用的数据,一般在系统启动过程中构建,用于存放系统级数据,或者用户共享的数据。共享数据区的层次关系如下图所示:架构内置的共享数据区一共有三种:1) SystemStatus:虚拟主机(Virtual Host)共享数据区。主要从system.xml、workflow.xml等配置文件中载入数据。以及系统共享的“缓存的用户数据”、 “Lookup Lists对象”和“workflow”对象等。2) ServletContext:存放全局共享对象,例如ApplicationPrefs对象、ImportManager对象、Crontab、Scheduler等。3) ApplicationPrefs:上下文共享数据区,存放全局共享对象的参数。需要特别注意:ApplicationPrefs存放的是存放在Servlet Context中对象的参数,而不是对象本身,这点很重要。ApplicationPrefs主要从build.properties文件(build.properties文件位于安装路径下)中读取参数。特别注意:build.properties文件包括数据库连接数量这个重要参数。三、 配置文件1. 配置文件类型架构内置的共享数据区其数据主要来源于各种配置文件,将其分为三类:1) 框架级配置文件,主要指web.xml,cfs-config.xml主要用于配置CRM框架;2) 安装配置文件,主要指build.properties,此文件在安装过程中形成;此参数主要存放在ApplicationPrefs对象中,是非常重要的数据对象;3) 应用系统配置文件:用于配置应用系统模块,例如action、菜单等。2. 配置文件参数1 框架级配置文件 web.xmlweb.xml配置文件主要用于配置CRM框架,它与容器交互。cfs-config.xml该配置文件配置了action、jsp视图和表单Bean三者之间的关系。通过该配置文件控制器就可以按照规则来调用Bean绑定请求参数并调用相关的action处理请求,最终返回相应的JSP视图。这个配置文件在整个MVC框架中起到核心作用,控制整个流程。2 安装配置文件 安装过程中会产生配置文件build.properties,此配置文件位于安装路径下(例如:C:BosentCRM),主要存放用户配置系统的一些参数. 3 资源文件存放系统共用的数据字典数据。语言资源文件位于web应用的WEB-INFlanguages目录中,不同语种资源文件是一个由dictionary 加上语言代码组成.xml文件,例如:dictionary_zh_CN.xml,具体位置如下图所示:资源文件主要内容包括下面四个组成部分:1) 标识字符串标志"system.fields.label"2) 菜单字符串标志"system.container.menu.label"3) 子菜单字符串标志"system.submenu.label"4) 模板字符串标志"system.modules.label"4 system.xml在安装过程中,system.xml文件被复制到安装路径下的数据库名称文件夹中,即fileLibrary/database name/system.xml。此文件包含安装时的配置数据,标签库和模块能访问这些数据。例如开发一个action能访问第三方的数据库,那么可以把数据库连接信息存放在此文件中,而不用在action类中写死。 5 应用系统配置文件1. cfs-modules.xml 此配置文件用于确定主菜单和子菜单的显示顺序,以及每个菜单项的权限。 Action以URL的形式映射到菜单项。其他的参数用来定义显示在菜单项上的文字、定义权限标识以及显示在HTML页面的标题。例如下面的配置信息:第二节 模型 模型(Action)表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。一、 基类在Bosent CRM框架中,所有的模型Action类都必须继承基类org.aspcfs.modules.actions.CFSModule,其实也就是说基类CFSModule中定义了Action的公共功能,此类包含的比较重要的方法有:1) freeConnection方法要对整个action中的异常捕获,以释放资源,如数据库连接的释放。调用基类的方法。2) 执行Action缺省动作的executeCommandDefault方法;3) 获取SystemStatus共享数据的getSystemStatus(ActionContext context)方法;4) 获取当前用户的getUser方法;5) 获取用户列表的getUserTable方法;二、 映射特性 如果在Action中定义了多个处理业务逻辑的方法,就必须处理好映射特性:一般的,struts Web框架中的action只有一个固定服务方法(execute),而Bosent CRM的Action是一个多方法的action。通过在URL中定义方法,让控制器识别,并调用Action中对应的方法。 之所以如此设计,是为减少action类的数量,选择了在请求中映射方法的策略,也就是说Action在cfs-config.xml中可以有多个返回资源,各个资源在action中是一个方法的多个程序分支的返回,也可以是action的不同方法的返回。即:通过URL中的“command”参数,可以将一个控制器中定义的方法映射到命令中。而不用像Struts1.0中为一个命令定义一个控制器。三、 数据传递机制数据传递机制是框架的核心,无论是什么框架都必须思考的问题。通过配置文件,配置页面中的JavaBean数据(例如<input>标签定义的数据)和控制器之间的映射关系。例如cfs-config.xml文件中Action配置内容如下所示: <action name="Login" class="org.aspcfs.modules.login.actions.Login"><bean name="LoginBean" class="org.aspcfs.modules.login.beans.LoginBean" scope="request" /><forward name="LoginOK" resource="/MyCFS.do?command=Home" /><forward name="LicenseError" resource="/errors/error_license.jsp" layout="bosent" /></action>上述配置文件将名称是“user”的UserBean类和名称是login的action相关联。特别注意的是:如果在URL中设置了“auto-populate=true”,则将实现参数自动绑定功能。例如下面的代码:<form name="login" method="POST" action="Login.do?command=Login&auto-populate=true"> 将页面中的用户名和密码自动绑定到JavaBean类LoginBean。开发者不需要在直接从request数据区中获取数据,而是页面元素和JavaBean能自动绑定,这种功能其实类似于Struts1.0中的ActionForm类的作用 auto-populate功能将HTML的“名称-值”对映射到特定的JavaBean。四、 Action配置文件Action配置文件包括WebContentWEB-INF 路径下的cfs-config.xml和cfs-config-globalactions.xml, 主要用于配置用户开发的Action。五、 JavaBean JavaBean是实现业务逻辑的关键类,因此必须遵守一定的规范,以加强代码质量。在Bosent CRM框架中必须按照如下规则开发JavaBean:(1). 所有新增JavaBean仍然依靠程序员手写。 不考虑加入DAO框架。原因:加入DAO框架会破坏CRM原有的持久层体系,并且没有直接手写JavaBean灵活。(2). JavaBean继承于GenericBean所有新增JavaBean都继承于GenericBean,这个类是在包com.darkhorseventures.framework.beans中的。(3). 采用“主动域对象模式”开发JavaBean并且仍然采用原来JavaBean的“主动域对象模式”来开发,增,删,改,查操作全部都封装在同一个对象中,查询返回的参数统一为泛型的ArrayList对象。原因:原有JavaBean的查询模式太过复杂,直接在JavaBean的查询方法里面返回结果集更易于理解和操作。(4). 没有复杂的多表关联查询功能,只对一个表进行操作数据库连接仍然从外部传入。所有新增的JavaBean都只针对本表操作,不操作其他JavaBean,SQL语句里面也不会有多表联合操作,具体逻辑由上层程序去实现。原因:这样做是为了简化JavaBean的编写,把逻辑从持久层抽取出来,由上层程序去实现。(5). 所有新增的JavaBean都不管理事务不容许在JavaBean的方法里出现commit和rollback。原因:如果在持久层管理事务的话会对程序逻辑造成混乱,特别是多表联合操作的时候,并且使程序层次不清晰,CRM原有的逻辑层次确实不够清晰,但我们至少保证新增的程序逻辑层次清晰。六、 数据库连接池 Bosent CRM系统中会启动多个线程,包括:日志线程、后台管理线程、主线程等。每个线程都要使用单独的数据库连接对象。为了让多个线程高效使用数据库连接,所以设计了复杂的数据库连接缓存机制(即数据库连接池)。1. 数据库连接管理类1. 连接类(ConnectionElement类)ConnectionElement类只是辅助类,包含完整的建立新的数据库连接对象所需的所有参数,以及两个辅助ConnectionPool类管理的两个属性:l activeDate属性:表示激活(包括创建和再次使用)的时间l allowCloseOnIdle:当连接空闲时,是否允许删除,一般设置为true2. 数据库连接池类(ConnectionPool类)ConnectionPool类本身是个“假连接池”,其本质只是使用HashMap结构实现的数据库连接对象缓存,其中存放的都是数据库连接类Connection对象,而不是真正的应用程序服务器数据库连接池资源(例如WebSphere Server中定义的数据库源)。 ConnectionPool对象不是在session中创建的,不是为每一个用户都创建一个。 ConnectionPool类用定时器管理这两个数据库连接池:定时器会定时(设置为5秒)检查和关闭空闲JDBC数据库连接的定时器。此定时器在创建ConnectionPool对象5秒后开始启动此定时器。 每5秒钟开始循环检测。定时器的循环时间在程序中写死了,如果要加快速度,必须修改代码。检测ConnectionPool主要包括两个任务:1)删除空闲队列中的JDBC数据库连接,管理空闲JDBC连接缓存。2)删除使用队列中死锁的JDBC数据库连接,管理正在使用的JDBC连接缓存。2. 配置连接池参数本框架的优点就在与大部分参数是可配置的,其中数据库连接池参数也是可以配置的,当然在程序中提供了默认的配置。即安装路径下的build.properties文件,其参数含义如下所述:3. 连接池的问题 连接池类本身是个假连接池,只是使用HashMap结构实现的数据库连接对象缓存,其中存放的都是数据库连接类Connection对象,而不是真正的应用程序服务器数据库连接池资源。而且,当系统中数据库连接对象超过设定值后,将不再创建新的连接对象,而是抛出异常、或者处于等待状态。因此,当应用程序没有及时用free方法从HashMap中释放资源、或者系统客户端很多,导致数据库连接超出设定值时,系统性能急剧下降,或者有的功能无法正常使用。因此,建议不要让CRM系统框架管理应用系统的数据库连接,而是让应用程序服务器(例如Netweaver)来管理;不再使用ConnectionPool类,而是使用应用程序服务器(例如Netweaver)本身提供的数据库连接池获取数据库连接对象。第三节 视图一、 视图概述 视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Adobe Flash和象XHTML,XML/XSL,WML等一些标识语言和Web servi

    注意事项

    本文([优秀毕业设计精品] 基于mvc模式的CRM框架的研究与改进.doc)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开