ImageVerifierCode 换一换
格式:DOCX , 页数:36 ,大小:793.12KB ,
资源ID:8901120      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/8901120.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(客户管理系统范例.docx)为本站上传会员【pc****0】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

客户管理系统范例.docx

1、      客户管理系统       学 院   专 业   班 级   学 号   姓 名   指导教师   教师职称             年   月   日             摘要 【摘要】 本文介绍了如何使用JSP开发一个客户关系管理系统,目的在于让大家共同学习和运用这一语言的体会和收获。本系统是Intranet环境下面的电子商务的客户关系管理,通过企业管理技术、电子商务和信息技术的高度集成,帮助企业在全球经济一体化的激烈市场竞争环境中,建立以市场、客户为中心的管理体

2、系,有效管理企业与客户之间的关系,提高客户忠诚度,实现客户价值的最大化。从而提高企业的核心竞争力。企业要想生存发展,就必须与与之息息相关的客户建立起良好的关系,不断发展新客户,以企业高质量的产品、优质的服务、良好的资信吸引新客户;经常维系与老客户的关系,以规范的客户管理方式、温馨的客户关怀、高效的客户服务来提升老客户的忠诚度。由此,客户管理系统应运而生。 【关键词】 Struts框架、Struts框架的工作原理、样式层、持久层、服务层、控制层。   目录 摘要 1 0 引言 1 1 系统分析 2 1.1 需求分析 2 1.2 可行性分析 2 2 总体设计 2 2.

3、1 项目规划 2 2.2 系统功能结构图 3 3 系统设计 3 3.1 设计目标 3 3.2 开发及运行环境 4 3.3 数据库设计 4 4 网站总体架构 5 1 系统架构设计 5 3.6.2 文件架构 6 3.6.3 网站首页的运行结果 9 3.6.4 类的分布 12 5 基础信息维护模块设计 13 5.1 工具层的实现 13 5.2 样式层的实现 17 5.3 持久层的实现 18 5.4 服务层的实现 20 10 小结 27 附录一 参考文献 28 附录二 数据表 31 附录三 文件架构图 33 0 引言

4、 客户资源决定企业的核心竞争力。任何一家企业,有钱就可以买到最好的设备、尖端的技术,但却买不到强大的客户资源。面对着竞争对手不断截留我们的客户,各企业商家所关心的不再局限于自身的产品质量、生产设备、员工的素质,更多的是关心自己的销售群体(客户群),关心他们的想法、需求、购买目的,并与客户建立好良好的、长期的客户关系,强化与客户的沟通,帮助企业留住老客户的同时,更好地拓展新客户,提升客户价值,从而全面提升企业竞争能力和盈利能力,为企业的发展壮大保驾护航。   1 系统分析 1.1 需求分析 通过调查研究,要求系统满足以下功能: q q         由于操作人员的计算机知识水平

5、有限,要求有良好的人机界面,可以很简单方便的管理各种客户信息。 q q         方便的数据查询功能。 q q         管理客户的详细信息:包括客户的基本信息、联系人信息、业务来往信息等。 q q         为更多地了解客户的需求,应设置客户服务模块,用以记录客户的反馈信息及投诉信息,并对反馈信息及投诉信息进行图表分析。 q q         与客户联系人之间通过邮件(E-mail)进行联系,对联系人邮箱地址进行管理。 q q         提供各种信息列表的打印功能,并可实现客户信封打印。 q q         在相应的权限下,可以删除或修改数据。 1

6、2 可行性分析 目前,大多数企业内部的客户管理还处于手工管理阶段,工作起来效率很低,不能及时了解各类客户的实际情况,也无法快速地进行客户信息的查询等操作;不便于动态及时地了解客户的需求及反馈信息,致使企业不能更好地适应当前经济形势发展的需要。手工管理还存在着许多弊端,由于不可避免的人为因素,经常造成数据的遗漏、误报。计算机信息化管理有着储存信息量大、速度快等许多优点,提供给用户的处理信息及时、准确、快捷,同时也能提高企业员工的自身素质。 2 总体设计 2.1 项目规划 客户管理系统是一个典型的数据库开发应用程序,由基础信息维护、客户信息维护、客户服务、信息查询、客户管理、辅助工

