按流程上代码:

jsp:

1  <tr>
2                   <td height="40" align="right">验证码:</td>
3                   <td><input type="text" name="codenames" id="code" class="cinput">
4                 <img src="showshouye" style="margin-top: -25px;margin-left: 70;">
5               </td>

src里面的是action,因为这验证码生成是在这个action的execute方法中,所以只用写action的名字就好。

struts.xml:

java:

public String execute() throws Exception {  response.setContentType("image/jpeg");  response.setHeader("Pragma", "No-cache");  response.setHeader("Cache-Control", "no-cache");  response.setDateHeader("Expires", 0);  HttpSession session = request.getSession();  // 在内存中创建图象  int width = 70, height = 23;  BufferedImage image = new BufferedImage(width, height,  BufferedImage.TYPE_INT_RGB);  // 获取图形上下文  Graphics g = image.getGraphics();  // 生成随机类  Random random = new Random();  // 设定背景色  g.setColor(getRandColor(200, 250));  g.fillRect(0, 0, width, height);  // 设定字体  g.setFont(new Font("Times New Roman", Font.PLAIN, 24));  // 画边框  g.setColor(getRandColor(160, 200));  g.drawRect(0, 0, width - 1, height - 1);  // 随机产生155条干扰线,使图象中的认证码不易被其它程序探测到  g.setColor(getRandColor(160, 200));  for (int i = 0; i < 155; i++) {  int x = random.nextInt(width);  int y = random.nextInt(height);  int xl = random.nextInt(12);  int yl = random.nextInt(12);  g.drawLine(x, y, x + xl, y + yl);  }  // 取随机产生的认证码(4位数字)  String sRand = "";  for (int i = 0; i < 4; i++) {  String rand = String.valueOf(random.nextInt(10));  sRand += rand;  // 将认证码显示到图象中  g.setColor(new Color(20 + random.nextInt(110), 20 + random  .nextInt(110), 20 + random.nextInt(110)));  // 调用函数出来的颜色相同,可能是因为种子太接近,所以只能直接生成  g.drawString(rand, 13 * i + 14, 20);  }  // 将认证码存入SESSION  session.setAttribute("verifyCode", sRand);  // 图象生效  g.dispose();  // 输出图象到页面  ImageIO.write(image, "JPEG", response.getOutputStream());  return null;  }  private Color getRandColor(int fc, int bc) {// 给定范围获得随机颜色  Random random = new Random();  if (fc > 255)  fc = 255;  if (bc > 255)  bc = 255;  int r = fc + random.nextInt(bc - fc);  int g = fc + random.nextInt(bc - fc);  int b = fc + random.nextInt(bc - fc);  return new Color(r, g, b);  }  

  直接复制代码没有问题,

   session.setAttribute("verifyCode", sRand);  java代码中的这句是认证码的值,用来验证输入的验证码是否正确的。

完结撒花!!

转载于:https://www.cnblogs.com/xiechenboblog/p/8405900.html

ssh框架 验证码实现相关推荐

  1. SSH框架电子商城-系统技术分析

    ------·今天距2020年62天·------ 这是ITester软件测试小栈第71次推文 大家好 我是coco小锦鲤 双十一还有半把个月才到 淘宝京东唯品会 天猫苏宁当当网 都在放大招让我们买买 ...

  2. 基于Java(SSH 框架)+MySQL 实现的物流配送管理系统【100010488】

    基于 Java 中 SSH 框架的物流配送管理系统 项目各文件介绍 Logistics_Manage_System 项目主文件,也就是该项目你需要导入运行的文件 hibernate_mapping 这 ...

  3. 基于php鞋城的开发,基于SSH框架技术的B2C网上鞋城的设计和实现(MySQL)(精品)★

    基于SSH框架技术的B2C网上鞋城的设计和实现(MySQL)(精品)★(毕业论文17600字,外文翻译,程序代码,MySQL数据库,答辩PPT) 近年来,电子商务行业发展迅速,各种网购网站不断出现,网 ...

  4. ssh框架的信阳市南湾湖旅游网站的设计与开发源码+论文第三稿+ppt+代码讲解视频+安装视频+中期检查表(包安装部署,已降重

    项目名称 ssh框架的信阳市南湾湖旅游网站的设计与开发源码 下载地址 ssh框架的信阳市南湾湖旅游网站的设计与开发源码 系统说明 根据需求来分析功能模块,进一步明确所需要完成的功能明细点模块,然后连成 ...

  5. 基于遗传算法的高校自动排课管理系统java+ssh框架

    博主介绍:✌在职Java研发工程师.专注于程序设计.源码分享.技术交流.专注于Java技术领域和毕业设计✌ 项目名称 基于遗传算法的高校自动排课管理系统java+ssh框架 系统说明 <基于遗传 ...

  6. [转载]SSH框架搭建详细图文教程

    什么是SSH? SSH对应 struts spring hibernatestruts 采用MVC模式,主要是作用于用户交互spring 采用IOC和AOP~作用比较抽象,是用于项目的松耦合hiber ...

  7. Linux下使用ssh动态验证码登陆机器

    ssh动态验证码登录机器 Google Authenticator是一个动态验证码程序,兼容各种智能手机平板设备,可以用来做各种帐号的二次验证,增加帐号的安全性.SSH是Linux系统的最重要防线之一 ...

  8. ssh框架实现数据库_自顶向下介绍SSH及其如何实现安全的数据共享

    ssh框架实现数据库 by Sam Ollason 通过萨姆·奥拉森(Sam Ollason) This article will take a high-level and top-down app ...

  9. 使用SSH框架实现用户登录验证

    今天,写一个非常简单的通过struts+hibernate+spring的集成来实现用户登录验证的例子,让大家了解一下三者是如何是整合的. 我们可以通过myeclipse的向导,生成相应的环境搭建,如 ...

最新文章

  1. ViewPager动态添加、删除Fragment,且提供红色小圆球指示当前位置
  2. ORACLE导入Excel数据
  3. Linux的SSH登录超时自动断开连接设置
  4. 【Java从0到架构师(3),【好文推荐
  5. jinja2 {{}} href 双大括号
  6. jspServlet(2)
  7. php提交注册表单,php用户注册表单验证
  8. cloud 异步远程调用_异步远程工作的意外好处-以及如何拥抱它们
  9. mysql 拒绝访问的解决办法
  10. 上海智能网联汽车规模化示范应用启动 滴滴上线自动驾驶服务
  11. Jquery获取web窗体关闭事件,排除刷新页面
  12. 【语言环境】WAMP环境部署及优化—以win2008R2SP1为操作系统
  13. git commit --amend如何合并多个commitId
  14. 中继器系列:中继器增删改查
  15. TypeScript学习-类class
  16. Java 实例 - 字符串分割和字符串分隔
  17. 江西计算机一级b考试,江西省计算机B一级考试试题.doc
  18. 数学考140,英语考70的感悟----《超级考验经验〉转贴
  19. 22.1.4猫和老鼠
  20. 基于汇编和C语言STM32流水灯依次闪烁

热门文章

  1. jedis连接池的maxIdle和maxtotal参数
  2. 网络中的那些事儿(五)之校园网规划综述
  3. 自学几小时,斯坦福AI推测并复现了元素周期表 | 华裔团队研究
  4. 这个深度学习Model Zoo,真的有点像动物园? | 来自一只新加坡蓝精灵
  5. 马克龙宣布15亿欧元投资AI,DeepMind拥吻巴黎
  6. 百度英伟达联手推混合精度训练,同样性能只需一半内存 | 附论文
  7. JavaScript:Functions
  8. spring4.1.3模块的官方说明
  9. JSP直接调用一个action定向到页面
  10. mysql不能插入中文