本文实例为大家分享了java实现通过绑定邮箱找回密码功能,供大家参考,具体内容如下
1。输入用户名及验证码,验证用户名是否存在
(1)。生成验证码工具类
包com.utils; 进口java.awt.Color; 进口属性; 进口java.awt.Graphics; 进口java.awt.image.BufferedImage; 进口java.util.HashMap; 进口java.util.Map; 进口java.util.Random;/* * * @Title: GraphicsUtil.java * @copyright * @Package com.utils * @Description:待办事项(这里用一句话描述这个类的作用) * @author陈先生 * @date 2016-11-2下午03:31:30 */公开课GraphicsUtil { 私人字体mFont=新字体(“Times new Roman字体。平原,17); 颜色getRandColor(公元前int fc, int) { 随机随机=new随机(); 如果(fc> 255) fc=255; 如果(bc>公元前255)=255; int r=fc + random.nextInt (bc-fc); int g=fc + random.nextInt (bc-fc); int b=fc + random.nextInt (bc-fc); 返回新颜色(r, g, b); } 公共Map<字符串,Object>getGraphics () { int宽度=100,高度=18; BufferedImage图像=new BufferedImage(宽度、高度,BufferedImage.TYPE_INT_BGR); 图g=image.getGraphics (); 随机随机=new随机(); g.setColor (getRandColor (200250)); g。fillRect(1, 1,宽度,高度1); g。改变颜色(新颜色(102102102)); g。绘制矩形(0,0,宽度,高度1); g.setFont (mFont); g.setColor (getRandColor (160200));//画随机线 for (int i=0; i<155;我+ +){ int x=随机的。nextInt(宽度- 1); int y=随机的。nextInt(高度- 1); int xl=random.nextInt (6) + 1; int yl=random.nextInt (12) + 1; g。画直线(x + xl x, y, y +黄); }//从另一方向画随机线 for (int i=0;我& lt;我+ +){70; int x=随机的。nextInt(宽度- 1); int y=随机的。nextInt(高度- 1); int xl=random.nextInt (12) + 1; int yl=random.nextInt (6) + 1; g。画直线(x - xl x, y, y - yl); }//生成随机数,并将随机数字转换为字母 字符串将sRand=" "; (int i=0; i<6;我+ +){ int itmp=random.nextInt (26) + 65; char ctmp=(char) itmp; 将sRand +=String.valueOf (ctmp); g。改变颜色(新颜色(20 + random.nextInt (110), 20 + random.nextInt (110), 20 + random.nextInt (110))); g.drawString (String.valueOf (ctmp), 15 *我+ 10,16); } g.dispose (); Object> Map<字符串;地图=new HashMap<字符串,Object> (); 地图。把(“兰德”,将sRand); 地图。把(“形象”,形象); 返回地图; } } >之前(2)。生成验证码行动
/* * * @Description:获取验证码 * @author陈先生 * @date 2016-11-2下午03:45:28 */公共空间getCode () { 尝试{ HttpServletResponse响应=ServletActionContext.getResponse (); HttpServletRequest请求=ServletActionContext.getRequest (); response.setHeader(“杂注”,“no - cache”); response.setHeader (“cache - control”、“no - cache”); 响应。setDateHeader(“到期”,0);//表明生成的响应是图片 response.setContentType(“图像/jpeg”); Object> Map<字符串;.getGraphics地图=new GraphicsUtil () (); System.out.println (map.get(“兰德”)); request.getSession ()。setAttribute(“兰德”,map.get(“兰德”)); ImageIO.write ((RenderedImage) map.get(“图像”)、“JPEG response.getOutputStream ()); }捕捉(IOException e) { e.printStackTrace (); } } (3)。验证用户名是否存在/* * * @Description:检查用户名是否存在 * @author陈先生 * @date 2016-11-2下午04:49:02 */公共空间checkUsernumber () { 尝试{ HttpServletResponse响应=ServletActionContext.getResponse (); HttpServletRequest请求=ServletActionContext.getRequest (); 字符串usernumber=request.getParameter (“usernumber”); Studentinfo stu=studentinfoService.getStudentinfoByUsernumber (usernumber); response.setContentType(“文本/平原;charset=utf - 8”); response.setCharacterEncoding(“utf - 8”); 如果(斯图==null) { response.getWriter () .print (“false”); 其他}{ 如果(! StringUtils.isBlank (stu.getEmail ())) { response.getWriter () .print(“真正的”); 其他}{ response.getWriter () .print (“notEmail”); } } .flush response.getWriter () (); .close response.getWriter () (); }捕捉(IOException e) { e.printStackTrace (); } }java实现通过绑定邮箱找回密码功能