图片验证码
来源:互联网 发布:uvz for mac 编辑:程序博客网 时间:2024/06/05 00:34
自制验证码工具类(我的项目用到了springmvc)
jsp页面表单项:
jsp代码:
<li> <span class="dis">验证码:</span> <input type="text" name="yzm" maxlength="4" tabindex="1"> <img src="code/getImageValidateCode.action" alt="验证码" id="yzm"> <a class="look blue _changeCapcherButton" id="look" href="javascript:void(0);" onclick="changeImage()">看不清?换一张</a> </li>
有个坑:
若img元素的src值写成(多加一个/的话)
src="/code/getImageValidateCode.action"
则会出错:无法获取验证码
js代码:
<script type="text/javascript"> /* 提交表单 */function test(){$("form").trigger("submit");} /* 更新图片验证码 */function changeImage(){var src=$("#yzm").attr("src")+"?date="+new Date().getTime();$("#yzm").attr("src",src);} </script>在这次举例中: test()方法用不到,可忽略
点击看不清?换一张,或者刷新页面时,onClick事件中请求的路径
http://localhost:8080/yirenbao/code/getImageValidateCode.action?date=1502526110483?date=1502526526262?date=1502526541840?date=1502526596643?date=1502526598415?date=1502526621779?date=1502526623195?date=1502526631265
而我当前主页面的路径地址如图:
验证码工具类CodeUtils
package com.qx.utils;import java.io.IOException;import javax.imageio.ImageIO;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import cn.dsna.util.images.ValidateCode;public class CodeUtils {//图片验证码public static void createCode(HttpSession session,HttpServletResponse response) throws IOException{ValidateCode validateCode=new ValidateCode(105,38,4,20);String code = validateCode.getCode();//验证码response.setContentType("image/*");ImageIO.write(validateCode.getBuffImg(), "jpeg", response.getOutputStream());session.setAttribute("code", code);}//文字验证码public static String createCode(){ValidateCode validateCode=new ValidateCode(105,38,4,20);String code=validateCode.getCode(); //验证码return code;}}
注:把获取到验证码的值存到session中,是为了验证用户输入的验证码与实际产生的验证码是否相同用
ImageController:
package com.qx.sso.controller;import java.io.IOException;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import com.qx.utils.CodeUtils;@Controller@RequestMapping("/code")public class ImageController {@RequestMapping("/getImageValidateCode")public void createCode(HttpSession session,HttpServletResponse response){//创建验证码//将验证码返回//将验证码存放到session中try {CodeUtils.createCode(session, response);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
阅读全文
0 0
- C#图片验证码
- 图片验证码
- 图片验证码
- 图片验证码
- 获取验证码图片
- jsp验证码图片
- PHP图片验证码
- 图片验证码
- 图片验证码
- 验证码图片显示
- 中文图片验证码
- 验证码图片生成
- jsp图片验证码
- 生成图片验证码
- 图片验证码
- 绘制验证码图片
- java图片验证码
- java图片验证码
- redis操作
- poj 2299(逆序对(树状数组||归并排序))
- 动态规划、分治法与贪心算法的区别
- c++日常训练
- HDU 3018-Ant Trip(并查集&&欧拉)
- 图片验证码
- LightOJ 1138(求末尾零个数)
- Hibernate开发中的异常:could not initialize proxy
- 关于C++变量的声明和定义
- Java锁机制
- 数据挖掘实战经验——交通大数据预测
- NY oj 107 士兵杀敌(一)
- 最长递增子序列
- 01背包问题(动态规划DP)