梁远

摘要:为了提高中小企业客户信息的管理水平,该文采用SP+JavaBean+Servlet模式来完成客户信息管理系统,重点讨论了软件的结构设计以及数据库连接池的应用,同时该系统能够较好地实现客户信息的管理与应用,符合一般企业对客户信息的管理需求。

关键词:客户信息;MVC;管理系统

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)20-0089-03

在现代市场发展的过程中,企业可以通过销售等渠道得到不同地区、不同行业以及不同级别的客户,一旦与这些客户建立了业务联系,那幺对客户信息的管理就变得非常重要。无论是将客户的简单信息记录纸上还是记录在excel表格中,都不可避免地存在信息丢失的风险。另外,如果客户的某些信息具有一定程度的一致性,那幺在信息处理和使用调取时还可能出现混淆的情况,从而导致企业的经济损失。

本文采用MVC模式设计的客户信息管理系统,不但可以记录与企业有合作关系的客户信息及相关的合作内容,而且还可以有效地防止客户信息的丢失与混淆,为双方的下一次合作提供帮助。该客户信息管理系统能够记录客户的简单信息并附上其照片,避免调用客户信息时可能产生的混淆。因此,该系统将会在一定程度上帮助中小企业的成长,促进大企业的发展,给众多企业提供极大的帮助。

1 MVC技术简介

近年来,随着互联网技术的发展,web应用逐渐兴起。同时,当客户的要求不断增多,简单地以JSP页面为中心的web应用程序也已经不能满足市场的需求;在1979年Trygve Reenskaug提出MVC模式,即“Model-View-Controller”的缩写,中文翻译为“模式-视图-控制器”。MVC模式很好地实现了数据层与表示层的分离,做到各层次分明、结构清晰,降低了层与层之间的依赖,提高了层次间逻辑的复用。在用户需求的快速变化下,可能有多种方式访问应用的要求,可以为一个模型在运行时同时建立和使用多个视图。这样便减少了代码的维护量,当模型发生改变时,也易于维护。由于模型是独立于视图的,所以把一个模型独立地移植到一个新的平台工作时,只需在新平台上对控制器和视图进行必要的修改。下面简单介绍各个模块的功能:

模型(Model):负责定义信息格式与信息访问的界面,包括业务逻辑与信息验证。这是MVC设计模式的核心,实现具体的业务逻辑、状态管理的功能[1]。模型负责所有与“数据”有关的任务与数据库沟通。从数据库读取数据,将数据写入数据库[2]。简单来说,建立模型是系统的第一步,首先通过系统的基本功能能够知道系统模型的内容,在模型层里面都是实现系统功能的基础,其可以为显示视图来提供数据。

视图(View):所谓视图即为展现给用户的界面,可以实现与用户的交互,用户可以读取和输入数据。它把模型内的数据以及数据之间的逻辑关系,最终以可视的方式展现给用户[1]。读取的数据即为根据用户的请求所返回在用户浏览器上的数据信息;而输入则是用户输入的数据传到服务器。简而言之,视图是一个显示同时又可以进行操作的界面。

控制器(Controller):是整个MVC模式的核心,它决定系统的运作流程, 负责从Model 取得数据, 并决定显示哪个View(正常或异常)给浏览器, 因此其有效地实现了视图与业务逻辑的分离[3]。例如在本系统中Checklogin(检查登录),通过用户在登录页面输入用户名、密码、验证码、选择的权限来判断是否全部正确,如果不正确则显示错误页面,如果正确,则根据权限进入不同的操作页面。

简而言之,MVC模式可以将系统的各个功能进行清晰的分工;模型层用于实现具体的业务逻辑以及状态管理,是系统的基础;视图层则负责与用户的交互,实现数据的输入与输出;控制器则负责整个系统的运行,对用户请求进行响应、与浏览器交互等。

2 系统设计

下面对各个模块进行简单的说明:

1) 系统登录:企业的员工和管理员通过登录页面输入账号、密码和验证码,然后选择权限进入主页面,对客户的信息进行相关的处理和操作,其中为了避免员工密码的泄漏,在存储到数据库的时候进行了一定的加密。

2) 管理员模块:企业管理员登录之后,可以在主页面中修改登录密码,也可以对员工和客户进行操作;在对用户的管理中,可以对员工的信息进行查询和删除,为了保证系统安全性,查询页面中不会显示总的管理员的账号,所以不能对其做任何操作。

3) 普通员工模块:对于普通员工,为保证客户信息的安全性,只给了少量的权限,即在主页面中只能修改登录密码和查看客户信息,其查看到的客户信息与管理员一样,也就满足了一般的使用需求。

3 系统的实现

3.1 系统实现简介

该客户管理系统采用的MVC模式来实现的,采用了JSP+JavaBean+Servlet模式来完成,通过将复杂的程序代码封装到JavaBean中,减少了JSP代码和网页标签混合使用的情况,同时将公用代码放在JavaBean中,可以提高代码的可复用性;其中的Servlet技术来充当控制器(Controller,即C)的角色,负责响应客户端对业务逻辑的请求并根据用户的请求行为决定要调用的JSP页面;JSP页面处于表现层,也就是视图(View 即V)的角色。JavaBean负责数据的处理,也就是( Model 即M)的角色。同时又加入了过滤器对用户的权限进行过滤,不同的权限有不同的操作权限[4]。

其流程如下:

3.2 C3P0数据库连接池

对于直接创建的数据库连接的程序来说,很容易会造成忘记释放连接或程序出错,从而导致连接释放失败情况的出现,最终导致内存溢出、系统崩溃等安全性问题;而数据库连接池是在系统初始化的时候,将数据库连接作为对象存储在内存中,当用户需要访问数据库时,数据库并不是建立一个新的连接,而是从连接池中取出一个已建立的空闲连接对象。在用户使用完毕后,用户也不是把所用的连接关闭,而是将连接放回连接池中,以供下一个请求访问使用。而连接的建立、断开都由连接池自身来管理。同时,还可以通过设置连接池的参数来控制连接池中的初始连接数、连接的上下限数以及每个连接的最大使用次数、最大空闲时间等等。也可以通过其自身的管理机制来监视数据库连接的数量、使用情况等[5]。

该客户信息管理系统采用的是在Java中开源的C3P0数据库连接池,首先建立一个xml配置信息文档,如下图

数据库的实现如下:

5 结束语

该系统采用了目前比较流行的MVC模式以及JSP技术,可以方便企业管理人员对客户信息的管理和业务人员对客户信息的查询,以此来促进企业的发展,同时该系统对密码也进行了加密,防止用户信息和客户信息的泄漏。该系统功能完备,便于操作,可以较好地服务于企业客户信息的管理,符合企业管理与发展的需要。

参考文献:

[1] 林永良, 胡建平, 吴树林. 基于.NET MVC架构下的科研项目管理系统[J]. 计算机系统应用, 2014(12): 217-220.

[2] 李彦, 高博, 唐继强, 等. ASP.NET 4.0 MVC敏捷开发给力起飞[M]. 北京: 电子工业出版社, 2011:254-256.

[3] 代振英. MVC模式研究及应用[D]. 青岛: 山东科技大学, 2014.

[4] 冯艳玲, 张晖, 邓果丽, 等. 中小型Web项目开发实战[M]. 北京: 清华大学出版社, 2013.

[5] 徐全生, 齐祥玲. 数据库连接池在考试系统中的应用[J]. 沈阳工业大学学报, 2007, 29(5): 582-584.