<%@ page contentType="image/jpeg" import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*" pageEncoding="UTF-8" %>
<%!
Color 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);
int g = fc + random.nextInt(bc - fc);
int b = fc + random.nextInt(bc - fc);
return new Color(r, g, b);
}%>
<%
//设置页面不缓存
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
// 在内存中创建图象
int width = 80, height = 30;
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
// 获取图形上下文
Graphics g = image.getGraphics();
//生成随机类
Random random = new Random();
// 设定背景色
g.setColor(getRandColor(200, 250));
g.fillRect(0, 0, width, height);
//设定字体
//List<String> list = new ArrayList<String>();
//10种英文字体
String[] strfont = {"Helvetica","Garamond","Frutiger","Bodoni","Futura","Times","Officina","Univers","Akzidenz", "Grotesk"};
g.setFont(new Font(strfont[random.nextInt(10)], Font.BOLD, 16 + random.nextInt(4)));
//画边框
g.setColor(new Color(0, 0, 0));
g.drawRect(0, 0, width - 1, height - 1);
// 随机产生155条干扰线,使图象中的认证码不易被其它程序探测到
g.setColor(getRandColor(160, 200));
for (int i = 0; i < 155; i++) {
int x = random.nextInt(width);
int y = random.nextInt(height);
int xl = random.nextInt(12);
int yl = random.nextInt(12);
g.drawLine(x, y, x + xl, y + yl);
}
// 取随机产生的认证码(4位数字)
String sRand = "";
for (int i = 0; i < 4; i++) {
String rand = null;
//随机生成数字或者字母
if (random.nextInt(10) > 5) {
rand = String.valueOf((char)(random
.nextInt(10) + 48));
} else {
rand = String.valueOf((char)(random
.nextInt(26) + 65));
}
sRand += rand;
// 将认证码显示到图象中
g.setColor(new Color(random.nextInt(80), random.nextInt(80), random.nextInt(80)));
//调用函数出来的颜色相同,可能是因为种子太接近,所以只能直接生成
g.drawString(rand, 15 * i + 7 + random.nextInt(8), 30 - random.nextInt(15));
}
// 将认证码存入SESSION
session.setAttribute("randcode", sRand);
// 图象生效
g.dispose();
// 输出图象到页面
ImageIO.write(image, "JPEG", response.getOutputStream());
response.flushBuffer();//防止异常getOutputStream() has already been called for this response
out.clear();
out = pageContext.pushBody();
%>
相关推荐
使用Servlet+JSP实现验证码
功能简述:设计一个验证码,验证的颜色、里面的字符都可随机生成,比较JSP页面输入框的字符与验证码是否匹配。 首页:index.jsp <%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8"%> <% String path = request.getConte...
关于jsp开发验证码的实现
前言,今天要写的是jsp开发时,需要的验证码功能。 1,实现验证码有很多方式,现在还有插件可以使用,今天主要讲的是通过代码实现验证码的功能 2,开始 1)首先我们要在前端写好验证码显示的区域 <div> 验证码:<img src="<%=request.getContextPath() %>/base2/validate" alt="验证码"...
JSP验证码实现案例大全
Java Server Pages (JSP) 是一种创建动态网页内容的技术,它允许开发者在 HTML 页面中嵌入 Java 代码。JSP 页面经过服务器端的预处理,将 Java 代码转换成标准的 HTML,以便在用户的浏览器中显示。JSP 作为 Java EE 规范的一部分,为 Web 开发提供了一种便捷的方法,使得 Java 程序员能够快速开发出动态网站。JSP 技术背后的核心思想是将业务逻辑与表现层分离,因此它结合了 HTML 标记语言和 Java 编程语言,以实现更丰富、更动态的网页内容。
Jsp验证码
用JSP做的一个简单的4位数字验证码。 其中jsp
简单实现动态验证码的JSP示例教程
JSP(Java Server Pages)是一种用于开发动态Web应用程序的技术,自1999年被Sun Microsystems公司推出以来,已成为构建企业级Web应用程序的重要工具之一。JSP允许开发者将Java代码直接嵌入到HTML页面中,从而简化了Web页面的开发。通过JSP,开发者可以实现页面逻辑与页面内容的分离,利用服务器端的JavaBean和自定义标签来生成动态内容。JSP页面被编译成Servlet执行,这一点对于理解其运行机制至关重要。
基于rms包的限制性立方样条回归(RCS)R代码实现
RCS
JSP生成图片验证码
JSP生成图片验证码1。建立一个JSP页面(image.jsp),把下面的代码全部复制到image.jsp下。@ pagecontentType="image/jpeg" import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*" %>Color getRandColor(int fc,int
应急响应之windows日志分析工具logparser使用
windows日志分析工具logparser使用介绍
jsp验证码刷新
今天弄了一下JSP 验证码的问题 外加刷新。 把原代码共享一下:image.jsp(生成图片页面)Color getRandColor(int fc,int bc){//给定范围获得随机颜色 Random random = new Random(); if(fc>255) fc=255; if(bc>255) bc=255;
从圆形到椭圆:CenterNet中高斯热图半径的自适应优化策略
本文深入探讨了CenterNet目标检测模型中高斯热图生成策略的优化,针对传统圆形高斯核在处理长宽比差异大目标时的局限性,提出了自适应椭圆高斯核的解决方案。通过数学推导和代码实战,详细阐述了如何根据目标边界框尺寸动态计算椭圆长短轴半径,生成更贴合目标几何形状的热图监督信号,从而有效提升模型,尤其是对无人机、车辆等不规则目标的定位精度。
去面试游戏测试工程师,面试官看着我的简历呆住了
!我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。欢迎大家点击下方名片免费领取,千万不要错过哦。
jsp验证码代码
jsp验证码代码:JSP汉字验证码的实现代码%@pagecontentType=/"image/jpeg/"import=/"java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*/"%> //createbysmallnest//email:smallnest@gmail.com//website:www.kuaff.com//生成随机颜
Mellanox ASAP2技术揭秘:如何通过硬件卸载提升OVS性能?
本文深入解析Mellanox ASAP2技术如何通过硬件卸载显著提升Open vSwitch(OVS)性能。通过将数据平面操作转移到ConnectX智能网卡处理,ASAP2实现了10倍吞吐量提升和90%延迟降低,同时大幅减少CPU占用。文章包含技术原理剖析、实战配置指南及性能对比数据,为网络虚拟化优化提供关键解决方案。
JSP彩色验证码
产生验证码图片的文件image.jsp<%@ page contentType="image/jpeg" import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*" %><%!Color getRandColor(int fc,int bc){//给定范围获得随机颜色 Random
Python画好看的雷达图,全网开源代码最好看的
【代码】Python画好看的雷达图,全网开源代码最好看的。
《QT+PCL》点云的点选与框选
【代码】《QT+PCL》点云的点选与框选。
jsp验证码
在jsp页面中实现验证码,可以有效地防止攻击,提高网站的 安全性能。具体实现方式:1.写一个用于生成验证图片的servlet,具体代码如下:import java.awt.Color; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.IOException; import j
目标检测YOLO实战应用案例100讲-跨模态、多级别融合的RGB-D显著目标检测方法研究(续)
在第二章介绍了本研究的跨模态特征融合方法,第二章对于多级别特征的融合, 使用的是与基线模型baseline相同的方法:相邻级别的特征中,高级特征进行上采 样到与低级特征相同的尺度,再将高级特征通过降维得到与低级特征相同的通道数 量,最后对二者进行特征叠加,如此自顶向下的进行多级别的特征融合。本章主要 介绍本研究在特征层面的另一发现,并基于此发现引出的本文的第二个创新点:多 级别特征的融合方法。另外,在网络最深层,本文设计了一个新的模块来获取大的 感受野,对于大尺度目标能够增加更多语义信息,提升检测效果。 骨
jsp页面验证码功能
jsp页面验证码功能 首先看看效果 输入正确: 错误输入: 第一步:导入js文件 在index.jsp头部插入: 第二步:在index.jsp中编写如下代码 <body> <center> <div id="v_container" style="width: 200px;height: 50px;"></di...
汉书HE8,好用的汇编代码编写工具
汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大
STM32F407中文手册
STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。
JSP验证码大全之验证码使用与乱码…
以上两篇文章的内容介绍了有关JSP中产生数字验证码跟中文验证码的源代码并做了分析,本文中介绍如何对以上产生的数字跟中文验证码进行使用,以及如何解决中文验证码的乱码无法正确验证的问题。 对验证码的使用分为两个部分,分别为验证码的调用和验证过程,以下分别做说明介绍。 三、在JSP中调用验证码 使用验证码直接在图片处调用产生验证码的JSP文件即可,同时在刷新验证码
复分析 阿尔福斯(Ahlfors) 第三版答案 英文
答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案
JSP验证码系列(数字验证码、英文与数字混合验证码、中文验证码、表达式验证码)
一、数字验证码:1.编写产生验证码的页面,image.jsp 255) fc = 255; if (bc > 255) bc = 255; int r = fc + random.nextInt(bc - fc); int g = fc + random.nextInt(bc - fc); int b = fc + random.nextInt(bc - fc); return new Color(r, g, b); }%> <% try {
VB摄像头监控
该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制
jsp登陆验证码
1.JSP页面中设置输入选项和验证码 会员登录 2.login.jsp中设置JS的方法 function refreshCode(){ var codeImg = document.getElementById("code"); var rand = Math.random(); codeImg.src="
java jsp验证码_JSP验证码简单生成方法
本文实例讲述了JSP验证码简单生成方法。分享给大家供大家参考。具体如下:Color 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);int g=fc+random....
【JSP生成验证码】
验证码的出现有效地防止了服务器被恶意利用的问题的出现。So,现在的应用基本都会用到验证码,而对于我们来说,需要掌握的不仅仅是验证码的作用,所以今天就做了一个简单的验证码。虽然目前市面上有很多第三方验证码接口或者框架,例如ValidateCode.jar等,还是自己动手做一个玩玩。(哈哈哈,废话一啪啦)。 为了玩这个,还回去看了一下j2se的内容(java画图就没怎么玩...) 先准备一个生成验...
1554



被折叠的 条评论
为什么被折叠?



