博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JSP网站开发基础总结《十三》
阅读量:6693 次
发布时间:2019-06-25

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

  继上一篇为大家补充过滤器类后,本篇为大家简单介绍一下如何实现验证码效果。验证码的作用是什么呢?1、防止恶意注册2、防止恶意提交3、防止盗取账户等等,总的来说验证码的存在就是为了,防止非人为的操作,不过需要指出的是验证码是一种影响用户体验的功能,所以一些网站通过设置参数,当用户第一次操作失败后,才会提示用户输入验证码,这可以说是验证码的一种提高。不说这没有用的了,下面我们开始实现我们的验证码效果。

 1、实现效果图:

  

 2、index.jsp:

  在这个界面设计时添加了一些JavaScript的操作,如有疑问,可以留言。

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>              验证码    

验证码

验证码
看不清

 3、生成验证码select:

public void doPost(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        BufferedImage bi = new BufferedImage(68, 22, BufferedImage.TYPE_INT_RGB);        Graphics g = bi.getGraphics();        Color color = new Color(200, 130, 255);        g.setColor(color);        g.fillRect(0, 0, 68, 22);                char [] ch = "QWERTYUIOPASDFGHJKLZXCVBNM1234567890zxcvbnmlkjhgfdsaqwertyuiop".toCharArray();        Random r = new Random();        StringBuffer buf = new StringBuffer();        int len = 0;        for(int i=0; i<4; i++){            len = r.nextInt(ch.length);            g.setColor(new Color(r.nextInt(150), r.nextInt(255), r.nextInt(200)));            g.drawString(ch[len]+"", (i*15)+3, 18);            buf.append(ch[len]);        }        String code = buf.toString();        request.getSession().setAttribute("code", code);        ImageIO.write(bi, "JPG", response.getOutputStream());    }

 4、验证selelct:

public void doPost(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        request.setCharacterEncoding("utf-8");        response.setCharacterEncoding("utf-8");                response.setContentType("text/html");        PrintWriter out = response.getWriter();                String code = request.getParameter("code");        String imgCode = (String) request.getSession().getAttribute("code");        if(imgCode.equalsIgnoreCase(code)){            out.println("登录成功");        }else{            out.println("登录失败");        }            }

  到这里我们的验证码效果就实现了,对于生成汉字验证码、数学算式表达式的验证码效果大家就自行研究吧,思想已经为大家介绍完毕,对于JSP的总结,目前就差关于文件的上传和下载了,估计会在随后的日子里为大家分享,当然如果你能实现,还望多多指点。

转载地址:http://hvcoo.baihongyu.com/

你可能感兴趣的文章
IOS--UISwitch的使用方法
查看>>
Spiral Matrix
查看>>
wikioi 1080 线段树练习 树状数组
查看>>
ArcGIS查找空洞多边形
查看>>
[翻译] JTNumberScrollAnimatedView
查看>>
2015年开局
查看>>
开源框架完美组合之Spring.NET + NHibernate + ASP.NET MVC + jQuery + easyUI 中英文双语言小型企业网站Demo(转)...
查看>>
还没被玩坏的robobrowser(8)——robobrowser的实现原理
查看>>
怎么学习逆向工程?
查看>>
D3DXMatrixMultiply 函数
查看>>
[翻译] ZLSwipeableView
查看>>
PHP操作MongoDB 数据库
查看>>
Quartz.Net的使用(简单配置方法)定时任务框架
查看>>
xss编码小结
查看>>
linux grep命令详解
查看>>
胡思乱想 & 胡言乱语
查看>>
Android 2.3.5源码 更新至android 4.4,能够下载,度娘网盘
查看>>
[ASM C/C++] C语言函数的可选性自变量
查看>>
ubuntu更新源
查看>>
sprintf,你知道多少?
查看>>