Java笔记-使用Kaptcha验证码框架
使用Kaptcha这个验证码框架用起来,比自己写简单
首先设置maven项目:
<dependency><groupId>com.github.penggle</groupId><artifactId>kaptcha</artifactId><version>2.3.2</version></dependency>
然后配置WEB-INF下的web.xml
<!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app><display-name>Archetype Created Web Application</display-name><servlet-mapping><servlet-name>kaptchaDemo</servlet-name><url-pattern>/kaptcha</url-pattern></servlet-mapping><servlet><servlet-name>kaptchaDemo</servlet-name><servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class><init-param><param-name>kaptcha.border</param-name><param-value>no</param-value></init-param><init-param><param-name>kaptcha.textproducer.font.color</param-name><param-value>red</param-value></init-param><init-param><param-name>kaptcha.image.width</param-name><param-value>80</param-value></init-param><init-param><param-name>kaptcha.image.height</param-name><param-value>30</param-value></init-param><init-param><param-name>kaptcha.textproducer.char.string</param-name><param-value>0123456789</param-value></init-param><init-param><param-name>kaptcha.textproducer.char.length</param-name><param-value>4</param-value></init-param><init-param><param-name>kaptcha.textproducer.char.space</param-name><param-value>3</param-value></init-param><init-param><param-name>kaptcha.textproducer.font.size</param-name><param-value>24</param-value></init-param>
<!-- <init-param>-->
<!-- <param-name>kaptcha.noise.impl</param-name>-->
<!-- <param-value>com.google.code.kaptcha.impl.NoNoise</param-value>-->
<!-- </init-param>--></servlet></web-app>
其中对应的jsp页面如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><base href="<%=basePath%>"><title>kaptchaDemo</title><style type="text/css">.code_a{color: #0000ff;font-size: 12px;text-decoration: none;cursor: pointer;}#imgCode{cursor: pointer;}</style><script type="text/javascript">function changeCode(){var imgCode = document.getElementById("imgCode");imgCode.src = "kaptcha?"+Math.random();}</script>
</head><body>
<form action="login" method="post"><label>验证码:</label><input type="text" id="inCode" name="inCode" /><img src="kaptcha" align="center" id="imgCode" onclick="changeCode()" /><a class="code_a" onclick="changeCode()">换一张</a><br /><input type="submit" value="登录"/>
</form>
</body>
</html>
这里src请求的是kaptcha的url。这里这个框架里面实现了一个Servlet,通过配置文件的方式,对某些属性进行设置(这里不用说了,肯定是反射)
程序运行截图如下:
输入错误时,依旧是这个界面,但输入正确后!
下面是关于他的验证方面的代码:
LoginServlet.java
import com.google.code.kaptcha.Constants;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;@WebServlet(value = "/login")
public class LoginServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {this.doPost(request, response);}protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String vailCode = request.getSession().getAttribute(Constants.KAPTCHA_SESSION_KEY).toString().toLowerCase();String inCode = request.getParameter("inCode").toLowerCase();if(inCode.equals(vailCode)){response.sendRedirect("success.jsp");}else{String url = request.getHeader("Referer");response.sendRedirect(url);}}
}
Java笔记-使用Kaptcha验证码框架相关推荐
- 《Java从入门到放弃》框架入门篇:使用kaptcha验证码框架
使用kaptcha框架实现的验证码效果如下图 使用该验证码框架的步骤如下: 一.引入 kaptcha-2.3.2.jar(点击下载) 文件. 二.在web.xml中配置验证码Servlet. < ...
- Java笔记-WEB算术验证码
这里和图片的字符串验证码差不多,只是要保留一个结果就可以了! 程序运行截图如下: 输入错误后,还是这个界面,但输入正确后: 程序截图如下: maven项目,源码如下: LoginServlet.jav ...
- Java笔记-腾讯验证码平台使用实例
主要就是官方的这个图: 前端调用接口,得到腾讯发过来的几个数据,前端把这几个数据给后端,后端拿到这些数据后传给腾讯,让其判断是否正常,以及其他属性. 程序运行截图如下: 点击登录后,拖动正确进行跳转, ...
- java kaptcha_java相关:kaptcha验证码使用方法详解
java相关:kaptcha验证码使用方法详解 发布于 2020-6-7| 复制链接 摘记: 本文为大家分享了kaptcha验证码的使用方法,供大家参考,具体内容如下1.首先在pom.xml文件中导入 ...
- 高级java知识结构图,Spring高级框架课程笔记 PDF 下载
主要内容: Spring ⾼级框架(讲师:应癫) ssh = spring + struts + hibernate ssm = spring + springmvc + mybatis spring ...
- 【Java笔记+踩坑】SpringBoot基础3——开发。热部署+配置高级+整合NoSQL/缓存/任务/邮件/监控
导航: [黑马Java笔记+踩坑汇总]JavaSE+JavaWeb+SSM+SpringBoot+瑞吉外卖+SpringCloud/SpringCloudAlibaba+黑马旅游+谷粒商城 目录 ...
- 11.3-全栈Java笔记:线程的生命周期
一个线程对象在它的生命周期内,需要经历5个状态. 新生状态(New) 用new关键字建立一个线程对象后,该线程对象就处于新生状态.处于新生状态的线程有自己的内存空间,通过调用start方法进入就绪状态 ...
- kaptcha验证码实现,配合spring boot使用
一.kaptcha介绍 Kaptcha是谷歌放在github上的一个验证码jar包,我们可以简单配置属性实现验证码的验证功能. kaptcha参数设置如下所示: Constant 描述 默认值 kap ...
- kaptcha验证码组件使用简介
kaptcha验证码组件使用简介 Kaptcha是一个基于SimpleCaptcha的验证码开源项目. 官网地址:http://code.google.com/p/kaptcha/ kaptcha的使 ...
最新文章
- 旅游资源及线路管理系统
- github船舰新文件夹_mac下搭建hexo+github
- 反射调用private或internal构造函数
- 一台电脑同时启动多个java_如何在一台同时登录多个微信?
- linux恢复终端默认配置,以gnome-terminal为例,修改gnome3 的默认配置,
- DyFPN:浙大华为诺亚西湖大学等提出用于目标检测的动态特征金字塔,减少40%的FLOPs!...
- button执行onclick函数_千万别再一直无脑使用ES6的箭头函数了,它虽然很有用但并不是万能的...
- python实现屏幕录制_JavaScript 屏幕录制 API 学习
- 企业管理系统前后端分离架构设计 系列一 权限模型篇
- android gps导航省电,具有省电功能的gps导航系统及其省电方法
- python 谷歌翻译
- JavaScript 全栈工程师培训教程(来自阮一峰)
- 有符号与无符号,长整型与短整型
- Blue Coat 拓展安全行业最大的加密流量管理协作组织
- 单独使用Quartz 2.1.7 时Job属性Spring无法注入
- 电脑ctrl和ALT经常键自动按住--答案是QQ2012的Bug
- Altium Designer--如何快速查看PCB网络布线
- 国企生存感悟(必读篇)
- 说说 Google AdSense、百度联盟和搜狗联盟
- 合并多个PPT文件到一个文件中的方法