文章目录

  • 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中配置插件

需要的三类信息

  1. 数据库连接信息
  2. 生成文件存放位置

配置文件 generatorConfig.xml

第三步:登录功能

客户端 (用户输入用户名和密码 用户点击登录按钮或者回车键) 响应给前端 json字符串

Usercontroller(异步请求 获取所需参数 用户名 密码 是否记住密码 封装参数) 根据查询结果生成响应信息

UserService(queryUserByLoginPwd(map))

UserMapper(selectUserByLoginAndPwd(map))执行SQL语句 封装成实体类 user

第四步:安全退出功能

客户端(用户点击退出按钮, 弹出确认的模态窗口,用户点击确认)

UserController(同步请求 --清空cookie–销毁session–返回响应信息–跳转到首页)

第五步:创建活动功能

客户端(用户点击创建活动按钮,解析json渲染页面)

ActivityController(异步请求 只是刷新局部列表 需要参数–表单中所有参数 获取参数–封装参数–方法保存创建的活动)

ActivityMapper(执行sql,返回影响的记录条数 发送响应json 包括是否从成功)

第六步:日历功能

引入日历插件 三步走

  1. 引入开发包(css之间没有调用,js有 属于js引入有顺序)
  2. 创建容器(单行文本框)
  3. 当容器加载完成后,对容器调用工具函数(选中容器,调工具函数)

第七步:导出市场活动

  1. 给“导出”按钮添加单击事件,发送导出请求
  2. 查询所有的活动
  3. 创建excel文件,把活动写入进去
  4. 把生成的excel文件输出到浏览器(文件下载)

优化导出市场活动:因为使用文件输出流访问磁盘了 所以效率很慢(把内存写到磁盘了)

文件在磁盘里面存的 ,输出流在内存中的

数据库里面的数据存到磁盘里面的

直接从内存到内存 直接写到输出流里面

第八步:apache-poi插件

简介:把办公文档中的元素都转变成java类来操作

使用

  1. 添加依赖
  2. 使用封装类生成excel文件

如何根据一个文件生成输出流

输出流的对象 用文件输出流 FileOutputStream(有流,捕获异常)

第九步:Cookie

创建Cookie,把Cookie保存到浏览器端

第十步:Filter拦截器

定义类实现拦截器接口,重写方法

前,中,后

类似于Servlet的生命周期:初始化,服务,销毁

配置文件配置Filter

拦截器里面设置编码

一个service是一个事务,应该在Service中设置事务

第十一步:监听器

配置xml文件

监听上下文启动,在上下文启动时创建ioc容器,然后将其保存到application作用域

后面的中央控制器从application中获取ioc容器

第十二步:json

json是一种数据格式 xml也是一种数据格式

假设user是从数据库里面查询出的,将其转成json格式,发送给客户端

第十三步:maven

为了改进项目的开发和管理,使用maven(三坐标)

  1. 可以下载,管理jar文件
  2. 帮助你编译程序,测试代码,打包文件
  3. 帮你部署项目

第十四步:mvc架构

MVC:Model(模型) View(视图) Controlle(控制器)

  1. 视图层:用于数据展示和用户交互
  2. 控制层:接受客户端请求,处理办业务
  3. 模型层:有简单的pojo模型,业务组件模型等

第十五步:mybits

传统开发常用三层架构

界面层

业务逻辑层

数据访问层

而mybits能提供什么功能

  1. 提供创建Connection,Statement,ResultSet的能力,开发人员不用自己创建了
  2. 提供了执行sql语句的能力
  3. 提供了循环sql,把SQL的结果转为java对象,list集合
  4. 提供了关闭资源的能力,不用你关闭Connection,Statement,ResultSet

总结:mybits是一个sql映射框架,提供了数据库的操作能力。增强的jdbc,开发人员可专注的提供sql语句


实现步骤:

  1. 新建student表
  2. maven中添加依赖
  3. 创建实体类 Student保存表中的一行数据
  4. 创建持久层的dao接口,定义操作数据库的方法
  5. 创建mybits的xml配置文件叫做sql映射文件:写sql语句的
  6. 创建mybits主配置文件,一个项目有一个主配置文件,主配置文件提供数据库连接信息和sql映射文件位置信息
  7. 创建使用mybits类,通过mybits访问数据库

sql映射文件和dao类一层目录

主要类介绍

Resourses:主要读取主配置文件

SqlSessionFactoryBuilder:创建SqlSessionFactory对象

SqlSessionFactory:获取Session对象,执行Sql语句

第十六步:Servlet

问题:add怎么和addServlet对应上的

两者对应关系 mapping为映射的意思 注意/


Servlet请求参数中文乱码的问题

Tomcat8开始,设置编码,只针对post方式

Servlet优化
DisPatchServlets完成了三大步骤

  1. 根据请求拆解成index型的
  2. 解析xml文件,找到id和class存到map集合里面
  3. index在map集合里找到,调用controller的对象方法

第十七步:Http协议

Http为超文本传输协议
是无状态的(http无法判断两次请求是同一个客户端发来的,还是不同客户端发来的,可通过会话跟踪技术解决无状态问题)

其请求响应包含两个部分:请求和响应

请求包含

  1. 请求行:请求方式,请求消息头,请求的协议
  2. 请求消息头:包含很多浏览器告诉服务器的信息:我的浏览器型号,类型…
  3. 请求主体:get方式没有请求体,post和json有

