JSP实现页面验证功能随机生成图片

JSP+Servlet实现图片验证码 我们在登录或者注册的过程中,常常会发现有验证码的存在,今天我们自己动手来实现一个图片验证码。 首先,我们的验证码图片是在JSP页面中展示的,所以先从JSP页面着手。直接上代码。 login.jsp 欢迎登陆 /servlet/LoginServlet" method="get"> /servlet/Functio nServlet" id="i 阅读详情
 

<%@ page contentType="image/jpeg"%>
<%@ page import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*"%>
<%!
//定义产生随机颜色方法
Color getRandColor(int fcolor,int bcolor)
{
  Random objrandom=new Random();//生成一个随机数对象
  if(fcolor<0||fcolor>255)
    {//将前景色控制在0-255的正确颜色值范围内
    fcolor=255;
    }
  if(bcolor<0||bcolor>255)
    {//将背景色控制在0-255的正确颜色值范围内
    bcolor=255;
    }
    //产生随机的rgb色值
  int r=fcolor+objrandom.nextInt(bcolor-fcolor);
  int g=fcolor+objrandom.nextInt(bcolor-fcolor);
  int b=fcolor+objrandom.nextInt(bcolor-fcolor);
  return new Color(r,g,b);
  }
%>

<%
//设置页面不缓存
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires",0);
//在内存中创建图象
int width=60,height=20;
BufferedImage objimage=new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
Graphics G=objimage.getGraphics();//获取图形上下文
Random random= new Random();//生成随机类
G.setColor(getRandColor(200,250));//调用创建随机色方法设置颜色
G.fillRect(0,0,width,height);//填充画出矩形
G.setFont(new Font( "Times New Roman",Font.PLAIN,18));//设置为生成的18号罗马字体(匿名类字体)

//随机产生50条干扰线,使图象中的验证码不容易被其他程序探测到
G.setColor(getRandColor(160,200));//调用创建随机色方法设置干扰线的颜色
for(int i=0;i<50;i++)
{
  int x=random.nextInt(width);//随机产生每条干扰线的起点的横坐标
  int y=random.nextInt(height);//随机产生每条干扰线的起点的纵坐标
  int xl=random.nextInt(width);//随机产生每条干扰线的宽度
  int yl=random.nextInt(height);//随机产生每条干扰线的高度
  G.drawLine(x,y,xl,yl);//画出一条干扰线
  }
 
  //随机产生的4位数的验证码
  String RandNums="";
  for(int i=0;i<4;i++)
  {
    String randNum=String.valueOf(random.nextInt(10));//产生一个随机数
    RandNums+=randNum;//累加得到一个4位数的字符串即验证码
    //将该验证码显示到图像中
   // G.setColor(getRandColor(200,250));//调用创建随机色方法设置验证码的不同颜色
    //调用创建随机产生颜色的方法相同,可能是因为随机种子太接近,所以只好直接产生随机色
    G.setColor(new Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110) ));
    G.drawString(randNum,13*i+6,16);//在图像框的横坐标为13*i+6,纵坐标为16的位置画出一位randNum随机验证码
    }
    session.setAttribute("CheckCode",RandNums);//将验证码作为会话参数传递登录验证的Servlet页面加以验证
    G.dispose();//释放绘图对象
    ImageIO.write(objimage,"JPEG",response.getOutputStream());//输出验证码图像到页面
    %>

【java图片验证码】Java 服务端生成图片验证码及验证 Java 服务端生成图片验证码及验证 简介 验证码是防止有人利用机器人自动批量注册、对特定的注册用户用特定程序暴力破解方 式进行不断的登录、灌水。因为验证码是一个混合了数字或符号的图片,人眼看起来都费劲, 机器识别起来就更困难。 分析 登录表单很可能遭到模拟登录的暴力破解攻击,要么轻易获得特定账户的登录信息,要么给服务器增加了大量的负荷。解决的办法,一般就是在登录前给出一个随机的信息(验证码),非法的非 Web 途径登录者会看不到这个验证码,从而让用户安全登录。为防止攻击者破获验证码,需将验证 阅读详情

相关推荐

生成验证码_JSP源代码

③最后,在登陆页面上把接收用户输入的验证码与生成的验证码相匹配,成功返回TRUE,失败则返回FALSE;// 随机产生88个干扰点,使图象中的认证码不易被其它程序探测到Random random = new Random();您输入的认证码为: 2.code.jsp:生成验证码图片页面。// 随机产生的认证码(4位数字)1.login.jsp:登录页面。// 将认证码存入SESSION。// 将认证码显示到图象中。// 在内存中创建图象。// 获取图形上下文。// 输出图象到页面。

