使用重写url机制实现验证码换一张功能
发布时间 - 2026-01-11 02:35:16 点击率:次重写URL机制:为了保证一个url的地址唯一,可每次向服务器传递的参数不一样即可。

由数据请求的抱头信息可分析到:抱头信息包括http协议,IP地址,端口号,工程名,请求参数列表,要想访问的资源不发生变化,只能变化参数连表。
此处在实现验证码的换一张的功能时,就是利用了改变参数列表的值进行刷新。
详细代码实现:
<%@page import="javax.imageio.ImageIO"%>
<%@page import="java.awt.Font"%>
<%@page import="java.awt.Color"%>
<%@page import="java.awt.Graphics"%>
<%@page import="java.awt.image.BufferedImage"%>
<%@ page contentType="image/jpeg" language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
int w=100;
int h=30;
BufferedImage bi=new BufferedImage(w,h,BufferedImage.TYPE_INT_RGB);
Graphics g=bi.getGraphics();
Color c=g.getColor();
Font f=g.getFont();
Random r=new Random();
Color bg=new Color(150+r.nextInt(100),150+r.nextInt(100),150+r.nextInt(100));
g.setColor(bg);
g.fillRect(0, 0, w, h);
String code="";
for(int i=1;i<=4;i++){
int num=r.nextInt(10);
code=code+num;
Color num_c=new Color(r.nextInt(150),r.nextInt(150),r.nextInt(150));
g.setColor(num_c);
g.drawString(String.valueOf(num), 20*i, h/2);
}
request.getSession().setAttribute("code", code);
//清空缓存
response.setHeader("pragma", "bo-cache");
response.setHeader("cache-control", "bo-cache");
response.addDateHeader("expires", 0);
ImageIO.write(bi, "jpeg", response.getOutputStream());
out.close();
%>
添加登录页面:
<%@ page contentType="text/html; charset=utf-8" language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>" rel="external nofollow" >
<title>My JSP 'login.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css" rel="external nofollow" >
-->
<script type="text/javascript">
function changeimage(){
var d=new Date();//生成时间戳,
document.getElementById("img").src="image.jsp?t="+d;//由变化的时间使参数连表发生变化,url重写
}
</script>
</head>
<body>
<font color="red">${requestScope.msg }</font>
<form action="loginServlet" method="post">
name:<input type="text" name="uname"><br>
pwd:<input type="pwd" name="upwd"><br>
code:<input type="text" name="code" size="5"><img id="img" alt="" src="image.jsp "><a onclick="changeimage()">换一张</a><br>
<input type="submit" >
</form>
</body>
</html>
利用时间的变化,每次生成时间戳,传参给请求的url,达到重写url的目的,从而实现了换一张的刷新功能。
总结
以上所述是小编给大家介绍的使用重写url机制实现验证码换一张功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# 重写url
# 验证码
# PHP curl模拟登录带验证码的网站
# PHP使用CURL实现对带有验证码的网站进行模拟登录的方法
# 重写
# 小编
# 在此
# 要想
# 给大家
# 所述
# 给我留言
# 感谢大家
# 清空
# 端口号
# 疑问请
# 有任何
# 实现了
# drawString
# num
# num_c
# request
# getSession
# valueOf
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何挑选最适合建站的高性能VPS主机?
重庆市网站制作公司,重庆招聘网站哪个好?
,怎么在广州志愿者网站注册?
Laravel如何使用Vite进行前端资源打包?(配置示例)
如何在云主机上快速搭建网站?
网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?
php结合redis实现高并发下的抢购、秒杀功能的实例
Laravel如何记录自定义日志?(Log频道配置)
如何快速使用云服务器搭建个人网站?
中国移动官方网站首页入口 中国移动官网网页登录
西安专业网站制作公司有哪些,陕西省建行官方网站?
如何在IIS中配置站点IP、端口及主机头?
标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南
Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】
如何在Ubuntu系统下快速搭建WordPress个人网站?
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
Android自定义控件实现温度旋转按钮效果
Python高阶函数应用_函数作为参数说明【指导】
高防服务器如何保障网站安全无虞?
Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件
微信小程序 闭包写法详细介绍
桂林网站制作公司有哪些,桂林马拉松怎么报名?
Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】
java获取注册ip实例
如何制作一个表白网站视频,关于勇敢表白的小标题?
详解Android图表 MPAndroidChart折线图
Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧
javascript中的数组方法有哪些_如何利用数组方法简化数据处理
Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】
谷歌Google入口永久地址_Google搜索引擎官网首页永久入口
Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门
,网页ppt怎么弄成自己的ppt?
WEB开发之注册页面验证码倒计时代码的实现
奇安信“盘古石”团队突破 iOS 26.1 提权
EditPlus中的正则表达式 实战(4)
如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框
如何快速上传建站程序避免常见错误?
详解vue.js组件化开发实践
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
如何在建站主机中优化服务器配置?
如何在局域网内绑定自建网站域名?
如何在万网ECS上快速搭建专属网站?
Python面向对象测试方法_mock解析【教程】
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
个人摄影网站制作流程,摄影爱好者都去什么网站?
如何快速搭建高效WAP手机网站?
网站页面设计需要考虑到这些问题
佛山网站制作系统,佛山企业变更地址网上办理步骤?
实现点击下箭头变上箭头来回切换的两种方法【推荐】
javascript如何操作浏览器历史记录_怎样实现无刷新导航

