工作笔记5.JAVA图片验证码
本文主要内容为:利用JAVA图片制作验证码。
设计思路:
1、拷贝AuthImageServlet.class图片验证码
2、配置web.xml
3、JSP中,调用封装好的AuthImageServlet,实现载入验证码的功能。
4、取出存放在Session中的验证码。在Action中推断验证码的正确性
相比較上一篇博客《工作笔记5.JAVA文本框验证码》而言,图片验证码添加了安全性。
在Action中,通过取出Session中的验证码与输入的验证码是否匹配进行推断。
步骤:
1、拷贝AuthImageServlet.class图片验证码
下载地址: http://pan.baidu.com/s/1bnF7dcr
2、配置web.xml
<servlet>
<servlet-name>AuthImageServlet</servlet-name>
<servlet-class>cn.bjjczb.jyzgcx.util.AuthImageServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AuthImageServlet</servlet-name>
<url-pattern>/servlet/AuthImageServlet</url-pattern>
</servlet-mapping>
3、JSP中,调用封装好的AuthImageServlet。实现载入验证码的功能
<script type="text/javascript">
function changeCode() {
var imgNode = document.getElementById("vimg");
//又一次载入验证码,达到刷新的目的
imgNode.src = "${pageContext.request.contextPath}/servlet/AuthImageServlet?t=" + Math.random(); // 防止浏览器缓存的问题
} </script>
验证码:
<input type="text" id="creditCodes" name="creditCodes" class="dz" style="width: 110px;"/>
<img id="vimg" src="${pageContext.request.contextPath}/servlet/AuthImageServlet" class="code" style="vertical-align: middle;" width="83" height="21" />
<a href="#" onclick="changeCode();">刷新</a>
4、取出存放在Session中的验证码,在Action中推断验证码的正确性
/** 登录 */
public String login() throws Exception {
// 获取存放在Session中的验证码
String creditCode = (String) session.getAttribute("rand");
//比較深输入的"验证码creditCodes"与creditCode是否匹配(忽略大写和小写)
if (creditCodes.equalsIgnoreCase(creditCode)) {
//验证码输入正确 } else {
//验证码输入错误
}
}
//用于获取页面中用户输入的验证码
private String creditCodes;
public String getCreditCodes() {
return creditCodes;
}
public void setCreditCodes(String creditCodes) {
this.creditCodes = creditCodes;
}
工作笔记5.JAVA图片验证码的更多相关文章
- Java 图片验证码工具
package com.microwisdom.utils; import java.awt.Color; import java.awt.Font; import java.awt.Graphics ...
- 问题记录-java图片验证码显示乱码
部署机器 操作系统:centos 7 java版本: java version "1.7.0_80" 问题症状 将一个java web的程序部署到了两台配置相同的服务器上之后(服务 ...
- JAVA图片验证码
package hh.com.util; import java.io.IOException; import javax.servlet.ServletException; import javax ...
- 自己封装的一个java图片验证码
验证码生成器: package com.lz.Tools; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; ...
- JAVA图片验证码(转自“云在青山”)
首先创建一个生成图片的类,设置一些请求参数,生成随机的字符串,然后字符串传给生成验证码图片的类进行处理,完成后输出到页面 1.创建验证码生成类 package hh.com.util; import ...
- 一篇Java图片验证码生成的代码
package projectUtil; /** * @author tian * @date 2019/4/1015:58 */ import javax.imageio.ImageIO; impo ...
- Java图片验证码生成工具
直接把以下代码拷贝使用: import javax.imageio.ImageIO;import java.awt.*;import java.awt.image.BufferedImage;impo ...
- ASP.NET工作笔记之一:图片上传预览及无刷新上传
转自:http://www.cnblogs.com/sibiyellow/archive/2012/04/27/jqueryformjs.html 最近项目里面涉及到无刷新上传图片的功能,其实也就是上 ...
- Java图片验证码乱码问题
有时部署到linux服务器上的web项目的图形验证码可能会出现乱码问题 这不是编码格式出错了,而是可能服务器上没有图形验证码中限定的那种字体 比如生成图形验证码的代码: Font font = new ...
随机推荐
- (转载)spring 之间的远程调用-Spring Http调用的实现
原文:https://www.cnblogs.com/lewisat/p/6132082.html 1:Spring Http设计思想 最近在研究公司自己的一套rpc远程调用框架,看到其内部实现的设计 ...
- java静态方法
静态方法(全局方法)不能访问this(当前对象)它和类没有关系,会有逻辑错误,当调用静态方法的时候不需要创建对象 可以直接为boolean result = MyTest.isPrime();直接访问 ...
- 【BZOJ 1486】 [HNOI2009]最小圈
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 我们可以只想那个均值最小的环. 我们不知道那个环由哪些边构成 但我们可以把每条边都减掉mid 那个环受到的影响是什么呢? 如果这个均 ...
- 高级聚合函数rollup(),cube(),grouping sets()
rollup(),cube(),grouping sets() 上面这几个函数,是对group by分组功能做的功能扩展. a.rollup() 功能:在原结果基础上追加一行总合计记录 ...
- mysql_5.6.24_winx64 安装
1.将zip压缩文件放在一个文件夹中 2.将路劲加入path环境变量 3.注册系统服务 在C:\windows下建立一个ini文件 1 2 3 4 5 6 7 8 9 10 11 12 [client ...
- linux下使用DBCA(database configuration assistant)创建oracle数据库
前提:切换到图形界面 到Oracle的bin文件夹下,使用oracle用户.运行dbca就可以.和windows的效果一样. 假设出现乱码 export LANG="en_US:UTF-8& ...
- 3、Android中Activity的跳转
1.创建project file->new->android application 依次填入应用名称.project名.包名 在project文件夹下找到src/com. ...
- Cocos2d-x 多点触摸
多点触摸的实现步骤与单点触摸类似,setTouchEnabled(true)开启触摸功能,注冊触摸事件,重载多点触摸函数:ccTouchesBegan(開始).ccTouchesMoved(移动).c ...
- HDU 1392 凸包子
Surround the Trees Problem Description There are a lot of trees in an area. A peasant wants to buy a ...
- netty底层是事件驱动的异步库 但是可以await或者sync(本质是future超时机制)同步返回 但是官方 Prefer addListener(GenericFutureListener) to await()
io.netty.channel 摘自:https://netty.io/4.0/api/io/netty/channel/ChannelFuture.html Interface ChannelFu ...