工作笔记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;
	}
				
时间: 2024-10-09 04:14:41

工作笔记5.JAVA图片验证码的相关文章

java图片验证码包括文字和图片的旋转

java图片验证码包括文字图片的旋转: 此例子演示的是两位数的加减运算,需要的可以通过自己的修改获得更多的方式: 或者我上传的资源中也有其他的两种方式供选择:http://download.csdn.net/detail/huitoukest/8043711 package com.utils; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; im

问题记录-java图片验证码显示乱码

部署机器 操作系统:centos 7 java版本: java version "1.7.0_80" 问题症状 将一个java web的程序部署到了两台配置相同的服务器上之后(服务器1.服务器2),程序都正常启动,当前端请求注册服务时,会向后台请求图片验证码,然而(服务器1)验证码出现了如图1所示的乱码问题,图二为(服务器2)正常的验证码显示. 图1 图2 问题探索 猜测1:java字符的编码问题 探索过程:将字符编码转换成utf-8编码,但是乱码问题没有得到解决 猜测2:服务器字体问

工作笔记5.JAVA文本框验证码

本文主要内容为:利用JAVA文本框制作验证码. 设计思路: 1.页面加载时,自动生成验证码. 2.后JS判定验证码是否输入正确 优点: 代码简洁,便于使用.页面中可直接判定验证码的正确性,无需传到后台Action中. 缺点: 由于本验证码是由text制作,容易被浏览器抓取/手动copy,丢失了其本质特性(安全性). <script type="text/javascript"> var code ; //在全局 定义验证码 function createCode() { c

自己封装的一个java图片验证码

验证码生成器: 1 package com.lz.Tools; 2 3 import java.awt.Color; 4 import java.awt.Font; 5 import java.awt.Graphics; 6 import java.awt.Graphics2D; 7 import java.awt.image.BufferedImage; 8 import java.util.Random; 9 10 /** 11 * 验证码生成器 12 * 13 * @author boji

JAVA图片验证码(转自“云在青山”)

首先创建一个生成图片的类,设置一些请求参数,生成随机的字符串,然后字符串传给生成验证码图片的类进行处理,完成后输出到页面 1.创建验证码生成类 package hh.com.util; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRespons

JAVA图片验证码

package hh.com.util; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; public class AuthImage extends

Ubuntu java 图片验证码问题

Oracle JDK 版本: wget http://download.oracle.com/otn-pub/java/jdk/7u71-b14/jdk-7u71-linux-x64.tar.gz\?AuthParam\=1413444038_57c11ebacd07d2252b6288d3e1b6f85f 将其解压安装好.

ExtJS4图片验证码的实现

ExtJS4学习笔记(十)---ExtJS4图片验证码的实现 转自:http://blog.sina.com.cn/s/blog_8d4bbd890100xaxh.html     上多少篇文章,重要学习了Extjs4 Grid的使用方法,从本篇开端,我们开始其余组件的学习,使用.在登录.注册甚至是发表文章或帖子的时候,都会用到验证码这个货色,那么在EXTJS 中,能够使用验证码功能么?谜底是确定的,在EXTJS4之前,也有良多验证码的实现,在Extjs4中,验证码到底如何实现呢? 临时,我们将

java web中图片验证码功能实现

用户在注册网站信息的时候基本上都要数据验证码验证.那么图片验证码功能该如何实现呢? 大概步骤是: 1.在内存中创建缓存图片 2.设置背景色 3.画边框 4.写字母 5.绘制干扰信息 6.图片输出 废话不多说,直接上代码 package com.lsgjzhuwei.servlet.response; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.Buffer