本文主要内容为:利用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图片验证码的更多相关文章

  1. Java 图片验证码工具

    package com.microwisdom.utils; import java.awt.Color; import java.awt.Font; import java.awt.Graphics ...

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

    部署机器 操作系统:centos 7 java版本: java version "1.7.0_80" 问题症状 将一个java web的程序部署到了两台配置相同的服务器上之后(服务 ...

  3. JAVA图片验证码

    package hh.com.util; import java.io.IOException; import javax.servlet.ServletException; import javax ...

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

    验证码生成器: package com.lz.Tools; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; ...

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

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

  6. 一篇Java图片验证码生成的代码

    package projectUtil; /** * @author tian * @date 2019/4/1015:58 */ import javax.imageio.ImageIO; impo ...

  7. Java图片验证码生成工具

    直接把以下代码拷贝使用: import javax.imageio.ImageIO;import java.awt.*;import java.awt.image.BufferedImage;impo ...

  8. ASP.NET工作笔记之一:图片上传预览及无刷新上传

    转自:http://www.cnblogs.com/sibiyellow/archive/2012/04/27/jqueryformjs.html 最近项目里面涉及到无刷新上传图片的功能,其实也就是上 ...

  9. Java图片验证码乱码问题

    有时部署到linux服务器上的web项目的图形验证码可能会出现乱码问题 这不是编码格式出错了,而是可能服务器上没有图形验证码中限定的那种字体 比如生成图形验证码的代码: Font font = new ...

随机推荐

  1. [转]Python常用字符串

    转自:http://blog.csdn.net/daemonpei/article/details/6325762 字符串相关操作: + :string1+string2 #联接字符串,将后一个串链接 ...

  2. java实例化对象的五种方法

    1.用new语句创建对象,这是最常见的创建对象的方法. 2.通过工厂方法返回对象,如:String str = String.valueOf(23); 3.运用反射手段,调用java.lang.Cla ...

  3. 洛谷——P1352 没有上司的舞会

    https://www.luogu.org/problem/show?pid=1352#sub 题目描述 某大学有N个职员,编号为1~N.他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树, ...

  4. cogs 304. [NOI2001] 方程的解数(meet in the middle)

    304. [NOI2001] 方程的解数 ★★☆   输入文件:equation1.in   输出文件:equation1.out   简单对比时间限制:3 s   内存限制:64 MB 问题描述 已 ...

  5. IntelliJ IDEA启动spring boot项目出现Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[]]

    IntelliJ IDEA启动spring boot项目出现Failed to start component [StandardEngine[Tomcat].StandardHost[localho ...

  6. 在MAC下怎样用SSH连接远程LINUXserver

    首页,打开MAC的命令终端,检查是不是用root用的登录的,假设不是的话请输入命令:sudo -i切换到root. 然后,输入:ssh ip地址,假设主机存在的话会提示你输入password,输入正确 ...

  7. OPENWRT中SSH免密钥登陆(具体步骤)

    通过使用ssh-keygen生成公钥,在两台机器之间互相建立新人通道极客. 如果本地机器是client,远程机器为server. 1.使用ssh-keygen生成rsa keygen(在这里会覆盖曾经 ...

  8. 【c++版数据结构】之顺序表的实现

    SeqList.h #ifndef SEQLIST_H #define SEQLIST_H #include<iostream> using namespace std; typedef ...

  9. 3、Android中Activity的跳转

    1.创建project         file->new->android application 依次填入应用名称.project名.包名 在project文件夹下找到src/com. ...

  10. Python爬糗百热门20条并邮件分发+wxPython简易GUI+py2app转成可运行文件

    学了一阵子Python,拿来做个什么有意思的东西呢?爬糗百好了.爬到的内容,邮件分发出去. 然后又啃了两天的wxpython,做了个简易的邮件管理界面,能够在这里添加或者删除邮件,而且一键爬虫发送. ...