客户关系管理系统.doc.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
客户关系管理系统.doc

客户关系管理系统 环境搭建 创建一个空项目 项目原型导入 copy原型中的src和WebRoot 发布,运行,查看功能 功能分析 添加客户 查看所有客户 编辑客户(查一个) 删除客户(你们的) 多条件组合查询 导jar包  mysql驱动 c3p0的两个jar包(它的配置文件) itcast-tools.1.4.2.jar commons-bean-utils.jar commons-logging.jar commons-dbutils.jar 页面分析 index.jsp:它什么都没做,直接转发到frame.jsp; frame.jsp:框架页,包含top.jsp和webcome.jsp top.jsp: 一个标题 链接1:添加客户,请求add.jsp; 链接2:查看客户,请求list.jsp; 链接3:高级搜索,请求query.jsp; add.jsp:一个添加客户的表单; list.jsp:一个table用来显示所有客户; query.jsp:一个高级搜索的表单; edit.jsp:一个修改客户的表单; msg.jsp:用来显示信息(添加客户成功) 表和类的创建 涉及哪些表 客户表 CREATE TABLE t_customer( cid CHAR(32) PRIMARY KEY, cname VARCHAR(40) NOT NULL, gender VARCHAR(6) NOT NULL, birthday CHAR(10), cellphone VARCHAR(15) NOT NULL, email VARCHAR(40), description VARCHAR(500) ); 涉及的类 创建包:cn.itcast.cstm domain:Customer dao:CustomerDao service:CustomerService servlet:CustomerServlet 添加功能 流程分析 add.jsp (CustomerServlet#addCustomer()(msg.jsp 代码的实现 DAO#addCustomer(Customer c): 给出sql语句的模板 把参数c转换成一个Object[] 调用QueryRunner的update方法。 Service#addCustomer(Customer c): 直接调用dao的addCustomer(c); 查看所有客户 查看所有客户的流程分析 top.jsp ( CustomerServlet#findAll() ( list.jsp DAO: sql = “select * from t_customer”; qr.query(),需要把结果集映射成ListCustomer,所以使用BeanListHandler Service:略! 编辑功能 编辑功能分两步 按id查询,即加载! 修改客户信息 按id查询流程 list.jsp中每个客户信息之后都有编辑链接(CustomerServlet#load()(edit.jsp DAO: sql = “select * from t_customer where cid=?”; qr.query(),使用BeanHandler即可。 Service:略 编辑第2步 edit.jsp ( CustomerServlet#edit() ( msg.jsp 高级搜索 流程分析 query.jsp ( CustomerServlet#query() ( list.jsp 分页 页面需要的分页数据: 当前页:pageCode,简称pc 总页数:totalPage,简称tp 当前记录:datas Servlet: pc: 如果页面传递了pc,那么使用页面传递的; 如果页面没有传递,那么pc=1 tp: 总记录数:totalRecord,简称tr 每页记录数:pagesize,简称ps tr%ps==0 ? tr/ps : tr/ps + 1; tr: 让dao来select count(*)就可以知道总记录数 ps: 系统数据,我们可以自己决定! datas: 让dao来select …. limit来搞定 创建分页Bean   因为分页数据太多,而且分页数据总是要在各层之间来回传递,所以我们需要把所有分页数据封装到一个对象中。PageBean 1 / 8

文档评论(0)

jiaoyuguanliji + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档