7、具、系统管理7部分组成。 q q         基础信息维护 该模块主要是对客户的企业类型、企业性质、客户银行、企业资信、客户级别、客户满意程度、区域信息等一些基础信息进行设置。 q q         客户信息维护 该模块主要是对客户信息、联系人信息、业务来往等一些客户信息进行添加及维护操作的功能。 q q         客户服务 该模块主要是对客户反馈信息及客户投诉信息进行添加、删除等操作,同时对反馈及投拆的数据以图表的形式加以分析。 q q         信息查询 该模块主要实现对客户信息、联系人信息等各种信息的查询,同时可对国内的各大城市的区号及邮编进行查询。

8、q q         数据管理 该模块主要实现各种数据的打印操作,主要包括:客户信封打印、客户信息打印、联系人信息打印及全国各省份的邮编信息的打印。 q q         系统管理 访模块主要实现对操作员、操作员权限进行设置及修改的操作,主要包括操作员设置、密码修改、权限设置、退出4个部分。 q q         辅助工具 该模块主要为用户提供一些辅助的工具,包括调用Word、调用Excel、发送邮件、计算器及工作业务备忘录。   2.2 系统功能结构图 图1 客户管理系统功能结构图 3 系统设计 3.1 设计目标 本系统是针对中小型企业客户管理现状,通

9、过网络实现对客户的管理,主要实现如下目标: q q         对客户信息(客户基本信息、联系人信息、业务来往信息)进行全面管理。 q q         及时查看库存信息,并通过网站对入库、出库信息进行管理。 q q         强大的客户信息、联系人信息报表打印功能及客户信封打印功能。 q q         及时了解客户的反馈信息及投诉信息,并以图表形式对数据进行分析。 q q         实现各种信息查询功能。 q q         实现了直接通过网络拨打用户电话及发送E-mail。 q q         对用户输入的数据,系统进行严格的数据检验,尽可能排

10、除人为的错误。 q q         操作员可以随时修改自己的口令。 q q         数据保密性强,为每个用户设置相应的权限级别。 q q         提供辅助工具,方便用户操作及使用。 q q         系统运行稳定、安全可靠。 3.2 开发及运行环境 硬件平台: q q         CPU:P41.8GHz; q q         内存:256MB以上。 软件平台: q q         操作系统:Windows 2000; q q         数据库:SQL Server 2000; q q         开发工具包:JDK V

11、ersion1.4.2; q q         JSP服务器:Tomcat; q q         浏览器:IE5.0,推荐使用IE6.0; q q         分辨率:最佳效果1024×768。 3.3 数据库设计 本系统数据库采用SQL Server 2000数据库,系统数据库名称为db_Client。数据库db_Client中包含18张表。关于数据库中的数据表请参见附录B   4 网站总体架构 1 系统架构设计 在编写代码之前,可以先把网站中可能用到的文件夹创建出来(例如:创建一个名为image的文件夹,用于保存网站中需要的图片),这样可以方便以后的开发工

12、作,也可以规范网站的整体架构,我在开发客户管理系统时,首先设计了如图3所示的文件夹架构图。在开发时只需要将文件保存在相应的文件夹中就可以了,非常方便。   2 网站首页的运行结果 当管理员在进入客户管理系统后,首先进入客户管理系统的大厅,也就是客户管理系统的首页。客户管理系统首页包含基础信息维护、客户信息维护、客户服务、信息查询、数据管理、辅助工具以及系统管理的超链接。 客户管理系统网站首页的运行结果如图4所示。 2 3 1 图4 网站首页运行结果 网站框架说明如表1所示: 表1 网站首页页面说明

13、 区域 名称 说明 对应文件 1 网站导航 主要展示网站的旗帜广告和站内导航条 top.jsp 2 功能模块 主要用于显示导航模块中的功能 information.jsp 3 内容显示 主要用于显示功能模块中的内容 right.jsp 整个网站利用到jsp中的一个框架,框架由名称分别为top、left和main的3个jsp页面组成的,然后利用html代码在index.jsp(和WEB-INF同级目录中)页面中组合起来。 代码如下: /*********************************** index.jsp*****************

14、/ 客户管理系统主页面

15、"#404040"> <body> </body> 区域top所对应的jsp页面(top.jsp,在jsp文件夹)的代码如下: /*********************************** top.jsp***********************

16、/

区域left所对应的jsp页面(information.jsp,在jsp/information

18、/information.jsp文件夹)的代码如下: /*********************************** information.jsp*********************************/