响应包含

  1. 响应行:协议,状态码,响应体
  2. 响应头:包含服务器的信息,服务器发给浏览器的信息
  3. 响应体:响应的实际内容

crm客户管理系统总结相关推荐

  1. js学习总结----crm客户管理系统之项目开发流程和api接口文档

    CRM ->客户管理系统 CMS ->内容发布管理系统 ERP ->企业战略信息管理系统 OA -> 企业办公管理系统 产品 / UI设计:需求分析,产品定位,市场调查...按 ...

  2. saas是什么意思_为什么越来越多的人选择SaaS模式的crm客户管理系统?

    SaaS近几年在国内逐渐升温,很多企业管理者都开始了解SaaS是什么意思,SaaS是企业根据需要,从SaaS提供商获取软件使用权的,直接通过互联网就可进行操作.对于我国大多数中小企业来说,选择SaaS ...

  3. 帮管客CRM客户管理系统 v3.6.0

    介绍: 帮管客CRM客户管理系统基于先进的CRM营销理念设计,集客户档案.销售记录.业务往来于一身,以凝聚客户关系.提升资源价值为核心,将潜在客户变为现实客户.从而提升销售量.提高用户的满意度,并增加 ...

  4. 客户关系管理系统-帮管客CRM客户管理系统 v3.0.1

    简介: 帮管客CRM客户管理系统基于先进的CRM营销理念设计,集客户档案.销售记录.业务往来于一身,以凝聚客户关系.提升资源价值为核心,将潜在客户变为现实客户.从而提升销售量.提高用户的满意度,并增加 ...

  5. boot客户管理系统实训报告_客户太多,客户转化困难?分析报告迟迟出不来,CRM客户管理系统助你一臂之力...

    原标题:客户太多,客户转化困难?分析报告迟迟出不来,CRM客户管理系统助你一臂之力 作者:Teamface 企业中,每天接触的客户太多,时间太长根本记不住谁是谁,难以分清楚是否还是企业的意向客户,很容 ...

  6. AutoRunner4.5结合真实项目crm客户管理系统进行界面功能自动化测试教学资料(登录)

    在win10系统上进行界面功能自动化测试,已经困扰了我们很久.就在前不久我们发布了最新版的功能自动化测试工具AR4.5.0.6版本的工具.在这个版本下优化了谷歌浏览器上对象的识别方式,工具自身打开.录 ...

  7. AutoRunner 功能自动化测试项目实训之crm客户管理系统试用安装包下载(二十)

    crm客户管理系统试用安装包下载地址:链接:https://pan.baidu.com/s/1eRYr20Tx8aAwISRtG1mPUw  提取码:jrj6

  8. crm客户管理系统如何助力企业销售管理

    管理一个销售团队并非易事.不仅要对收入负责,更要对数字负责.但销售主管所能做的就是通过每天的指导来管理团队的行动,尽可能完美地铺好每一块砖.不妨借助crm客户管理系统,帮助企业更好地管理销售团队. 优 ...

  9. 【超详细】SSM框架项目实战|Spring+Mybatis+Springmvc框架项目实战整合-【CRM客户管理系统】——课程笔记

    相关资料网盘链接: CRM客户管理系统资料 提取码 :0u04 P1--CRM阶段简介: web项目开发:如何分析,设计,编码,测试.        形成编程思想和编程习惯. P2--CRM的技术架构 ...

  10. CRM客户管理系统怎样对客户价值进行评估

    CRM客户管理系统作为企业管理中不可缺少的管理工具,除了可以对企业客户进行全面的管理外,还能通过各项数据的分析评估出客户的价值.每个客户带给企业的价值都是不一样的,那么CRM客户管理系统怎样对客户价值 ...

最新文章

  1. .git文件夹_Git服务器安装- windows
  2. mysql count if语句_COUNT分组条件去重的sql统计语句示例(mysql)
  3. 用opencv抽取视频的帧并保存为连续的图片
  4. VTK:随机探针用法实战
  5. 全民Tv帝师称称通过EOS赚了几千万,可信度有多高
  6. Python3.x:pip命令安装第三方库,超时处理方案
  7. 反转!物联网火爆,程序员开发技能却有待加强?
  8. matlab查看RGB图像矩阵数值
  9. sql中exists与in的区别
  10. 第一门慕课计划——在广东海洋大学推广MOOC学习
  11. 1 Pandas实例(一)-2012美国大选政治献金实例
  12. 什么是逻辑主键和业务主键
  13. Big Faceless Java Pdf报表生成器控件介绍
  14. 中文大写数字转换为阿拉伯数字(java)
  15. caffe-ssd细节梳理
  16. fopen函数的各种参数 r+ w+ a+ ab+
  17. 无线网桥有服务器吗,无线网桥的三种用法
  18. 电磁学整理(猴博士)
  19. 计算机win e怎么按,win键怎么使用
  20. 交叉编译环境2021-11-09

热门文章

  1. Android的界面1080,安卓1080P界面设计规范解读
  2. HTML中使用a标签实现文本内链接—零基础自学网页制作
  3. amd服务器虚拟化,着眼未来 AMD皓龙产品从“芯”实现虚拟化
  4. isp邮件服务器是什么,与ISP企业邮箱共建邮件服务器
  5. 又见猛犸象:基因剪刀重新定制生命
  6. mo java_mojava和 high sierra系统区别?
  7. 一个值得推荐的脑图制作神器!
  8. 100以内的质数(基础算法)
  9. 常用求导公式 高阶导公式 莱布尼兹公式
  10. No provider available from registry