JavaWeb登陆验证之验证码模板

JavaWeb登陆验证时候的验证码模块
h5代码

 <li><span class="login-input">验证码:</span><input type="text" class="input-con login-verify"><img class="verify-img" src="/login/code"><span id="verift-update">点击切换</span></li>

js代码

$(function () {window.onload = function () {//点击图片切换//获取图片$(".verify-img").click(function () {let date = new Date().getTime();$(this).attr("src","/login/code?date="+date);})$(".verift-update").click(function () {let date = new Date().getTime();$(".verify-img").attr("src","/login/code?date="+date);})}
})

servlet代码

@WebServlet("/Resureservlet")
public class CheckCodeServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  int width =300;int height= 100;BufferedImage image  =new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);Graphics graphics = image.getGraphics();//画笔对象graphics.setColor(Color.red);//设置画笔颜色graphics.fillRect(0,0,width,height);//填充一个蓝色的矩形  填充的位置和大小graphics.setColor(Color.PINK);//设置颜色graphics.drawRect(0,0,width-1,height-1);//画边框graphics.setFont(new Font("宋体",Font.BOLD,25));String str ="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789";  //验证码包含的所有字符数字StringBuffer sb= new StringBuffer();Random random = new Random();//画验证码验证符for (int i = 1; i < 3; i++) {int s = random.nextInt(str.length());//随机获取字符串的角标,长度在字符串长度的范围内char c = str.charAt(s);//获取随机的字符graphics.drawString(c+"",i*20,25);//字符串的内容和位置sb.append(c);}String checkCode = sb.toString();HttpSession session = request.getSession();//将验证码存储到session中,用于登录后的判断。session.setAttribute("checkCode",checkCode);//画干扰线graphics.setColor(Color.black);for (int i = 0; i < 3; i++) {int x1 = random.nextInt(100);int x2 = random.nextInt(100);int y1 = random.nextInt(50);int y2 = random.nextInt(50);graphics.drawLine(x1,y1,x2,y2);}//将图片输入到页面展示ImageIO.write(image,"jpg",response.getOutputStream());//输出对象,后缀名,输出流输出}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doPost(request,response);}
}

【servlet】登陆验证之验证码模板相关推荐

  1. tornado web高级开发项目之抽屉官网的页面登陆验证、form验证、点赞、评论、文章分页处理、发送邮箱验证码、登陆验证码、注册、发布文章、上传图片...

    本博文将一步步带领你实现抽屉官网的各种功能:包括登陆.注册.发送邮箱验证码.登陆验证码.页面登陆验证.发布文章.上传图片.form验证.点赞.评论.文章分页处理以及基于tornado的后端和ajax的 ...

  2. python编写一个登陆验证程序_python项目实战:实现验证码登录网址实例

    前言 相信大家都明白,大多数的网站为了不被恶意访问,往往需要设置验证码登录,避免机器人访问,而造成我服务器瘫痪,崩溃,这里用到Python3,主要用到的包是re urllib.request http ...

  3. .net 实现三种验证码(汉字验证码,数字验证码,数字+英文验证)附带登陆验证实例

    首先,新建createImage.aspx 在CreateImage.aspx.cs中,添加如下代码: using System; using System.Collections.Generic; ...

  4. [JSP暑假实训] 五.MyEclipse+Servlet+JSP实现火车票网站注册操作及登陆验证

    本系列文章是作者暑假给学生进行实训分享的笔记,主要介绍MyEclipse环境下JSP网站开发,包括JAVA基础.网页布局.数据库基础.Servlet.前端后台数据库交互.DAO等知识. 前一篇文章讲解 ...

  5. spring boot结合shiro实现用户-角色-权限的控制(包含用户名密码登陆和手机号验证码登陆)

    spring boot整合shiro实现权限校验 1.首先导入项目所需jar包 <parent><groupId>org.springframework.boot</gr ...

  6. springSecurity的学习笔记--使用spring-Security完成表单登陆,手机验证码登陆,第三方登陆

    环境搭建好后,之后的练习进入了一个十分痛苦的阶段!! 但是与此同时,收获也是比较可观的. 老师通过详细的视频讲解,完成了表单登陆,包括账号密码和验证码登陆,手机验证码登陆,第三方登陆. 每一个部分都进 ...

  7. ssm过滤器可以只过滤html吗,SSM登陆验证之过滤器实现

    开发中登陆验证是必不可少的,这里介绍过滤器实现的登陆验证. 第一步:创建一个过滤器 package com.test.filter; import java.io.IOException; impor ...

  8. JavaWeb学习笔记①——Java向下转型在JavaEE中运用——登陆验证

    在学习JavaEE的过程中慢慢了解到Java中编程思想的优秀设计,以下将是一个多态-向下转型的示例,该实例是在Servlet-过滤器中的登陆验证的示例,代码中运用向下转型解决问题 import jav ...

  9. Servlet登陆功能的实现

    (1)创建动态的Login页面 //登陆界面 package com.lc;import javax.servlet.http.*;import java.io.*;public class Logi ...

最新文章

  1. matlab最大化函数,求助,最大化一个函数
  2. 面试题总结(21-40)
  3. 【知识星球】LeNet5,AlexNet,VGG,MobileNet它们的前身都是什么,你知道吗?
  4. 用虚拟机把ubuntu安装到TF卡上
  5. Deque - leetcode 【双端队列】
  6. 【Spring Cloud】微服务和Spring Cloud
  7. 【word小技巧】将visio图插入到word中
  8. 软件无法安装时怎么办
  9. 计算机财会属于经济管理类吗,哪些专业可以考公务员
  10. AMBA_AXI总线详解
  11. 变更DirectX SDK版本-DirectX8升级DirectX9
  12. kawamura+maya+picture_[转载]Softimage+Maya(krakatoaMY)+Nuke制作卷浪思路整理
  13. 斯托克斯公式与一些概念
  14. TOM邮箱怎么样 TOM邮箱品牌测评分析
  15. badboy录制过程不能登录, 提示脚本错误详解
  16. 计算机不能关机处理方法,电脑不能关机怎么回事 电脑不能关机处理方法讲解...
  17. C++ - std::srand
  18. 使用朋也社区搭建自己的社区网站就是这么简单~~
  19. FFCreator制作视频(合成视频)
  20. Historian 7.0 安装说明

热门文章

  1. 什么是面向对象编程(通俗易懂)
  2. Dapp开发实战:去中心化NFT交易平台
  3. 这几年阅读的一些非技术类好书推荐
  4. 集成灶哪个品牌质量好(六款热销集成灶对比测评)
  5. Redis常用操作之批量删除keys,和清空整个数据库
  6. java简介,java特点,java应用领域
  7. 高德地图web端js
  8. px4+ros+gazebo+ORB_SLAM2室内视觉无人机导航
  9. IDEA怎么开两个编辑窗口
  10. 面试中java 知识点