shengyin714959的博客 523

1、生成一个随机的图片验证码

【代码】生成一个随机的图片验证码。

一切皆有可能,无畏将来 244

单细胞转录组数据质控实战:如何用Seurat精准过滤低质量细胞(附完整代码)

本文详细介绍了使用Seurat进行单细胞转录组数据质控的实战方法,包括基因检出数、分子计数和线粒体基因比例等关键指标的解读与可视化技巧。通过动态阈值策略和高级质控技巧(如双细胞检测和红细胞过滤),帮助研究者精准过滤低质量细胞,提升数据分析可靠性。附完整代码示例,适合生物信息学研究人员参考实践。

ii567的博客 825

html中加入jsp验证码,用JSP实现随机生成验证码图片,并验证的例子

包括三个文件:产生验证码图片的文件-image.jsp,使用验证码图片的文件-a.jsp,验证的页面-check.jsp功能:生成有4个随机数字和杂乱背景的图片,数字和背景颜色会改变产生验证码图片的文件-image.jsp-Random random = new Random();if(fc>255) fc=255;if(bc>255) bc=255;int r=fc+random.n...

weixin_39997695的博客 405

树莓派视觉小车实战:OpenCV驱动的智能物体追踪系统

本文详细介绍了如何从零开始构建一个基于树莓派的智能视觉小车,实现物体跟踪功能。通过OpenCV进行图像处理,结合颜色与轮廓识别算法,让小车能够实时锁定并追踪特定目标。内容涵盖硬件搭建、软件环境配置、核心代码解析及运动控制逻辑,为创客和开发者提供了完整的实战指南。

weixin_29047545的博客 145

AI计算,为什么要用GPU?

几年后,2012年,神经网络之父杰弗里·辛顿(Geoffrey Hinton)的两个学生——亚历克斯·克里切夫斯基(Alex Krizhevsky)、伊利亚·苏茨克沃(Ilya Sutskever),利用“深度学习+GPU”的方案,提出了深度神经网络AlexNet,将识别成功率从74%提升到85%,一举赢得Image Net挑战赛的冠军。根据形态,GPU可分为独立GPU(dGPU,discrete/dedicated GPU)和集成GPU(iGPU,integrated GPU),也就是常说的独显、集显。

经营范围: CTA、SRRC、CCC、移动、电信、联通入库 1676

【验证码】登录界面生成随机验证图片

在登录界面生成验证码用于校验登录,如下图所示 生成验证码 生成验证码的类,用的是@WebServlet注解的servlet. 生成的验证码会先放到session中,然后再传到前端显示,用于登录的时候验证。 package com.sed.zuul.base.servlet; import javax.imageio.ImageIO; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet.

qq_37634156的博客 1514

层层剥开Allegro skill--快速抓取并写入Allegro软件【呕血创作,转载注明】

Allegro skill eda pcb

qq_36492361的博客 1258

jsp--- 在jsp页面上显示随机图片

import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.IOException; import java.io.PrintWriter; import java.util.Random...

647

【STM32项目】基于Stm32c8t6-镭射激光打印机的设计(完整工程资料源码)

随着打印技术的快速发展,镭射打印技术也开始得到越来越广泛的应用。这种技术可以被用于在木材、塑料、皮革、织物等各种材料上进行图形打印,并且通常比传统机器更快、更准确和更灵活。

嵌入式技术开发 7203

R语言中5种正态性检验的方法

统计学中的t检验和方差分析等方法的应用条件是样本都来自正态总体或近似正态总体,只有符合这个条件,才能用这些方法来检验各样本所属的总体参数的差异显著性。文本向大家介绍在R语言中检验正态性的几种方法: 1、Kolmogorov-Smirnov检验 K-S检验检验单一样本是否来自某一特定分布。比如检验一组数据是否为正态分布。它的检验方法是以样本数据的累积频数分布与特定理论分布比较,若两者间的差距很小,则推论该样本取自某特定分布族。K-S检验的原假设和备择假设为: H0:样本所来自的总体分布服从

Mrrunsen的博客 2万+

Response浏览器图片验证

用Response做图片验证,每隔3秒更换一次

萧木XIAOMU 210

Android 9.0 SystemUI禁用长按recent键的分屏功能

