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