生成登陆验证码

本文介绍如何使用SWUtil.jar和taglibs-image.tld文件在JSP页面生成四位随机数验证码图片,并将其存储在session中。文中详细展示了设置页面编码、禁止浏览器缓存、生成随机数并转换为字符串等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要用到的包:SWUtil.jar

要用到的tld文件:taglibs-image.tld

 

 

创建一个jsp文件.

首先写入如下代码

  1. <%
  2. response.setHeader("Pragma", "No-cache");
  3. response.setHeader("Cache-Control", "no-cache");
  4. response.setDateHeader("Expires", 0);
  5. %>

这样可以禁止浏览器在本地计算机上缓存该页面

 

 

设置编码格式:

  1. <%@ page contentType="text/html; charset=GBK" language="java"%>

引用tld文件:

  1. <%@ taglib uri="http://com.sourceware.com/taglibs/image-1.0" prefix="img" %>

生成一个4位的随即数,并添加进session属性中:

  1. <%
  2. int num = (int) java.lang.Math.round(java.lang.Math.random() * 8999);
  3.  String sRand = "" + (1000 +num);
  4.     session.setAttribute("userInfo.authcode",sRand);
  5. %>

生成图片:

  1. <img:image src="/images/auth.jpg" refresh="true">
  2. <img:text text="<%=sRand.substring(0,1)%>" x="5" y="-2" font="Times New Roman" bold="true" size="18" color="0x993399" italic="true" />
  3. <img:text text="<%=sRand.substring(1,2)%>" x="17" y="-2" font="Times New Roman" bold="false" size="18" color="0x660033" italic="false" />
  4. <img:text text="<%=sRand.substring(2,3)%>" x="27" y="-2" font="Times New Roman" bold="true" size="18" color="0xcc3366" italic="true" />
  5. <img:text text="<%=sRand.substring(3,4)%>" x="40" y="-2" font="Times New Roman" bold="false" size="18" color="0x990099" italic="false" />
  6. <%if(num<2000){%>
  7.     <img:grayscale brightness="90" />
  8. <%}%>
  9. </img:image>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值