- 注册功能的实现(重点)
- 发短信和发邮件的技术(了解,会用)
- Redis及springDataRedis的使用(会用)
-
ActiveMQ(重点)
- 客户注册手机号校验发送HTTP请求(能实现)
1、手机号校验
2、发送http请求
- 客户注册服务器发送短信验证码实现(能实现)
编写CustomerAction,获取手机号,发送短信
1、web.xml检查struts2 Filter是否配置
2、pom.xml引入crm_domain支持
3、Action代码实现
三、客户注册功能短信验证码校验(能实现)1、校验短信验证码提交用户注册信息
2、编写CustomerAction 提供regist方法
3、bug修复将<button>改为<a>
四、CRM系统提供WebService客户注册功能实现(重要)编写CRM的WebService接口,实现客户信息保存操作
1、在CustomerService接口中
2、实现
访问路径:http://localhost:9002/crm_management/services/customerService/customer
修改bos_fore前端系统CustomerAction
五、javamail发送邮件功能实现(能实现)
1、思路
1)用户注册时,输入邮件
2)Javamail技术,向用户邮箱发送一封激活邮件,含有激活码
3)用户在24小时内,可以点击激活邮件链接,绑定邮箱
4)邮箱的激活码为用户保存24小时,如何做到? Redis实现
2、具体实现
1)配置pom.xml添加javamail的坐标,添加common_parent
2)在MainUtils工具类里配置发送邮件相关参数
3)编辑邮件发送正文
4)配置网易,客户端授权开启
- redis下载安装使用(会用)
1、官网:https://redis.io/download
2、应用场景
发送绑定邮件后,用户会在24小时内,完成邮件绑定,这时需要保存邮件中激活码24小时,会使用Redis,Redis内存数据库(key-value存储结构)
3、安装包及解压目录
使用对应操作系统文件夹下命令启动redis
redis-server.exe 服务启动程序
redis-cli.exe 客户端命令行工具
redis.conf 服务配置文件
通过redis-server.exe启动服务,默认端口6379
通过redis-cli.exe启动客户端工具
- jedis操作redis和图形工具安装使用(会用)
- 网址:https://github.com/xetorthio/jedis
- pom依赖及用法
- 安装工具
4、添加连接
5、查询key和value
TTL是redis的key有效时间,显示-,没有设置key的有效期
6、设置key有效周期
八、springDataRedis使用入门(会用)1、官网:http://projects.spring.io/spring-data-redis/
2、pom引入
3、配置applicationContext.xml配置redisTemplate
4、测试代码
九、客户注册发送绑定邮件激活码存入redis(能实现)1、思路
在CustomerAction提供发送邮件代码,邮件中生成激活码,激活码保存在redis中
2、代码实现
1)注入RedisTemplate
2)先生成激活码,把激活码保存在redis中,用工具类MainUtils发送邮件,邮件内容里带着激活码
十、客户注册邮箱绑定激活功能实现(能实现,会说)1、思路
1)CustomerAction提供activeMail方法,接收客户手机号码和激活码
2)先判断激活码是否有效,如果激活码无效,提示用户
3)如果激活码有效,判断是否再重复绑定,T_CUSTOMER表type字段为1,绑定
4)如果用户没有绑定过邮箱,完成绑定
2、具体实现
1)激活邮件请求,请求方法为customer_activeMail,带了两个参数:telephone(手机号码)和activecode(激活码)
http://localhost:9003/bos_fore/customer_activeMail?telephone=15072868610&activecode=88335585084334946499244158126653
2)在CustomerAction提供activeMail方法
注意理解:如果从redis取出来的激活码为null或者与接收到激活码不同,则说明激活码无效;如果激活码有效,先判断邮箱是否有绑定过,绑定过则无需重新绑定,没绑定则绑定
3)编写CRM提供WebService方法
4)实现
5)DAO实现
十一、ActiveMQ消息队列原理场景分析(理解,会说)
-
为什么使用消息队列技术 JMS java message sever
- 解决服务之间耦合
2)使用消息队列,增加系统并发处理量
-
ActiveMQ 应用场景分析
1)用户注册,重点用户信息数据库保存,发短信、发邮件,增加业务处理复杂度,这时候用MQ,将发短信、发邮箱,通知MQ,由另外服务平台完成
2)搜索平台、缓存平台
查询数据,建立缓存、索引,不从数据库查询,从缓存或者索引库查询
当增加、修改,删除数据时,发送消息给MQ,缓存平台、索引平台从MQ获取到这个消息,更新缓存或者索引
十二、ActiveMQ消息队列安装使用(会用,会说)- 官网:http://activemq.apache.org/ JMS(java message service)
- 安装成功访问地址:http://localhost:8161用户名和密码都是admin
-
ActiveMQ使用的是标准生产者和消费者模型,有两种数据结构Queue、Topic
1)Queue队列,生产者生产了一个消息,只能由一个消费者进行消费
2)Topic话题,生产者生产了一个消息,可以由多个消费者进行消费
bug:如果ActiveMQ安装后启不来,提示jdk版本问题可将path中的java_home提到最上面
(RabbitMQ)流行的另一个消息服务器
Number Of Consumers 消费者 这个是消费者端的消费者数量
Number Of Pending Messages 等待消费的消息 这个是当前未出队列的数量。可以理解为总接收数-总出队列数
Messages Enqueued 进入队列的消息进入队列的总数量,包括出队列的。这个数量只增不减
Messages Dequeued 出了队列的消息可以理解为是消费这消费掉的数量
十三、ActiveMQ入门案例生产者代码实现(能实现)1、导入activemq-all-5.14.0.jar
使用maven坐标导入
2、编写MQ消息生产者
1)默认tcp连接activeMQ端口61616
2)查看控制台
十四、ActiveMQ入门案例消费者代码实现(能实现)1、使用MessageConsumer完成消费
查看控制台,发现已经消费
2、使用监听器,监听消息的内容,进行消费