crm客户管理系统总结
文章目录
- CRM项目总结
- 第零步:整体分析
- 第一步:搭建开发环境
- 第二步:mybatis逆向工程
- 第三步:登录功能
- 第四步:安全退出功能
- 第五步:创建活动功能
- 第六步:日历功能
- 第七步:导出市场活动
- 第八步:apache-poi插件
- 第九步:Cookie
- 第十步:Filter拦截器
- 第十一步:监听器
- 第十二步:json
- 第十三步:maven
- 第十四步:mvc架构
- 第十五步:mybits
- 第十六步:Servlet
- 第十七步:Http协议
CRM项目总结
第零步:整体分析
分系统功能和业务功能
先做系统功能(被依赖),再做业务功能
第一步:搭建开发环境
用idea创建工程,一个工程包括多个模块
模板maven创建web项目(注意idea与maven的结合,主要是仓库的配置一致) 写三坐标
补全目录结构 设置编码格式
添加jar包 maven添加依赖
添加配置文件 mybatis-config.xml applicationContext-datasource.xml(配置数据连接和事务 ,扫描mapper)
applicationContext-mvc.xml (扫描controller) applicationContext.xml(spring总的配置文件 ,扫描service)
web.xml(web核心配置文件 web项目启动,运行所需部件的 加载上面的三个配置文件)
项目最终部署到tomcat上的webapps目录上
web应用根目录下的内容都是不安全的,外界可以直接访问 所以一般为了数据安全,都把页面放到WEB-INF下
|->crm
|->.html .css .js .img
|->classes
|->lib 存放jar包
在idea中配置tomcat,注意仓库名的正确性 部署war exploded的包
第二步:mybatis逆向工程
根据表生成mapper层的三层代码
实体类,mapper接口,映射文件
创建maven工程,不用模板 默认继承关系 去掉继承关系
添加逆向工程的插件 在pom.xml中配置插件
需要的三类信息
- 数据库连接信息
- 生成文件存放位置
- 表
配置文件 generatorConfig.xml
第三步:登录功能
客户端 (用户输入用户名和密码 用户点击登录按钮或者回车键) 响应给前端 json字符串
Usercontroller(异步请求 获取所需参数 用户名 密码 是否记住密码 封装参数) 根据查询结果生成响应信息
UserService(queryUserByLoginPwd(map))
UserMapper(selectUserByLoginAndPwd(map))执行SQL语句 封装成实体类 user
第四步:安全退出功能
客户端(用户点击退出按钮, 弹出确认的模态窗口,用户点击确认)
UserController(同步请求 --清空cookie–销毁session–返回响应信息–跳转到首页)
第五步:创建活动功能
客户端(用户点击创建活动按钮,解析json渲染页面)
ActivityController(异步请求 只是刷新局部列表 需要参数–表单中所有参数 获取参数–封装参数–方法保存创建的活动)
ActivityMapper(执行sql,返回影响的记录条数 发送响应json 包括是否从成功)
第六步:日历功能
引入日历插件 三步走
- 引入开发包(css之间没有调用,js有 属于js引入有顺序)
- 创建容器(单行文本框)
- 当容器加载完成后,对容器调用工具函数(选中容器,调工具函数)
第七步:导出市场活动
- 给“导出”按钮添加单击事件,发送导出请求
- 查询所有的活动
- 创建excel文件,把活动写入进去
- 把生成的excel文件输出到浏览器(文件下载)
优化导出市场活动:因为使用文件输出流访问磁盘了 所以效率很慢(把内存写到磁盘了)
文件在磁盘里面存的 ,输出流在内存中的
数据库里面的数据存到磁盘里面的
直接从内存到内存 直接写到输出流里面
第八步:apache-poi插件
简介:把办公文档中的元素都转变成java类来操作
使用
- 添加依赖
- 使用封装类生成excel文件
如何根据一个文件生成输出流
输出流的对象 用文件输出流 FileOutputStream(有流,捕获异常)
第九步:Cookie
创建Cookie,把Cookie保存到浏览器端
第十步:Filter拦截器
定义类实现拦截器接口,重写方法
前,中,后
类似于Servlet的生命周期:初始化,服务,销毁
配置文件配置Filter
拦截器里面设置编码
一个service是一个事务,应该在Service中设置事务
第十一步:监听器
配置xml文件
监听上下文启动,在上下文启动时创建ioc容器,然后将其保存到application作用域
后面的中央控制器从application中获取ioc容器
第十二步:json
json是一种数据格式 xml也是一种数据格式
假设user是从数据库里面查询出的,将其转成json格式,发送给客户端
第十三步:maven
为了改进项目的开发和管理,使用maven(三坐标)
- 可以下载,管理jar文件
- 帮助你编译程序,测试代码,打包文件
- 帮你部署项目
第十四步:mvc架构
MVC:Model(模型) View(视图) Controlle(控制器)
- 视图层:用于数据展示和用户交互
- 控制层:接受客户端请求,处理办业务
- 模型层:有简单的pojo模型,业务组件模型等
第十五步:mybits
传统开发常用三层架构
界面层
业务逻辑层
数据访问层
而mybits能提供什么功能
- 提供创建Connection,Statement,ResultSet的能力,开发人员不用自己创建了
- 提供了执行sql语句的能力
- 提供了循环sql,把SQL的结果转为java对象,list集合
- 提供了关闭资源的能力,不用你关闭Connection,Statement,ResultSet
总结:mybits是一个sql映射框架,提供了数据库的操作能力。增强的jdbc,开发人员可专注的提供sql语句
实现步骤:
- 新建student表
- maven中添加依赖
- 创建实体类 Student保存表中的一行数据
- 创建持久层的dao接口,定义操作数据库的方法
- 创建mybits的xml配置文件叫做sql映射文件:写sql语句的
- 创建mybits主配置文件,一个项目有一个主配置文件,主配置文件提供数据库连接信息和sql映射文件位置信息
- 创建使用mybits类,通过mybits访问数据库
sql映射文件和dao类一层目录
主要类介绍
Resourses:主要读取主配置文件
SqlSessionFactoryBuilder:创建SqlSessionFactory对象
SqlSessionFactory:获取Session对象,执行Sql语句
第十六步:Servlet
问题:add怎么和addServlet对应上的
两者对应关系 mapping为映射的意思 注意/
Servlet请求参数中文乱码的问题
Tomcat8开始,设置编码,只针对post方式
Servlet优化
DisPatchServlets完成了三大步骤
- 根据请求拆解成index型的
- 解析xml文件,找到id和class存到map集合里面
- index在map集合里找到,调用controller的对象方法
第十七步:Http协议
Http为超文本传输协议
是无状态的(http无法判断两次请求是同一个客户端发来的,还是不同客户端发来的,可通过会话跟踪技术解决无状态问题)
其请求响应包含两个部分:请求和响应
请求包含
- 请求行:请求方式,请求消息头,请求的协议
- 请求消息头:包含很多浏览器告诉服务器的信息:我的浏览器型号,类型…
- 请求主体:get方式没有请求体,post和json有
响应包含
- 响应行:协议,状态码,响应体
- 响应头:包含服务器的信息,服务器发给浏览器的信息
- 响应体:响应的实际内容
crm客户管理系统总结相关推荐
- js学习总结----crm客户管理系统之项目开发流程和api接口文档
CRM ->客户管理系统 CMS ->内容发布管理系统 ERP ->企业战略信息管理系统 OA -> 企业办公管理系统 产品 / UI设计:需求分析,产品定位,市场调查...按 ...
- saas是什么意思_为什么越来越多的人选择SaaS模式的crm客户管理系统?
SaaS近几年在国内逐渐升温,很多企业管理者都开始了解SaaS是什么意思,SaaS是企业根据需要,从SaaS提供商获取软件使用权的,直接通过互联网就可进行操作.对于我国大多数中小企业来说,选择SaaS ...
- 帮管客CRM客户管理系统 v3.6.0
介绍: 帮管客CRM客户管理系统基于先进的CRM营销理念设计,集客户档案.销售记录.业务往来于一身,以凝聚客户关系.提升资源价值为核心,将潜在客户变为现实客户.从而提升销售量.提高用户的满意度,并增加 ...
- 客户关系管理系统-帮管客CRM客户管理系统 v3.0.1
简介: 帮管客CRM客户管理系统基于先进的CRM营销理念设计,集客户档案.销售记录.业务往来于一身,以凝聚客户关系.提升资源价值为核心,将潜在客户变为现实客户.从而提升销售量.提高用户的满意度,并增加 ...
- boot客户管理系统实训报告_客户太多,客户转化困难?分析报告迟迟出不来,CRM客户管理系统助你一臂之力...
原标题:客户太多,客户转化困难?分析报告迟迟出不来,CRM客户管理系统助你一臂之力 作者:Teamface 企业中,每天接触的客户太多,时间太长根本记不住谁是谁,难以分清楚是否还是企业的意向客户,很容 ...
- AutoRunner4.5结合真实项目crm客户管理系统进行界面功能自动化测试教学资料(登录)
在win10系统上进行界面功能自动化测试,已经困扰了我们很久.就在前不久我们发布了最新版的功能自动化测试工具AR4.5.0.6版本的工具.在这个版本下优化了谷歌浏览器上对象的识别方式,工具自身打开.录 ...
- AutoRunner 功能自动化测试项目实训之crm客户管理系统试用安装包下载(二十)
crm客户管理系统试用安装包下载地址:链接:https://pan.baidu.com/s/1eRYr20Tx8aAwISRtG1mPUw 提取码:jrj6
- crm客户管理系统如何助力企业销售管理
管理一个销售团队并非易事.不仅要对收入负责,更要对数字负责.但销售主管所能做的就是通过每天的指导来管理团队的行动,尽可能完美地铺好每一块砖.不妨借助crm客户管理系统,帮助企业更好地管理销售团队. 优 ...
- 【超详细】SSM框架项目实战|Spring+Mybatis+Springmvc框架项目实战整合-【CRM客户管理系统】——课程笔记
相关资料网盘链接: CRM客户管理系统资料 提取码 :0u04 P1--CRM阶段简介: web项目开发:如何分析,设计,编码,测试. 形成编程思想和编程习惯. P2--CRM的技术架构 ...
- CRM客户管理系统怎样对客户价值进行评估
CRM客户管理系统作为企业管理中不可缺少的管理工具,除了可以对企业客户进行全面的管理外,还能通过各项数据的分析评估出客户的价值.每个客户带给企业的价值都是不一样的,那么CRM客户管理系统怎样对客户价值 ...
最新文章
- .git文件夹_Git服务器安装- windows
- mysql count if语句_COUNT分组条件去重的sql统计语句示例(mysql)
- 用opencv抽取视频的帧并保存为连续的图片
- VTK:随机探针用法实战
- 全民Tv帝师称称通过EOS赚了几千万,可信度有多高
- Python3.x:pip命令安装第三方库,超时处理方案
- 反转!物联网火爆,程序员开发技能却有待加强?
- matlab查看RGB图像矩阵数值
- sql中exists与in的区别
- 第一门慕课计划——在广东海洋大学推广MOOC学习
- 1 Pandas实例(一)-2012美国大选政治献金实例
- 什么是逻辑主键和业务主键
- Big Faceless Java Pdf报表生成器控件介绍
- 中文大写数字转换为阿拉伯数字(java)
- caffe-ssd细节梳理
- fopen函数的各种参数 r+ w+ a+ ab+
- 无线网桥有服务器吗,无线网桥的三种用法
- 电磁学整理(猴博士)
- 计算机win e怎么按,win键怎么使用
- 交叉编译环境2021-11-09
热门文章
- Android的界面1080,安卓1080P界面设计规范解读
- HTML中使用a标签实现文本内链接—零基础自学网页制作
- amd服务器虚拟化,着眼未来 AMD皓龙产品从“芯”实现虚拟化
- isp邮件服务器是什么,与ISP企业邮箱共建邮件服务器
- 又见猛犸象:基因剪刀重新定制生命
- mo java_mojava和 high sierra系统区别?
- 一个值得推荐的脑图制作神器!
- 100以内的质数(基础算法)
- 常用求导公式 高阶导公式 莱布尼兹公式
- No provider available from registry