版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、电信CRM系统信息交换子系统 设计与实施 概括CRM(客户关系管理系统)自提出以来一直呈现爆发式增长,在企业中的地位越来越重要,而信息交换子系统是CRM系统中非常重要的组成部分。信息交换管理是各省和合作伙伴使用的管理。能够及时收集和发布其相关信息,能够及时发现和解决问题。对于处理客户关系至关重要。因此,本次毕业设计对CRM系统中的信息交换子系统进行了深入的研究。系统主要使用eclipse作为开发工具,采用SSH框架技术、JSP技术、WebService技术、JavaMall技术、DIV+CSS、jQuery技术等继续程序运行,通过ORACLE数据库存储数据。本系统主要经历需求分析、详细设计、页
2、面设计、程序实现、系统测试五个阶段,实现了用户权限登录、信息采集、信息发布、信息交换等基本功能。关键词:信息交换子系统;客户关系管理; SSH;日食; JSP ;网络服务; jQuery;甲骨文;目录 TOC o 1-3 h z u HYPERLINK l _Toc294255971 摘要 PAGEREF _Toc294255971 h 我 HYPERLINK l _Toc294255972 摘要 PAGEREF _Toc294255972 h 二 HYPERLINK l _Toc294255973 1 前言 PAGEREF _Toc294255973 h 1 HYPERLINK l _Toc
3、294255974 1.1 研究项目的目的和意义 PAGEREF _Toc294255974 h 1 HYPERLINK l _Toc294255975 1.2 国外研究现状、水平及存在的问题 PAGEREF _Toc294255975 h 1 HYPERLINK l _Toc294255976 2 相关技术介绍 PAGEREF _Toc294255976 h 2 HYPERLINK l _Toc294255977 2.1 日食 PAGEREF _Toc294255977 h 2 HYPERLINK l _Toc294255978 2.2 JSP技术 PAGEREF _Toc294255978
4、 h 2 HYPERLINK l _Toc294255979 2.3 Web服务技术 PAGEREF _Toc294255979 h 2 HYPERLINK l _Toc294255980 2.4 Oracle数据库 PAGEREF _Toc294255980 h 2简介 HYPERLINK l _Toc294255981 2.5 jQuery 技术 PAGEREF _Toc294255981 h 3 HYPERLINK l _Toc294255982 2.6 MVC模式 PAGEREF _Toc294255982 h 3 HYPERLINK l _Toc294255983 2.7 JavaM
5、ail PAGEREF _Toc294255983 h 4 HYPERLINK l _Toc294255984 2.8 SSH框架技术 PAGEREF _Toc294255984 h 4 HYPERLINK l _Toc294255985 3 需求分析 PAGEREF _Toc294255985 h 6 HYPERLINK l _Toc294255986 3.1 系统功能分析 PAGEREF _Toc294255986 h 6 HYPERLINK l _Toc294255987 3.1.1 权限用户登录分析 PAGEREF _Toc294255987 h 6 HYPERLINK l _Toc2
6、94255988 3.1.2 信息采集功能分析 PAGEREF _Toc294255988 h 6 HYPERLINK l _Toc294255989 3.1.3 信息发布功能分析 PAGEREF _Toc294255989 h 6 HYPERLINK l _Toc294255990 3.1.4 信息交换功能分析 PAGEREF _Toc294255990 h 6 HYPERLINK l _Toc294255991 3.2 系统数据流程图 PAGEREF _Toc294255991 h 7 HYPERLINK l _Toc294255992 3.2.1 用户权限登录系统数据流程图 PAGERE
7、F _Toc294255992 h 8 HYPERLINK l _Toc294255993 3.2.2 馆藏信息管理系统数据流程 图 PAGEREF _Toc294255993 h 8 HYPERLINK l _Toc294255994 3.2.3 信息发布管理系统数据流程图 PAGEREF _Toc294255994 h 9 HYPERLINK l _Toc294255995 3.2.3 信息交换管理系统数据流程图 PAGEREF _Toc294255995 h 11 HYPERLINK l _Toc294255996 3.3 系统性能分析 PAGEREF _Toc294255996 h 1
8、1 HYPERLINK l _Toc294255997 3.3.1 精度 PAGEREF _Toc294255997 h 11 HYPERLINK l _Toc294255998 3.3.2 灵活性 PAGEREF _Toc294255998 h 11 HYPERLINK l _Toc294255999 3.3.3 安全和故障排除要求 PAGEREF _Toc294255999 h 11 HYPERLINK l _Toc294256000 3.4 数据库需求分析 PAGEREF _Toc294256000 h 12 HYPERLINK l _Toc294256001 3.4.1 系统概念设计图
9、 PAGEREF _Toc294256001 h 12 HYPERLINK l _Toc294256002 3.4.2 逻辑结构设计 PAGEREF _Toc294256002 h 12 HYPERLINK l _Toc294256003 4 详细设计和代码实现 PAGEREF _Toc294256003 h 15 HYPERLINK l _Toc294256004 4.1 基本设计思想 PAGEREF _Toc294256004 h 15 HYPERLINK l _Toc294256005 4.2 系统模块详细设计 PAGEREF _Toc294256005 h 15 HYPERLINK l
10、 _Toc294256006 4.2.1 系统整体核心设计及代码实现 PAGEREF _Toc294256006 h 15 HYPERLINK l _Toc294256007 4.2.2 系统解决乱码和非法登录 PAGEREF _Toc294256007 h 18 HYPERLINK l _Toc294256008 4.2.3 登录功能页面设计及代码实现 PAGEREF _Toc294256008 h 20 HYPERLINK l _Toc294256009 4.2.4 主页设计及代码 PAGEREF _Toc294256009 h 21 HYPERLINK l _Toc294256010 4
11、.2.5 左侧菜单页面和代码 PAGEREF _Toc294256010 h 21 HYPERLINK l _Toc294256011 4.2.6 输入功能页面设计及代码实现 PAGEREF _Toc294256011 h 22 HYPERLINK l _Toc294256012 4.2.7 查询功能页面设计及代码实现 PAGEREF _Toc294256012 h 24 HYPERLINK l _Toc294256013 4.2.8 修改功能和删除功能设计及代码实现 PAGEREF _Toc294256013 h 29 HYPERLINK l _Toc294256014 4.2.9 发布信息
12、审批功能设计及代码实现 PAGEREF _Toc294256014 h 29 HYPERLINK l _Toc294256015 4.2.10 群发短信功能设计与代码实现 PAGEREF _Toc294256015 h 30 HYPERLINK l _Toc294256016 结论 PAGEREF _Toc294256016 h 32 HYPERLINK l _Toc294256017 参考文献 PAGEREF _Toc294256017 h 33 HYPERLINK l _Toc294256018 至 PAGEREF _Toc294256018 h 341 简介1.1 研究项目的目的和意义通
13、过实施以客户为中心的CRM系统,解决企业如何与客户保持密切联系,提高客户满意度和忠诚度,快速响应客户需求,提供最全面的客户服务支持;新的信息处理技术使业务人员能够轻松了解客户情况和背景信息;解决如何使用先进的分析和处理工具了解市场需求和竞争对手状况,以及如何收集、管理和与客户沟通。工作体系 根据客户的具体要求,提供个性化、优质的售前、售中、售后服务。通过CRM系统的信息交换管理,对客户信息进行管理和掌握,以便随时改进和与用户沟通,及时响应用户的需求和实施情况的变化,从而成功达到最终目标。1.2 国外研究现状、水平及存在的问题CRM(客户关系管理_客户关系管理)自问世以来一直处于爆发式增长的状态
14、。 CRM是世界上新兴的商业理念。分析企业与目标客户的千丝万缕关系,寻找企业核心客户,挖掘价值亮点,制定灵活的业务服务策略,实现推广。以企业稳定成长为宗旨,其核心理念是将企业的客户(包括终端客户、经销商和合作伙伴)视为最重要的企业资源,通过完善的客户服务和深入的客户分析,满足客户需求,确保客户终身价值的实现。近年来, CRM系统已被用于处理从售前到售后,从前景开发到营销的各种事务。这种系统的主要目标是通过利用公司持有的客户数据来最大化收入。 CRM 的表现证明它并没有死。经实地调查发现,我国现有CRM系统存在的问题主要体现在以下几个方面:1)现有客户信息资源没有得到充分有效利用; 2) 部门间
15、服务脱节造成资源浪费 3) 客户流失情况缺乏综合分析; 4) 各种联系客户的方式分离,降低了服务效率; 5) 重大客户管理问题; 6) 潜在的客户开发问题;电信客户关系管理信息系统的大部分信息处理仍处于单机应用层面,其报表处理以文件系统为主,文件传输采用纸质报表传输;各类客户相关数据处于信息孤岛状态,无法得到充分利用;市场营销、销售、客服和支持都是独立进行的,前台业务区域也与后台部门分开。2 相关技术介绍2.1日食Eclipse 是一个开源的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。它为用户提供了很多有用的功能。例如:项目管理、添
16、加插件、自动代码修改、代码重构、敏感帮助、快速修复功能、使用向导等。(1)。优秀的图形,界面非常漂亮。(2)。一个开放且可扩展的IDE,具有非常强大的集成开发环境,不仅集成了CVS、JUnit和Ant,还具有出色的代码重构功能。(3)。全中文的帮助文件,Eclipse的帮助内容非常全面,可以全中文。(4) 。支持jsp、servlet、SSH框架;(5).是开源免费软件;2.2 JSP技术JSP(Java Server Pages)是一种应用广泛的动态Web技术标准,由Sun倡导,多家公司共同建立。 JSP 是使用最广泛的动态 Web 技术之一。用于动态网页显示,将Java语言嵌入到HTML代
17、码中,可以说是HTML+Servlet的结合。它易于学习和跨平台。它有九个隐藏字段,经常显示。它功能强大且使用灵活。它是国外最常用的网络技术之一。2.3 Web服务技术Web 服务可以在分布式计算环境中动态地描述、发布、发现和调用服务。 WEB 服务是使用标准 Internet 协议的可编程 URL,例如可远程调用的应用程序组件。无论操作系统、编程语言、机器类型和操作环境如何。Web Services 主要使用 SOAP 协议在 Web 上传输业务数据。 SOAP 通过调用业务对象来执行远程函数调用。 Web 用户可以使用 SOAP 和通过 Web 调用的方法来调用远程对象。2.4 Oracl
18、e数据库介绍Oracle 数据库,也称为 Oracle RDBMS,或简称 Oracle。它是 Oracle Corporation 的关系数据库管理系统。在数据库市场占有主要份额。 Oracle数据库是一个大型的数据库系统,一般用于商业和政府部门。Oracle提供基于角色 (ROLE) 分工的安全管理。它在数据库管理功能、完整性检查、安全性和一致性方面具有良好的性能。 HYPERLINK %20%20%20%20:/baike.baidu%20%20%20%20/view/600155.htm Oracle 的强大特性: 1)支持多用户、大交易量的事务处理; 2) 有效控制数据的安全性和完整
19、性; 3)支持分布式数据处理;Oracle 数据库包括 Oracle 数据库服务器和客户端。 Oracle Server 是一个对象关系数据库管理系统。它为信息管理提供了一种开放、全面和集成的方法。每个服务器由一个 Oracle DB 和一个 Oracle Server 实例组成。它具有站点自治权,并提供透明的数据存储机制;客户端是数据库用户操作端,由应用程序、工具和SQL*NET组成。当用户操作数据库时,他们必须连接到服务器。Oracle 数据库支持 SQL 和 PL/SQL 语言。开发存储过程、触发器,具有较强的逻辑思维和创造力2.5 jQuery技术jQuery 由美国人 John Re
20、sig 创建,吸引了大批 javascript 高手加入。 jQuery是一个优秀的Javascript框架,是一个轻量级的js库,兼容CSS3,兼容各种浏览器。 jQuery可以让用户轻松处理HTML文档、事件、实现动画效果等,轻松提供AJAX交互。 jQuery的文档非常全面详细,有很多成熟的插件。 jQuery可以实现html代码和java代码的分离,不需要在html中插入大量的js代码,只需要定义id即可。jQuery 的目的是 WRITE LESS, DO MORE(写更少的代码,做更多的事情)。2.6 MVC模式MVC(Model-View-Controller),Model-Vi
21、ew-Controller的简称,是一种将应用程序分为三个核心模块的设计模式:模型、视图和控制器(1)模型:由ActionForm和JavaBean组成。 ActionForm用于封装用户的请求参数,JavaBean用于封装底层业务逻辑,包括数据库访问。(2)视图:由 HYPERLINK %20%20%20%20:/baike.baidu%20%20%20%20/view/3387.htm JSP实现,主要用于显示响应的结果。(3) Controller:Controller组件由两部分组成系统核心控制器和业务逻辑控制器。负责接受用户请求,调用模型响应用户请求,选择视图展示响应结果。MVC模式
22、将业务处理和业务调度分离,增强了程序的健壮性和可维护性。2.7 Java邮件JavaMail 为开发人员提供了处理电子的编程接口。它由 Sun 作为处理电子邮件的 API 发布。它可以方便地执行一些常用的传输。我们可以基于 JavaMail 开发一个类似于 Microsoft Outlook 的应用程序。 JavaMail 是一个可选包,所以如果你想使用它,你需要先从 java.sun 下载它。JavaMail 包中用于处理电子的核心类是:会话、消息、地址、身份验证器、传输、存储、文件夹等。会话定义了一个基本会话,需要从属性中读取服务器、用户名和密码等信息。2.8 SSH框架技术SSH是Str
23、uts+Spring+hibernate三个框架的组合,三个框架共同应用于项目开发。(1).StrutsStruts 基于 MVC 模式实现,为 Model、View 和 Controller 提供了相应的组件。 Struts 的四个核心组件是:ActionServlet、Action、Action Classes、Action Mapping 和 ActionForm Bean。 ActionServlet 主要用作 Controller 来接收用户请求。 ActionServlet 包含一组基于配置的 ActionMapping 对象。每个 ActionMapping 对象都实现了请求和
24、Action 处理器对象的特定模型部分之间的映射。 Struts 为模型提供了 Action 和 ActionForm 对象。 Action具有调度功能,ActionForm可以描述客户端表单数据。 Struts的View部分是通过JSP技术实现的。(2).弹簧Spring 是由 Rod Johnson 创建的开源框架。它的创建是为了解决企业应用程序开发的复杂性。 Spring 使用基本的 JavaBeans 来完成以前只有 E 才能完成的事情。但是,Spring 的用途不仅限于服务器端开发。在简单性、可测试性和松耦合方面,任何 Java 应用程序都可以从 Spring 中受益。Spring的
25、核心提供了一种新的机制来管理业务对象的依赖关系,主要包括:IOC(控制反转)/DI(依赖注入)和AOP(面向方面编程)。 Spring 通过控制反转 (IoC) 技术促进松散耦合。 Spring提供的AOP功能便于面向方面编程,很多传统OOP不易实现的功能都可以通过AOP轻松处理。在 Spring 中,事务管理以声明式的方式灵活进行,以提高开发效率和质量。 Spring的核心类有: BeanFactory、BeanWrapper、ApplicationContext。(3).休眠Hibernate 是一个开源的对象关系映射框架。它用非常轻量级的对象封装了JDBC,让Java程序员可以用对象编程
26、思维随意操作数据库。 Hibernate 可用于任何使用 JDBC 的场合,无论是在 Java 客户端程序中还是在 Servlet/JSP Web 应用程序中。 Hibernate共有5个核心接口,分别是:Session、 HYPERLINK %20%20%20%20:/baike.baidu%20%20%20%20/view/1097304.htm SessionFactory 、Transaction、 HYPERLINK %20%20%20%20:/baike.baidu%20%20%20%20/view/209416.htm Query和Configuration。这 5 个核心接口用
27、于任何开发。通过这些接口,不仅可以访问持久化对象,还可以进行事务控制。虽然Spring框架提供了整体解决方案,但在SSH中,Spring更偏向于业务层,而Struts关注Web层,Hibernate关注持久层。(4)。系统总体流程图如图2.1所示浏览器ActionServletActionJSP业务层DAODB12345678910请求转发给Action选择业务类,调度业务方法选择dao,调度dao方法与数据库交互返回数据操作结果返回数据返回业务处理结果选择视图响应图 2.1 基本 SSH 框架流程图3 需求分析3.1 系统功能分析信息交换系统是CRM系统的一个子系统,最终表现为形式。系统基于
28、SSH框架,结合JSP技术、jQuery技术、WebService技术、JavaMail技术、DIV+CSS、Oracle数据库技术等技术,以Eclipse为开发工具,最终实现上下级信息交互,实现信息传递。系统分为:授权用户登录管理、信息采集管理、信息发布管理、信息通知管理3.1.1 权限用户登录分析(1)员工登录:员工通过输入用户名和密码登录CRM系统,添加和查询系统操作。(2) 管理员登录:管理员使用用户名和密码登录后可以进行所有操作。3.1.2 信息采集功能分析(1)信息采集功能:用户通过注册表进入信息采集操作。(2)采集信息查询功能:用户可以通过该功能对采集的信息进行搜索,并可以分页显
29、示,包括全部查询和根据具体条件查询。(3) 修改收藏功能:用户可以通过该功能修改收藏信息。3.1.3 信息发布功能分析(1) 发布信息录入功能:可以录入要发布的信息。(2)发布信息查询功能:用户可以通过该功能搜索和收集信息,并可以分页显示,包括全部查询和根据具体情况查询。(3)修改发布信息功能:用户可以通过该功能修改收集到的信息。(4)发布信息提交审批功能:将发布信息提交上级审批。3.1.4 信息交换功能分析信息通知管理:群发信息通知3.2 系统数据流程图整个系统模型如图 3.1 所示。 客户关系管理系统 信息交流管理 统计报表 合作伙伴管理 营销资源管理信息交流管理信息发布管理信息收集管理图
30、 3.1 基本 CRM 系统模型交流子系统模型,见图 3.2收集信息查询管理收集信息修改管理集信息删除管理发布信息录入管理发布信息查询管理发布信息修改管理发布信息删除管理发布信息提交审批管理发布信息查看审批管理信息交流管理地市公司信息信息发布管理 查询公司信息登录成功信息交流管理图 3.2 交流信息系统模型3.2.1 用户权限登录系统数据流程图地级企业登录数据流程见图3.3地市公司登录名、密码身份 查询公司信息登录失败登录成功信息发布管理信息收集管理返回信息交流管理图 3.3 城市登记流程图3.2.2 馆藏信息管理系统数据流程图(1) 收集信息和录入数据的流程如图3.4所示提交创建收集信息申请
31、单 待提交收集信息表填写 基本资料重设图 3.4 采集信息输入流程图(2) 收集信息并修改数据流程图,见图3.5。查询全部收集信息用户查询收集信息收集信息表修改成功重设信息修改申请密码按条件查询图 3.5 收集信息和修改数据流程图(3) 采集信息查询功能的数据流程图如图3.6所示。.按条件查询信息收集者用户查询收集信息收集信息表模糊查询信息查询所有信息信息编号信息格式信息类型用户查看图 3.6 查看采集信息的数据流程图(4)删除采集信息的数据流图,见图3.7。查看删除查询删除用户选择删除信息收集信息表收集信息图 3.7 删除采集信息的数据流程图3.2.3 信息发布管理系统数据流程图(1)发布信
32、息的数据录入流程如图3.8所示收集信息表提交创建发布信息申请单 待提交填写 基本资料重设图 3.8发布信息录入流程图(2) 发布信息修改功能的数据流程图如图3.9所示。发布信息发布者发布信息表修改成功重新修改录入正确密码录入错误新发布信息新发布信息查看修改查询发布信息图 3.9 发布信息修改功能数据流程图(3)查看发布信息功能的数据流图,如图3.10所示。查询信息发布信息发布者查询发布信息发布信息表查看信息图3.10 发布信息查询功能数据流程图(4) 发布信息审批功能数据流程图如图3.11所示。查询信息地市公司审批信息查看查询发布信息提交省市审批提交成功发布信息表图 3.11 发布信息提交审批
33、功能数据流程图(5)省公司审批功能数据流程图,见图3.12。查询未审批信息省市公司审批信息审批未审批信息返回审批结果审批成功发布信息表图 3.12 省市审批功能数据流程图3.2.3 信息交换管理系统数据流程图通信信息通知功能的数据流程图如图3.13所示。地市公司通知 通知表单信息收集管理致致成功图 3.13 信息通知功能数据流程图3.3 系统性能分析3.3.1 准确性尽量减少程序中的Bug,避免由此造成的数据丢失。不允许重复添加数据。执行数据删除操作时,不允许删除更多数据或因程序原因删除数据失败。修改也需要保持相应的精度;各类数据信息都要求数据的准确性。3.3.2 灵活性程序操作灵活,可通过鼠
34、标和键盘操作。系统以 的形式表示,可实现跨平台操作。该程序可以应用在Window7和Window XP上运行。3.3.3 安全和故障排除要求设置权限认证,不同的用户被赋予不同的权限,用户可以在自己的权限和职责范围内进行相应的操作。进行数据校验,当用户输入不合理数据或不合规数据(如年龄输入数据类型非整数)时,可以给出合理的提示信息,不能因输入错误信息导致系统错误,否则程序会停止跑步 。设置监听,当用户未登录时,用户会返回登录首页,继续下一步。设置注销功能,防止登录后重要信息泄露,相关信息保留在会话中,这在公司管理中非常重要。3.4 数据库需求分析3.4.1系统概念设计图本系统在数据库设计中使用P
35、owerDesigner工具进行建模,完成系统概念设计模型的CDM设计,然后将CDM转换为PDM、OOM等两种模型,使系统的数据联系更加清晰明了,方便数据库建表。系统的概念设计模型如图3.14所示图 3.14 交流系统概念设计模型3.4.2 逻辑结构设计数据库一共定义了4个数据表,分别是msgcollects(信息采集表)、msgpublishs(信息发布表)、msgcommunions(信息交换表)、messages(省级审批表)(因为和信息发布表结构一样) ,这里就不列出了),其中每张表对应项目中的vo,由Hibernate的Anotation技术自动生成,将sql语言替换为hql语言进行
36、数据库操作。每个表的具体逻辑结构如下:(1)msgcollects(信息收集表),见表3.1。字段包括:id(主键)、encode(信息编码)、msg_type(信息类型)、content(信息内容)、msg_format(信息格式)、period_validity(信息有效期)、provider(信息提供者)、provide_time(信息提供time) )、collector(信息采集器)、collect_time(信息采集时间)。主键是 id。表 3.1 msgcollects(信息收集表)姓名代码数据类型空的收集 IDID数字信息编码编码varchar2信息类型msg_type整数信息
37、内容内容整数信息格式msg_format整数信息有效期period_validity整数信息提供者提供者varchar2信息提供时间提供时间时间戳信息收集器集电极varchar2信息收集时间收集时间时间戳(2)msgpublishs(信息发布表),见表3.2。字段包括:id(主键)、encode(信息编码)、msg_type(信息类型)、content(信息内容)、msg_format(信息格式)、period_validity(信息有效期)、msg_level(信息等级)、msg_resource(信息源) )、msg_scope(信息可见范围)、receiver(信息结算接收方)、publ
38、isher(信息发布者)、publish_time(信息发布时间)、review_status(审批状态)、organization(审批机构)、reviewor(审批者)、review_time(审批)时间)。主键是 id。表3.2 msgpublishs(信息发布表)姓名代码数据类型空的发布 ID发布 ID数字信息编码编码varchar2信息类型msg_type整数信息格式msg_format整数信息内容内容varchar2信息层msg_level整数信息来源msg_resource整数信息可见性msg_scope整数信息有效期period_validity整数信息接收者接收者varcha
39、r2信息发布者出版商varchar2信息发布时间发布时间时间戳审批状态review_statusvarchar2审批机构组织varchar2审批人审稿人varchar2处理时间审查时间时间戳(3) msgcommunions(信息交换表) ,见表3.3字段包括:id(主键)、title(信息标题)、content(信息内容)、promoter(信息发起者)、receiver(信息接收者)、produce_time(信息生成时间)、email(接收者)。主键是 id。表 3.3 msgcommunions(消息交换表)姓名代码数据类型空的IDID数字信息标题标题varchar2信息内容内容var
40、char2信息发起者发起人varchar2信息接收者接收者varchar2信息生成时间生产时间时间戳接受者电子邮件varchar24 详细设计及代码实现4.1 基本设计思路本系统最终以 .配置文件控制,然后通过Action、Service、DAO实现后台业务逻辑控制和实现。另外通过WebService实现省市系统交互,通过JavaMail实现群发,最终完成系统。系统分为信息采集、信息发布、信息交换三个模块。并分为许多小功能,包括权限登录、信息录入、信息查询(按条件查询、全部查询)、分页展示、按条件排序、信息修改与删除、信息提交与审批、信息通知等功能。4.2 系统模块的详细设计4.2.1 系统整
41、体核心设计及代码实现使用 Spring 进行集成可以避免层之间的大耦合和事务处理的不足。 Spring 有两个核心 ICO/DI 和 AOP。使用 IOC 特性可以有效地释放层之间的依赖关系。每一层不需要选择具体的实现类,而是通过Spring容器注入。这样,每一层的类就可以真正只依赖于接口了。使用AOP是对OOP的补充,可以很好地实现事务控制,将事务管理与业务层代码分离,通过配置修改事务的边界和细节。web启动时,Spring的上下文控制是在web.xml中进行的,即在web.xml中监听器配置在,具体代码如下动作org.apache.struts.action.ActionServlet配置
42、 /WEB-INF/struts-config.xml,/struts-msgcollect.xml,/struts-login.xml,/struts-msgpublish.xml 2动作*.doorg.springframework.web.context.ContextLoaderListener配置Action类代理,在struts-config.xml中配置。具体代码如下:配置Spring,为了避免applicationContext.xml文件过大,把它的分为三个部分:action.xml、service.xml 和 dao.xml。三个配置文件都放在src文件目录下,所以appl
43、icationContext.xml中的代码如下:action中的配置就是尽可能的配置action。具体代码如下:Service.xml 配置为将 Service 类注入 Spring。配置编号数据库。具体代码如下:dao.xml的配置首先,配置数据库。本系统使用SSH框架通过配置连接数据库,将SQL语言替换为Hibernate框架的HQL语言,实现对数据库的操作。具体代码如下:hibernate.dialect=org.hibernate.dialect.Oracle10gDialecthibernate.hbm2ddl.auto=更新二、信息管理dao注入,代码如下:pany.crm.vo
44、.MsgCollectpany.crm.vo.MsgPublishpany.crm.vo.User4.2.2 系统解决乱码和非法登录(1)解决乱码JSP页面显示乱码。这是因为服务器使用不同的编码方法。方法是将JSP页面的编码方式统一制定为UTF-8,设置JSP页面的起始码如下:中文信息在传输过程中出现乱码。由于处理请求的页面信息的编码方式与浏览器默认的编码方式不一致,会出现乱码。当出现乱码时,只能通过SSH中的过滤方案来解决。通过在web.xml中配置EncodeFiter信息,然后创建EncodeFiter类,并实现Fiter接口,其方法代码代码如下:web.xml中的配置代码为:Encod
45、ingFilter编码过滤器 pany.crm.filter.EncodingFilter编码过滤器/*EncodeFilter 类中的代码是:public void doFilter(ServletRequest 请求,ServletResponse 响应,FilterChain 链)抛出 IOException, ServletException request.setCharacterEncoding(utf-8);response.setCharacterEncoding(utf-8);链.doFilter(请求,响应);(2)解决非法登录设置会话监听,解决权限不足情况下的非法登录,即
46、创建SessionFilter类并实现Filter接口,在web.xml中配置SessionFilter的信息。方法代码如下:publicvoid doFilter(ServletRequest 请求,ServletResponse 响应,FilterChain 链)抛出IOException, ServletException 用户 user = (User) (ServletRequest) request).getSession().getAttribute(用户);如果(用户=空)(ServletResponse)响应).sendRedirect(ServletRequest) 请求)
47、.getContextPath()+ /login.jsp);其他链.doFilter(请求,响应);4.2.3 登录功能页面设计及代码实现系统启动后,首先是登录界面。登录界面主要有四个部分:用户名、密码、角色和验证码。分为验证码验证和用户验证。验证码验证通过后,即可进行鉴权,均通过时,跳转菜单。登录界面为login.jsp,登录可视化界面如图4.1所示。图 4.1 登录界面的操作效果有两种验证方式,它们的验证码分别是:LoginForm loginForm = (LoginForm)form;字符串 vcode = loginForm.getYzm();if (vcode.equals(re
48、quest.getSession().getAttribute( vcode )用户用户 = loginService.queryUserByUsernameAndPassword (loginForm.getUsername(), loginForm.getPassword();如果(用户!= null )request.getSession().setAttribute(user, user);return mapping.findForward( loginSuccess );其他request.setAttribute( usererror , 用户名或密码错误! );return m
49、apping.findForward( loginFailure );其他request.setAttribute( vcodeError , 验证码错误,请重新输入! );return mapping.findForward( loginFailure );在页面上显示错误消息的代码是:在struts-login.xml中配置,当返回loginSuccess时,登录成功,当返回loginFailure时,返回登录页面再次登录。代码显示如下:4.2.4 主页设计及代码mainframe.jsp 页面设计:mainframe.jsp页面分为几个框架,每个框架介绍对应的页面。具体代码如下: fra
50、me src = /frame/choose_menu.jsp name = leftpart noresize = noresize 4.2.5 左侧菜单页面及代码choosemenu.jsp页面设计:choosemenu.jsp 页面设计有一个用于树结构的 jQuery 插件。先介绍jar包,然后在页面上进行代码编程。具体实现代码如下:script type=text/javascriptsrc=/js/jquery.treeview.js$(函数()$( #spellTree ).treeview(animated: fast ,崩溃:真););choose_menu.jsp运行时的可视
51、化界面,见图4.2图 4.2 左侧选择菜单的操作效果4.2.6 输入功能页面设计及代码实现入口页面主要包括msg_collect_add.jsp(收集信息入口页面)和msg_publish_add.jsp(发布信息入口页面)。它的主要作用是在页面表单中填写信息,然后提交,通过config文件映射到对应的ActionForm(继承ActionForm)。 )和Action(继承Action),然后通过Action将表单中的数据一一映射到VO,通过调用服务调用注册方法存入数据库。存储数据库时使用 Hibernate 的 HQL 语言而不是 SQL 语言。主要代码如下:输入表单中有时间,通过jQue
52、ry插件:$(函数()$( .selectTime ).datetimepicker( dateFormat : yy-mm-dd , /指定日期格式timeFormat : hh:ii:00 /指定时间格式););形式- VO 在行动:MsgCollectManagerForm collectManagerForm = (MsgCollectManagerForm) 表单;MsgCollect msgCollect = new MsgCollect();msgCollect.setEncode(collectManagerForm.getEncode();msgCollect.setMsg_
53、type( Type.valueOf (collectManagerForm.getMsg_type();msgCollect.setContent(collectManagerForm.getContent();/将类型转换为枚举类型,存入数据库msgCollect.setCollect_time(DateUtils.parse ( collectManagerForm.getCollect_time();/处理时间msgCollectManagerService.saveOrUpdate(msgCollect);在服务类中:publicvoid saveOrUpdate(MsgPublis
54、h msgPublish) msgPublishDAO.saveOrUpdate (msgPublish);HibernateDaoSupport 接口必须在 dao 中实现:publicvoid saveOrUpdate(T object) getHibernateTemplate().saveOrUpdate(object);页面提交的选择框内的数据以枚举类型存储在VO中。由于Oracle数据库不支持枚举类型,所以在VO中进行如下处理以解决枚举问题:列(名称= “msg_type” )枚举(EnumType. ORDINAL )私人类型msg_type ;列(名称= “msg_level”
55、 )枚举(EnumType. ORDINAL )私人级别msg_level ;采集信息输入的可视化界面如图4.3所示图4.3 采集信息输入界面操作效果发布信息输入可视化界面,见图4.4图 4.4 发布信息输入界面操作效果4.2.7 查询功能页面设计及代码实现查询功能是根据自己的需求查询自己想要的结果,分为按条件查询和全部查询。页面展示的查询结果也有两种,一种是分页展示,一种是通过表格展示。(1)查询全部:通过页面到Action来执行方法,具体代码如下:在动作类中:public ActionForward queryAllMsgCollect(ActionMapping 映射,ActionFor
56、m 表单,ServletRequest 请求,ServletResponse 响应)抛出异常 列表 msgCollects = msgCollectManagerService .queryAllMsg();request.setAttribute( msgCollects , msgCollects);return mapping.findForward( querySuccess );方法名称必须与表单中提交的方法方法名称相同。具体代码如下:一个href=/msgCollectManager.do?method=queryAllMsgCollect查询所有消息在服务类中:公共列表 quer
57、yAllMsg()返回msgCollectDAO.findAll ();在 DAO 中:公共列表 findAll() return getHibernateTemplate().find( 来自 + domainClass .getName();表格形式的查询结果代码为:%ListmsgCollect= (List)request.getAttribute(msgCollects); % 表格表示的可视化界面,见图4.5图4.5 查询结果以表格形式表示界面操作效果 查询结果以分页形式表示。分页功能的主要目的是为了避免查询数据量大带来的查看不便。分页后,查询结果可以更清晰的显示在页面上,操作更方
58、便。分页实现主要使用jQuery技术来指示JSP页面上要显示的数据类型和字段,还将显示的数据个数(rp)和当前页面(page)等参数传递到后台。后台接收到这两个参数后,封装成一个条件集的VO,然后在Service中调用相应的方法,返回一个条件对象,由JOSN序列化后返回到展示页面。该功能主要通过grid.js插件实现,通过Ajax实现分页。其功能实现的主要代码如下:JSP: $(函数()/警报(1);$( #showdata ).flexigrid(url: /msgCollectManager.do ?method=queryPagination ,数据类型: json ,col型号:dis
59、play: 信息编号 , name : encode , width : 70,sortable : true , align: center ,display: message type , name : msg_type , width : 50, sortable : true , align: center ,/显示页面如上,纽扣 : name: Add , bclass: add , onpress : test,名称: 删除 ,bclass: 删除 ,onpress:测试,分隔符:真,搜索项目:display: terminal type , name : msg_type , i
60、sdefault: true ,排序名称: “msg_type” ,排序顺序: “asc” ,用户页面:真,title: 信息收集表 ,用户RP:真,rp:10,showTableToggleBtn: true ,宽度:1000,身高:400););功能测试(,网格)if ( = 删除 ) 确认( “删除” + $( “.trSelected” ,网格)。长度+ “项目?” ) elseif (= 添加 ) alert( 添加新项目 );行动:public ActionForward queryPagination(ActionMapping 映射,ActionForm 表单、ServletR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 妇科护理护理质量持续改进汇报
- 味精制造工安全综合能力考核试卷含答案
- 企业财务报表编制规范标准详解手册
- 纯三氧化钨、仲钨酸铵、兰钨制取工岗前深度考核试卷含答案
- 丙烯腈装置操作工安全风险水平考核试卷含答案
- 通信移动终端设备装调工岗前变更管理考核试卷含答案
- 浆液制备与丙酮回收工创新思维评优考核试卷含答案
- 钙镁磷肥生产工岗前基础能力考核试卷含答案
- 造球工安全风险模拟考核试卷含答案
- 苗木培育工操作知识强化考核试卷含答案
- 资本结构代理成本外文翻译文献
- 华住工程竣工验收检查标准
- 应急食品物资保障协议书
- 数字水印技术课件
- 2023年绿皮书观后感400字(九篇)
- 光电子能谱XPS课程
- 初中数学-一元一次不等式组(1)教学课件设计
- 清平乐·春归何处
- 蒙牛渠道现代通路作业规范指导手册
- 《神经病学》教学大纲
- GB/T 3512-2014硫化橡胶或热塑性橡胶热空气加速老化和耐热试验
评论
0/150
提交评论