SSH项目实战
文章平均质量分 69
SSH项目实战
李阿昀
昀,三尺微命,一介书生。只当穷且益坚,不坠青云之志!
展开
-
这里是一个简单的CRM客户关系管理系统的开发教程,你值得拥有哟!
为了方便读者阅读以及自己回顾,我总结了一个简易CRM客户关系管理系统的系列开发教程,大家一起来学习吧!搭建开发环境CRM客户关系管理系统开发第一讲——搭建开发环境...原创 2019-10-27 11:29:02 · 8861 阅读 · 1 评论 -
CRM客户关系管理系统开发第二十一讲——CRM客户关系管理系统的权限拦截器
现在CRM客户关系管理系统的大部分功能都已经实现了,但是如果有人知道后台的地址,直接可以不用登录就可以进行相关的操作。那这样是不合理的,所以我们需要进行登录的权限的校验。因为我们写的链接都提交到了Action中,所以可以编写拦截器实现该功能。编写登录权限拦截器在com.meimeixia.web.interceptor包下新建一个登录权限拦截器。package com.meimeixia.c...原创 2019-10-27 11:15:36 · 919 阅读 · 0 评论 -
CRM客户关系管理系统开发第二十讲——你应该知道的统计分析管理模块的实现思路
统计分析管理模块虽不在此CRM项目的实现过程当中,但你应该至少知道统计分析管理模块的实现思路。正如下图所示,统计分析有按客户行业来进行统计,也有按客户来源来进行统计。按客户行业来进行统计其实就是统计每一个客户行业下有多少客户,同理,按客户来源来进行统计其实就是统计每一类客户来源下有多少客户。一旦,我们统计出来后,就可以使用JFreeChart这门技术来将其统计结果给弄成什么饼状图、树状图以及折...原创 2019-10-27 10:57:11 · 839 阅读 · 0 评论 -
CRM客户关系管理系统开发第十九讲——实现客户拜访记录管理模块中条件查询客户拜访记录列表的功能
在客户拜访记录列表页面上准备一些筛选条件首先,咱得在客户拜访记录列表页面上准备一些筛选条件,不妨我们按照拜访时间来进行筛选。之前咱在实现联系人管理模块中条件查询联系人列表的功能时,文本输入框使用的是Struts2框架里面的标签,这是因为如果我们是要带条件查询联系人列表的话,那么一定得在文本输入框中回显条件。所以,这里不妨我们一开始将筛选条件写成下面这样。当然了,我们同样需要在客户拜访记录列表...原创 2019-10-27 09:56:06 · 1254 阅读 · 0 评论 -
Activiti工作流框架学习笔记(一)
工作流的概念先看下面两张图: 对以上两张图进行说明:假设这两张图就是华谊兄弟的请假流程图图的组成部分: 人物:范冰冰、冯小刚、王中军事件(动作):请假、批准、不批准通过以上分析我们就可以抽象成: 接下来给出工作流的书面化概念: 工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、原创 2017-05-07 00:52:58 · 59078 阅读 · 29 评论 -
4.5版本eclipse安装activiti插件
首先查看一下eclipse的版本,例如本人的eclipse的版本为: 由此可知我是在4.5版本的eclipse上安装activiti插件的。下面我按照如下步骤一步一步地在4.5版本的eclipse上安装activiti插件: 【第一步】,解压如下压缩文件: 解压缩之后的目录结构为: 【第二步】,将以上jar包复制到eclipse安装目录下的plugins目录中,如下所示:原创 2017-05-05 23:19:04 · 6433 阅读 · 1 评论 -
CRM客户关系管理系统开发第一讲——搭建开发环境
这个小项目是我们学习完Spring,Hibernate,Struts2这三个框架后,为了加深对它们的理解所做的SSH项目,为CRM客户关系管理系统。CRM客户关系管理系统的概述什么是CRM客户关系管理系统?百度百科上对CRM客户关系管理系统的解释如下:CRM客户关系管理系统包含的功能模块CRM客户关系管理系统实现了对企业销售、营销、服务等各阶段的客户信息、客户活动进行统一管理。该系统功...原创 2019-09-29 09:07:39 · 9478 阅读 · 1 评论 -
CRM客户关系管理系统开发第二讲——实现用户的注册和登录功能
实现用户注册功能创建用户表首先创建一个数据库(例如crm),并在该数据库下新建一张用户表,笔者这里使用的数据库是MySQL。create database crm;use crm;CREATE TABLE `sys_user` ( `user_id` bigint(32) NOT NULL AUTO_INCREMENT COMMENT '用户id', `user_code` var...原创 2019-09-29 10:57:12 · 6398 阅读 · 5 评论 -
CRM客户关系管理系统开发第三讲——将CRM项目部署到SVN服务器上
首先,打开SVN服务器的图形化开发工具(VisualSVN Server),然后创建一个新的名称为crm的仓库,仓库创建好之后,就在仓库中创建一个名称为crm_ssh的工程目录,它专门用于存放开发项目代码、文档等。接着创建一个用户(例如用户名为lay,密码为123)和一个名称为developer的开发组,并将lay用户添加到开发组中。紧接着,给crm这个仓库去分配权限,这里我会为开发组设置...原创 2019-09-29 16:09:40 · 840 阅读 · 0 评论 -
CRM客户关系管理系统开发第四讲——实现客户管理模块中保存客户的功能
准备工作在正式编写代码实现客户管理模块中保存客户的功能之前,我们得做一些准备工作,因为这个功能实现起来还是比较难的,不能一蹴而就。创建客户表在crm数据库下新建一张客户表,其建表的sql语句如下:CREATE TABLE `cst_customer` ( `cust_id` bigint(32) NOT NULL AUTO_INCREMENT COMMENT '客户编号(主键)', `...原创 2019-09-29 17:40:59 · 1985 阅读 · 0 评论 -
CRM客户关系管理系统开发第五讲——实现客户管理模块中分页查询客户列表的功能
在左侧的菜单页面(menu.jsp)中修改提交路径编写web层一般而言,我们在实现分页查询XXX列表的功能时,都会创建一个封装分页数据的实体类。这里,我们也不例外,在com.meimeixia.crm.domain包下创建一个这样子的实体类。package com.meimeixia.crm.domain;import java.util.List;public class Pag...原创 2019-10-01 10:02:33 · 1163 阅读 · 0 评论 -
CRM客户关系管理系统开发第六讲——实现上传客户资质图片的功能
回顾文件上传什么是文件上传?将本地文件通过流的形式写到服务器上。文件上传的技术有哪些?文件上传的技术一共有如下几种:jspSmartUpload,百度百科对其的介绍如下:这种技术压根就不会用,反正我是听都没听说过的,就当它死了!FileUpload,百度百科对其的介绍如下:这玩意我听说过,不过在实际的项目开发中,也是基本不会用它。Servlet3.0规范,它是Servlet...原创 2019-10-02 12:06:55 · 1042 阅读 · 0 评论 -
CRM客户关系管理系统开发第七讲——实现客户管理模块中删除客户的功能
修改客户列表页面上的链接地址编写web层在CustomerAction类中编写一个删除客户的方法。删除客户时,我们一定得先查询再删除,为什么啊?因为到时候咱可以做级联删除,即在删除客户的时候,顺便把这个客户下面的联系人也删掉,如果你不先查询再删除,那么你只能删客户,这个客户下面的联系人是删不掉的。还有一点需要考虑,就是我们在删除客户的时候,如果这个客户有客户资质图片,那么这图片需不需要删除掉...原创 2019-10-02 18:01:17 · 1528 阅读 · 0 评论 -
CRM客户关系管理系统开发第八讲——实现客户管理模块中修改客户的功能
修改客户列表页面上的链接地址编写web层首先,我们要在CustomerAction类中编写一个编辑客户的方法。在该方法中,根据客户ID查询出来客户对象后,需要跳转到客户编辑页面,回显客户对象中携带的数据。问题的关键点是怎么把Customer对象(数据)带到客户编辑页面上呢?将Customer对象传递到客户编辑页面一共有两种方式,下面会分别介绍它们。第一种方式:手动压栈...原创 2019-10-02 19:56:39 · 1107 阅读 · 0 评论 -
CRM客户关系管理系统开发第九讲——实现客户管理模块中条件查询客户列表的功能
在客户列表页面上准备一些筛选条件异步加载数据字典表中的数据在筛选条件中,包含有客户信息来源、客户所属行业以及客户级别等,那这三个下拉列表中的数据从何而来呢?我们可以异步去查询数据字典表中的数据,就是在加载客户列表页面时,就异步去查询数据字典表中的数据,然后给它加载到客户信息来源、客户所属行业以及客户级别等下拉列表上。温馨提示:在CRM客户关系管理系统开发的第四讲中,我就已经讲过这个玩意了...原创 2019-10-02 22:34:54 · 1114 阅读 · 0 评论 -
CRM客户关系管理系统开发第十讲——实现联系人管理模块中分页查询联系人列表的功能
准备工作在正式编写代码实现联系人管理模块中分页查询联系人列表的功能之前,我们得做一些准备工作,因为这个功能实现起来还是比较难的,不能一蹴而就。创建联系人表在crm数据库下新建一张联系人表,其建表的sql语句如下:CREATE TABLE `cst_linkman` ( `lkm_id` bigint(32) NOT NULL AUTO_INCREMENT COMMENT '联系人编号(主...原创 2019-10-03 11:33:01 · 1090 阅读 · 0 评论 -
CRM客户关系管理系统开发第十一讲——实现联系人管理模块中保存联系人的功能
跳转到联系人添加页面发布我们的项目到Tomcat服务器并启动,然后访问该项目的首页,点击新增联系人超链接之后要能跳转到联系人添加页面。而且,在跳转到联系人添加页面之后,所属客户下拉列表中的数据要能立马加载出来。那么问题来了,所属客户下拉列表中的数据从何而来呢?传统的方式是在Action的方法里面编写代码,从客户中查询到那些需要的数据,然后在联系人添加页面上用下拉列表给展示出来,注意这是同步查...原创 2019-10-03 18:26:52 · 593 阅读 · 0 评论 -
CRM客户关系管理系统开发第十二讲——实现联系人管理模块中删除联系人的功能
修改联系人列表页面上的链接地址编写web层首先,我们要在LinkManAction类中编写一个删除联系人的方法。删除联系人时,我们一定得先查询再删除。然后,我们还得在Struts2配置文件中(即struts.xml)对LinkManAction进行如下的配置,即删除联系人成功后,直接重定向到联系人列表展示页面中。编写service层首先,在LinkManService接口中添加一个...原创 2019-10-04 18:32:50 · 653 阅读 · 0 评论 -
CRM客户关系管理系统开发第十三讲——实现联系人管理模块中修改联系人的功能
修改联系人列表页面上的链接地址编写LinkManAction的edit方法首先,我们要在LinkManAction类中编写一个跳转到联系人编辑页面的方法。原创 2019-10-03 19:30:36 · 853 阅读 · 0 评论 -
CRM客户关系管理系统开发第十四讲——实现联系人管理模块中条件查询联系人列表的功能
在联系人列表页面上准备一些筛选条件从上图可以看出,文本输入框和下拉列表都使用了Struts2框架里面的标签,这是因为如果我们是要带条件查询联系人列表的话,那么一定得在文本输入框和下拉列表中回显条件,否则,如果我们输入一些条件进行筛选,例如查询性别为男的联系人,那么就会出现一个严重的bug,那就是当我们点击筛选按钮进行筛选时,条件没有带过来,相应地就会导致查看第二页的联系人列表时,发现竟查询出来...原创 2019-10-05 10:34:32 · 481 阅读 · 0 评论 -
CRM客户关系管理系统开发第十五讲——客户和联系人之间的两个问题
到现在为止,客户管理模块和联系人管理模块我们都已经开发好了,接下来,是不是可以继续开发其他模块了?不可以,因为客户管理模块中还有一些尚待解决的bug,这些bug隐藏的很深,稍微不注意,就很容易让人忽略掉。级联删除的问题问题描述发布我们的项目到Tomcat服务器并启动,然后访问该项目的首页,点击客户列表超链接之后就能看到客户列表了,而且从下图中,我们可以看到一个名称为赵叶333333的客户。...原创 2019-10-06 17:12:55 · 735 阅读 · 1 评论 -
CRM客户关系管理系统开发第十六讲——CRM项目的通用DAO的抽取
目前我们已经完成了CRM客户管理系统中的客户和联系人两个模块的内容了,其实我们会发现其中有很多的代码是重复的。尤其是DAO中的代码,因为DAO中都是些基本的CRUD的操作,但是可能只有其中个别的方法不同,基本的CRUD的方法的写法都是一样的,只是传入的对象不一样。举个例子,我们要完成保存客户和保存联系人,使用的方法其实都是save方法,只是一个传入的是Customer对象,而另一个则传入的是Lin...原创 2019-10-06 18:26:17 · 537 阅读 · 0 评论 -
CRM客户关系管理系统开发第十七讲——实现客户拜访记录管理模块中分页查询客户拜访记录列表的功能
在CRM客户关系管理系统中,客户的拜访是很重要的一个环节,由业务员面见客户并介绍公司的相关的业务,在业务员回到公司以后,需要对此次的拜访的整个过程记录下来,记录中需要包含拜访的客户的姓名,拜访的时间以及拜访的地点等信息。...原创 2019-10-07 15:09:54 · 2773 阅读 · 0 评论 -
CRM客户关系管理系统开发第十八讲——实现客户拜访记录管理模块中保存客户拜访记录的功能
要想实现客户拜访记录管理模块中的保存客户拜访记录的功能,首要前提就是点击新增客户拜访超链接之后要能跳转到客户拜访记录添加页面。前面我们都做完两个模块了,做到这一点还不是依葫芦画瓢、分分钟的事!原创 2019-10-07 22:15:35 · 2761 阅读 · 0 评论