登录  /  注册
首页 > Java > java教程 > 正文

JSP实现随机验证码

零到壹度
发布: 2018-03-24 15:57:07
原创
1701人浏览过

验证码技术是网站开放过程中该保护网站安全的最基本环节,它可以防止非法人员利用注册工具或登录工具来攻击网站(也就是常说的灌水),从而保护网站安全。


话不多说,直接上代码:

package com.wgh.random;

public class RanDom {
	private String checknum="";  //生成的验证码
	private int number=0;       //用户输入的位数
	
    public RanDom(){}
	public void setNumber(int number){
		this.number=number;
	}
	public int getNumber(){
		return this.number;
	}
	public void makeChecknum(){
		String sourcenum="0123456789";		//定义获取随机数的源字符串
		String siglenum="";		//保存获取到的单个随机数
		String checknum="";		//获取到的随机数
		int index=0;	//获取随机数的位置
		int i=0;
		while(i<this.number){
			index=((int)(Math.random()*100))%(sourcenum.length()-1);	//随机生成获取随机数的位置
			siglenum=sourcenum.substring(index,index+1);	//获取单个随机数
			checknum+=siglenum;	//连接获取到的随机数
			i++;
		}
		this.checknum=checknum;
	}
	public String getChecknum(){
		return this.checknum;
	}
}
登录后复制

dorandomnum.jsp:

<%@ page contentType="text/html;charset=utf-8"%>
<jsp:useBean id="myrandom" class="com.wgh.random.RanDom"/>
<%
  String strnum=request.getParameter("number");
  if(strnum==null)
	  strnum="0";
  int num=0;
  try{
	  num=Integer.parseInt(strnum);
  }catch(Exception e){num=0;}
  myrandom.setNumber(num);
  myrandom.makeChecknum();
%>
<html>
  <head>
    <title>随机产生指定位数的验证码</title>
    <link rel="stylesheet" type="text/css" href="css/style.css">
  </head>
  <body>
   <center>
       <table style="margin-top:200" width="250" border="1" cellpadding="0" cellspacing="0" bordercolor="black" bordercolorlight="black" bordercolordark="white">
         <tr bgcolor="lightgrey" height="30">
            <td align="center">生成的验证码</td>
         </tr>
         <tr height="50">
            <td align="center">
              验证码的位数:<%=myrandom.getNumber() %>
              <br>
              生成的验证码:<%=myrandom.getChecknum()%>
            </td>
         </tr>
       </table>
       <a href="index.jsp">[返回]</a>
   </center>
  </body>
</html>
登录后复制

index.jsp:

<%@ page contentType="text/html;charset=utf-8"%>
<html>
  <head>
    <title>随机产生指定位数的验证码</title>
    <link rel="stylesheet" type="text/css" href="css/style.css">
  </head>  
  <body>
    <center>
      <form action="dorandomnum.jsp">
        <table style="margin-top:200" width="300" border="1" cellpadding="0" cellspacing="0" bordercolor="black" bordercolorlight="black" bordercolordark="white">
          <tr bgcolor="lightgrey" height="25">
            <td align="center">随机产生指定位数的验证码</td>
          </tr>
          <tr height="50">
            <td align="center">
              输入验证码位数:
              <input type="text" name="number">
              <input type="submit" name="logon" value="生成">
            </td>
          </tr>
        </table>
       </form> 
     </center>
  </body>
</html>
登录后复制

相关推荐:

JSP实现生成随机验证码

jsp页面动态生成验证码

Java 使用JSP页面生成随机验证码

以上就是JSP实现随机验证码的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号