21、tr>

19、background="images/clientbar.jpg" class="style5">

企业类型设置

20、"center" valign="middle" background="images/cbar.jpg">企业性质设置

客户银行设置
企业资信设置
客户级别设置
    客户满意程度设置
区域信息设置
 
区域main所对应的jsp页面(right.jsp,在jsp文件夹)的代码如下: /*******************

24、 right.jsp***************************************/ <%@ page contentType="text/html; charset=gb2312"%> 右页面

 

 

 

 

26、height="118" border="0" cellpadding="0" cellspacing="0" background="../images/background.gif">

 
3 类的分布 整个网站的实现功能利用到的框架Struts,基本上是以“类”的形式实现的。所以我设计一个类的分布图如下: 图5 类的分布图 各个类所实现的功能如表2所示。 表2

27、 类的功能 名称 功能 持久层(dao文件夹) 各种方法的实现 样式层(domain文件夹) 所存放的类是Actionform类,在类中必须要继承ActionForm(也就是entends ActionForm) 服务层(server文件夹) 存放的dao层功能的业务的类 控制层(webtier文件夹) 存放在jsp页面中存在的方法实现的类 工具层(tool文件夹) 类名为JDBConnection.java(连接数据库的功能)、类名为Chinese.java(字符级转换的类)、文件名为sqlSQLCod

28、e、Properties(主要存放sql语句)、SQLCode.java(主要是解析sqlSQLCode. Properties中的sql语句中的?) 5 基础信息维护模块设计 基础信息维护主要功能块分为:区域信息设置、企业性质设置、企业类型设置、企业资信设置、客户级别设置、客户满意程度设置和客户银行设置。 在这里单击任何一个功能模块都是一个查询功能。这些功能块的实现方法基本相同,下面以“企业类型设置”功能模块为例,详细介绍其通过MVC框架所实现的功能。 单击“企业类型设置”超链接,即可进入到企业类型设置页。在该页中可以看到企业类型的各种详细功能,包括对数据的添加、修改、删除功能。下

29、面就分层介绍各种功能的实现。 5.1 工具层的实现 在工具层(tool文件夹)中主要存放的是常用的基本类,在这里不管任何一项功能都要调用相对应的类的方法。 1.Chinese.java类(字符级转换的类) /******************************* Chinese .java*************************************/ package com.tool; import java.io.Unsupport

30、edEncodingException; public class Chinese { //将从form 表单中去出的数据转换为汉字 public static String str(String a) { try { return new String(a.getBytes("ISO-8859-1")); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return null; } } 2.sqlCod

31、e.properties文件(sql语句的存放位置) /******************************* sqlCode.properties**********************************/ #--基础信息维护--# #--对区域信息表的操作(tb_Client_qyxx)--# #--查询的操作— sql.qyxx.select=select * from tb_Client_qyxx #--插入的操作— sql.qyxx.insert=insert into tb_Client_qyxx val

32、ues('?','?','?','?','?','?') 3.SQLCode.java类(通过这个类解析properties文件中的sql语句) /******************************** SQLCode.java***********************************/ package com.tool; public final class SQLCode { private static SQLCode sqlCode = null; private static java.util.Properties sqlCod

33、eProperties = new java.util.Properties(); static { sqlCode = new SQLCode(); } private SQLCode() { _load(); } public static String getSQLCode(String sqlKey) { String sql = ""; if (sqlCodeProperties.containsKey(sqlKey)) { sql = s

34、qlCodeProperties.getProperty(sqlKey); } return sql; } public static SQLCode getInstance() { return sqlCode; } //指向sqlcode.properties的位置 public void _load() { String fileName = "/com/tool/sqlCode.properties"; //通过指定路径找到资源文件存放在fileName中 sqlCodeProperties.cl

35、ear(); // SqlCodeProperties清空 try { java.io.InputStream in = null; //定义输出流的变量 try { in = getClass().getResourceAsStream(fileName); //把fileName中存放值放入in字符流中 sqlCodeProperties.load(in); } finally { in.close(); } } catch (j

36、ava.io.IOException e) { System.out.println(e.getMessage()); } }} 4.JDBConnction.java(这是个JDBC的类,用于加载数据库) /******************************* JDBConnection.java********************************/ package com.tool; import java.sql.DriverManager; import java.sql.Connection; import java.sql.SQ