​ 在9.0的系统产品开发中,系统对于多窗口模式默认会有分屏功能的,但是在某些产品中,需要禁用分屏模式,所以需要在导航栏中 禁用长按recent的分屏模式功能,接下来分析下相关分屏模式的实现 ​

安卓兼职framework和app工程师的博客 451

转贴:Jsp中生成验证码图片

生成有4个随机数字和杂乱背景的图片,数字和背景颜色会改变,服务器端刷新(用history.go(-1)也会变)原型参考ALIBABA  http://china.alibaba.com/member/showimage------------产生验证码图片的文件-----image.jsp-------------------------------------------Color getRan

xiguashu的专栏 810

国科大学习资料--遥感原理集图像处理(尤红建)--2019年期末考试

国科大学习资料–遥感原理集图像处理(尤红建)–2019年期末考试 国科大学习资料–遥感原理集图像处理(尤红建)–2019年期末考试 国科大学习资料–遥感原理集图像处理(尤红建)–2019年期末考试 ================================================================== ================================================================== ==============

无名何许人的博客 1471

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

JSP生成随机证码,并且局部刷新验证码

<br />1.前台jsp<br /><br /><%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><br /><%<br />String path = request.getContextPath();<br />String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"

jing的专栏 2434

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Java_JSP_JSP如何实现验证码功能;

特别说明:如果能帮助到您,请您留下点滴痕迹,让我知道我的存在是有意义的;如果不能帮助到您,请接受我的歉意; 文章简介:

cyb专栏 682

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

JSP实现验证码功能

    生成有4个随机数字和杂乱背景的图片,数字和背景颜色会改变,服务器端刷新(用history.go(-1)也会变)     原型参考ALIBABA http://china.alibaba.com/member/showimage 产生验证码图片的文件image.jspjava.awt.image.*,java.util.*,javax.imageio.*" %>Color getRa

永远的黑山 3060

java web 生成验证码_[JAVAWEB实战篇]---Jsp生成页面验证码的方法

p_w_picpath.jsp------------------------------生成随机验证码图片的Jsp页面java.awt.p_w_picpath.*,java.util.*,javax.p_w_picpathio.*"%>ColorgetRandColor(intfc,intbc){Randomrandom=newRandom();if(fc>255)fc=255;if...

weixin_36463088的博客 230

JSP产生随机验证码

产生验证码图片的文件-----image.jspColor getRandColor(int fc,int bc){//给定范围获得随机颜色        Random random = new Random();        if(fc>255) fc=255;        if(bc>255) bc=255;        int r=fc+random.nextInt(bc-fc);  

火柴天堂的Blog 750

用JSP文件生成网站验证码

<%@ page autoFlush="false" import="java.awt.*,java.awt.image.*,com.sun.image.codec.jpeg.*,java.util.*"%> <%@ page import="org.apache.commons.lang.RandomStringUtils"%> <% RandomSt...

A13760346的博客 134

java数字验证码功能实现

以前实习时候积累的一些功能性代码,志在帮助一些刚入坑的程序员,同时也是给自己做个笔记,如果有好的相关技术或插件,希望提出让博主学习。 编写一个产生验证码的number.jsp文件: import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*;" pageEncoding="utf-8"%> Random rando

Michael_Joy的博客 4102

java web图片验证码

java web图片验证码 原文:http://www.jiajiajia.club/weblog/blog/artical/137 1.验证码的作用: 防止恶意破解密码、刷票、论坛灌水、刷页。 有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登录尝试,实际上使用验证码是现在很多网站通行的方式(比如招商银行的网上个人银行,百度社区),我...

qq_36489998的博客 957

struts2生成随机验证码图片

首先是生成随机验证码图片的action:CreateImageAction:public class CreateImageAction extends ActionSupport { private ByteArrayInputStream inputStream; private static int WIDTH = 60; private static int H

To哥的博客 474

JSP彩色验证码

生成有4个随机数字和杂乱背景的图片,数字和背景颜色会改变,服务器端刷新(用history.go(-1)也会变) 产生验证码图片的文件image.jsp java.awt.image.*,java.util.*,javax.imageio.*" %>Color getRandColor(int fc,int bc){//给定范围获得随机颜

SUB 的专栏 961
上一篇: 记事本运行java文件实现简单的多线程
下一篇: Servlet实现页面验证功能随机生成图片
莫欺少年穷
博客等级 码龄15年 357粉丝 101原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莫欺少年穷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值