工作笔记5.JAVA图片验证码

时间:2024-01-01 19:36:15

本文主要内容为:利用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;
}