博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
手机验证码执行流程
阅读量:5213 次
发布时间:2019-06-14

本文共 2772 字,大约阅读时间需要 9 分钟。

验证码流程

1、单击“获取短信验证”按钮,将会对手机号进行非“空”判断。

  a) 如果为空,给出提示:请输入手机号。

  b) 如果不为空,判断手机号是否符合规则,不符合给出“手机号不符合规则”提示

  c) 当手机号不为空并且符合规则,就进行第二步

2、弹出验证码输入框。

  a) 页面随机生成4位验证码(包括数字与字母)并且将手机号存放在cookie里面

  b) 用户输入验证码,并且单击“确定”按钮,将会对验证码进行非“空”与匹配判断

  c) 如果验证码为空或不匹配,则按钮不对其反应。

  d) 如果不为空且验证码匹配,则向后台发送请求(带有手机号参数),请求“发送短 信”

  e) 用户收到短信验证码。并且输入验证码,点击完成注册。后台将会对手机号,验证 码进行判断。当验证码与手机号不匹配,会给出提示。当两个匹配时,将注册成功。

 

jsp页面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%	String path = request.getContextPath();	String basePath = request.getScheme() + "://"			+ request.getServerName() + ":" + request.getServerPort()			+ path + "/";%>					My JSP 'index.jsp' starting page		
手机号:
手机验证码:

验证码:

 yanzheng1.jsp用于画图

<%@ page contentType="application/jpg;charset=gbk" %><%@ page  import="java.awt.*" %><%@ page  import="java.awt.image.*" %>
<% BufferedImage img=new BufferedImage(60,26,BufferedImage.TYPE_USHORT_555_RGB); Graphics g=img.createGraphics(); g.setColor(Color.decode("#f0f0f0")); g.fillRect(0,0,60,26); String a=request.getParameter("yy"); session.setAttribute("yy",a); g.setFont(new Font("黑体",Font.BOLD,20)); g.setColor(Color.decode("#3a8cd5")); g.drawString(a,5,20); for(int i=0;i<3;i++){ int j=(int)(Math.random()*256); int k=(int)(Math.random()*256); int l=(int)(Math.random()*256); int x1=(int)(Math.random()*61); int y1=(int)(Math.random()*31); int x2=(int)(Math.random()*61); int y2=(int)(Math.random()*31); Color m=new Color(j,k,l); g.setColor(m); g.drawLine(x1,y1,x2,y2); } ImageIO.write(img,"jpg",response.getOutputStream()); out.clear(); out = pageContext.pushBody();%>

 servlet简单的测试代码

package com.yanzheng;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class SendPhoneCode extends HttpServlet {	public void doGet(HttpServletRequest request, HttpServletResponse response)			throws ServletException, IOException {		doPost(request, response);	}	public void doPost(HttpServletRequest request, HttpServletResponse response)			throws ServletException, IOException {		String method = request.getParameter("method");		if(method.equals("sendMS")){			sendMS(request, response);		}		if(method.equals("register")){			register(request, response);		}	}		public void register(HttpServletRequest request, HttpServletResponse response)			throws ServletException, IOException {		response.setCharacterEncoding("UTF-8");		String phoneNum = request.getParameter("phoneNumber");		Cookie[] cookies = request.getCookies();		String testPhoneNum="";		for(int i=0;i

 

转载于:https://www.cnblogs.com/wcyBlog/p/4692800.html

你可能感兴趣的文章
【洛谷 P1666】 前缀单词 (Trie)
查看>>
对称加密和非对称加密
查看>>
数据库锁机制及乐观锁,悲观锁的并发控制
查看>>
图像处理中双线性插值
查看>>
RobHess的SIFT代码解析之RANSAC
查看>>
03 线程池
查看>>
201771010125王瑜《面向对象程序设计(Java)》第十三周学习总结
查看>>
java中内部类的讲解
查看>>
手机验证码执行流程
查看>>
python 基础 ----- 变量
查看>>
设计模式课程 设计模式精讲 2-2 UML类图讲解
查看>>
为块级元素添加链接
查看>>
Silverlight 的菜单控件。(不是 Toolkit的)
查看>>
:hover 鼠标同时触发两个元素变化
查看>>
go语言学习十三 - 相等性
查看>>
Idea 提交代码到码云(提交到github也大同小异)
查看>>
c#连接excel2007未安装ISAM解决
查看>>
Mono 异步加载数据更新主线程
查看>>
初识lua
查看>>
我是插件狂人,jDuang,jValidator,jModal,jGallery
查看>>