一、实现 个人中心的注册功能 ,主要分为4步
1. 先创建一个servlet类,获取前端的值(web层)
2. 建一个UserService类,把数据传到service层的架构
3.(service层就是专门来处理业务的逻辑的)
a。在service层,先判断用户是否存在,如果存在就不能注册
如何判断是否存在呢
1].需要用到dao层,(来和数据库里面的信息进行比对)先创建一个UserDao的类
2]. 在UserDao类中写一个checkUser方法,来和数据库进行比对
3]. 如果数据库中没有这个用户,就可以注册(回到service层)
b。如果用户不存在,就把用户注册信息存储到数据库中(即调用dao层去实现注册方法)
那么具体是怎么注册的呢?
1]. 在userDao(层)中写一个register方法,先拿到c3p0连接池的数据源
2]. 然后配合QuaryRunner对象,去调用对象的增删改查方法
3]. 写SQL语句 是取数据还是修改数据的语句
4]. 对返回的数据进行判断
c。在service层去调用UserDao(层)的方法,并且返回register的boolan值类型给servlet
4. 在servlet中 去调用service层,判断再给浏览器做回复,是注册失败还是成功,(成功就重定向到登录界面)
短信验证:用户发送验证码,发送到第三方平台(如:移动,联通,电信),第三方专业人员发送验证码到用户手机上,确认是否本人亲自登录,注册
二、登录功能:包括用户名和密码的校验
登录功能:前端方面,jsp页面上有两个输入栏,一栏输入手机号,一栏输入验证码,输入验证码邮编是点击发送验证码,点击之后开始60s倒计时。且用js写好对手机号规则验证的正则表达式。js还有两个核心方法,一个是点击发送验证码时调用后端controller中的messageSend方法,一个是点击提交时调用后端controller中的checkVcode方法。
后端方面,购买一个发短信的第三方平台接口,调用其接口即可对相应手机号进行短信发送。查看相关接口文档,得到可以使用来发短信的id,用户名和密码。用户输入的电话可通过前端jsp的form表单提交至后端,后端控制器使用request.getParameter得到这个字段,再将以文档规范调用短信发送接口,即可实现短信发送功能。核心代码如下:
1.判断用户名和密码是否正确
2.校验密码:用正则表达式
3.生成token,操作redis将token缓存
实名认证具体怎么操作:后台专业人员的认证
四、会员管理
主要实现 忘记密码(找回密码)功能
【登录】 --> 【点击忘记密码】 --> 【输入个人邮箱和验证码】 --> 【系统发送邮箱验证】 --> 【用户在限定时间内登录邮箱,点击链接,进入重置密码页面】 --> 【重置密码完毕,点击进入登录界面】
分为5步
1.登录,点击忘记密码 ,跳转到找回密码页面,在 找回密码页面 录入 姓名、邮箱和验证码,录入后点击【提交】按钮,此时发送一封邮件,邮件中带有加密后的链接。
2.点开 邮件中链接,解密并判断 链接是否有效,验证通过后 到 修改密码页面。
3.在修改页面中 录入新密码,点击【修改按钮】修改密码,操作完成。
4. 提交以后,
首先校验 新密码和 确认新密码是否一致,
根据当前用户登陆ID,查询用户信息密码,如果查询密码跟当前输入的旧密码匹配,通过MD5方式进行加密后,再和数据库密码进行对比,再进行修改,否则提示密码不匹配。
(MD5方式是不可逆的,不能解密,但是我可以通过把前端传过来的文件代码进行还原,从而达到解密的效果)
5.修改成功后,跳转到登陆页面。
注意:
在邮件客户端收发邮件时,邮件收发使用不同的协议:发件协议一般使用SMTP协议,其端口号为25,收件采用POP3协议,其端口号为110;
在使用浏览器登录邮箱时直接使用HTTP协议,其端口号默认为80,当然邮件服务器之间还是使用邮件发送协议SMTP协议。
五、充值提现:
实现思路:客户端 发起提款申请,发送到我们服务器上,服务器 接收到 提款申请后、调用支付宝“单笔转账到支付宝账号”接口,将 目标支付宝账号、对应姓名、提款金额作为参数,调用转账方法。
alipay.fund.trans.toaccount.transfer 免费 单笔转账到支付宝账户接口 支付宝提现
alipay.fund.trans.order.query 免费 查询转账订单接口 提现结果查询