论文部分内容阅读
随着信息技术的高速发展,客户信息管理已成为企业持续发展的关键问题之一。如今,CRM(客户关系管理)不仅是一种管理理念,而且被应用到企业的信息管理中。本课题以开发CRM系统为原点,对CRM的发展现状进行调查,结合企业需求设计系统功能,深入研究了SSH2(Struts2+Spring+Hibernate)框架及实现系统的若干关键技术。本文首先分析了当前CRM的发展态势和CRM系统对现代化企业的影响,比较分析了主流开发技术的优劣,选取Java为系统开发语言。为了提高开发效率和系统质量,借助SSH2框架进行开发。SSH2框架由SSH(Struts1+Spring+Hibernate)框架发展而来,在保留原有优势的基础上,不断优化。比之SSH,SSH2最大的不同在于Struts2的全新变化,Struts2是MVC模式的框架,以WebWork为核心,保留了Struts1的优点,采用拦截器的机制来处理用户请求,保证业务逻辑控制器与Servlet API完全解耦合。系统采用表现层、业务层、持久层3层构架,Struts2负责表现层,Spring负责业务层,持久层由Hibernate负责。在服务器方面,选用嵌入式Tomcat减少系统配置的复杂度,提高可移植性。然后根据企业需求设计系统功能,将系统划分为员工信息管理、客户信息管理、销售业绩管理等6个模块,并按照系统分析结果设计数据库。接着重点介绍了系统实现的3个核心问题:(1)权限管理问题。它几乎出现在所有有用户和密码的系统中,是指给用户分配权限,保障用户可以访问且只能访问自己被授权的资源。系统采用RBAC(基于角色访问控制)思想实现权限管理。RBAC思想是将权限分配给角色,再将角色分配给用户,用户和权限之间没有直接关系。(2)分页问题。当需显示数据量较大时,显示耗时多且不人性化。分页方法很多,经过分析采取每次翻页时仅从数据库里检索页面大小的块区的数据方式实现,经多次试验证明提高了系统响应效率。(3)表单重复提交问题。它会导致请求信息保存时出现重复的记录等异常情况,在开发软件时主要利用了在服务器端采用同步令牌来避免此问题,而且Struts2框架中也提供了token标签实现拦截器检查是否重复提交的功能。最后阐述了SSH2框架的配置和整合,以及在嵌入式Tomcat下主要模块的实现与结果。其中,客户信息模块的客户分配是本系统的重点,实现具有特色的客户分配流程以及采用同步方法保证员工“申请客户”的功能实现。