37、LException; import java.sql.ResultSet; import java.sql.Statement; //这是一个工具类实现与数据库的连接 public class JDBConnection { String sd = "sun.jdbc.odbc.JdbcOdbcDriver"; String sc = "jdbc:odbc:db_Client"; ResultSet rs = null; Connection conect = null;

38、 public JDBConnection() { try { Class.forName(sd); //通过构造方法加载对象 } catch (java.lang.ClassNotFoundException e) { System.err.println(e.getMessage()); } } //只能执行查询的sql语句,并且通过Resulit类型的对象,把所读取的内容返回。 public ResultSet executeQuery(String sql) { try { conect =

39、DriverManager.getConnection(sc); Statement stmt = conect.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); rs = stmt.executeQuery(sql); } catch (SQLException ex) { System.err.println(ex.getMessage()

40、); } return rs; } public int executeUpdate(String sql) { //能够执行修改。删除和插入的sql语句。 int result = 0; try { conect = DriverManager.getConnection(sc); Statement stmt = conect.createStatement(); result = stmt.executeUpdate(sql); } catch (SQLException er) {

41、 System.err.println(er.getMessage()); } return result; } public void close() { //数据库连接关闭的方法 try { if (conect != null) { conect.close(); } } catch (Exception e) { System.out.println(e); } } public void setAutoCommit(boolean flag) {

42、 //设置自动提交的方法 try { conect.setAutoCommit(flag); } catch (Exception exception) { System.out.println("Exception in set autoCommit :" + exception.getMessage()); } } public void commit() { try { mit(); } catch (Exception exception) {

43、 System.out.println("Exception in commit :" + exception.getMessage()); } } public void rollback() { //执行事物的回滚 try { conect.rollback(); } catch (Exception exception) { System.out.println("Exception in rollback :" + exception.getMessage()); } } //将

44、sql语句中的?号转为相应的参数 ,其中参数为字符串型 public String editSqlCode(String sql, String str) { try { // 截取从0到第一个问号的字符串加参数str,然后在加上第一问号以后的字符串 sql = sql.substring(0, sql.indexOf("?")) + str + sql.substring(sql.indexOf("?") + 1); } catch (Exception e) { System.out.

45、println(e.getMessage()); } return sql; } public String editSqlCode(String sql, Integer str) {//提取SQL语句,并把(int str)传出来的值来代替? try { sql = sql.substring(0, sql.indexOf("?")) + str + sql.substring(sql.indexOf("?") + 1); } catch (Exception e) { Syst

46、em.out.println(e.getMessage()); } return sql; } public String editSqlCode(String sql, int str) { //提取SQL语句,并把(int str)传出来的值来代替? try { sql = sql.substring(0, sql.indexOf("?")) + str + sql.substring(sql.indexOf("?") + 1); } catch (Exception e) {

47、System.out.println(e.getMessage()); } return sql; }} 5.2 样式层的实现 在样式层(在domain文件夹)中的类是一个继承了ActionForm(也就是extends ActionForm)的类。对于每个请求参数通过其名称来对应到bean的一个属性上,并调用相对应的setter方法来设置属性值。这个方法类似于标准jsp中标记。同样调用相应的getter方法来取得属性值,更新后的ActionForm Bean被传递给Action类的perform方法,以便使这些值能被系统状态和业务逻辑bean来

48、使用。 企业类型设置模块对应的ActionForm类CqylxForm.java的代码如下: /*********************************** CqylxForm.java******************************/ package com.domain; //对企业生产类型表的操作(tb_client_qylx) public class CqylxForm extends ActionForm {//使用Struts需要继承ActionForm private String qylx_bz = ""; //备注信息 priv

49、ate String qylx_id = ""; //企业生产类型编号 private String qylx_lxmc = ""; //企业生产类型名称 public CqylxForm() {} public String getQylx_bz() { return qylx_bz; } public void setQylx_bz(String qylx_bz) { this.qylx_bz = qylx_bz; } public String getQylx_id() { return qylx_id; } public void setQylx_id(String qylx_id) { this.qylx_id = qylx_id; } public String getQylx_lxmc() { return qylx_lxmc; } public void setQylx_lxmc(String qylx_lxmc) { this.qylx_lxmc = qylx_lxmc; }} 5.3 持久层的实现 在持久层(dao层文件夹)中,主要

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服