资源简介
可以直接使用的三种编写验证码的方法 内有代码及如何去使用的详细步骤
代码片段和文件信息
package com.liutao.common.captcha;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.BeanFactoryUtils;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import com.liutao.common.web.session.SessionProvider;
import com.octo.captcha.service.CaptchaServiceException;
import com.octo.captcha.service.image.ImageCaptchaService;
/**
* 提供验证码图片的Servlet
*/
@SuppressWarnings(“serial“)
public class JcaptchaServlet extends HttpServlet {
public static final String CAPTCHA_IMAGE_FORMAT = “jpeg“;
private ImageCaptchaService captchaService;
private SessionProvider session;
@Override
public void init() throws ServletException {
WebApplicationContext appCtx = WebApplicationContextUtils
.getWebApplicationContext(getServletContext());
captchaService = (ImageCaptchaService) BeanFactoryUtils
.beanOfTypeIncludingAncestors(appCtx ImageCaptchaService.class);
session = (SessionProvider) BeanFactoryUtils
.beanOfTypeIncludingAncestors(appCtx SessionProvider.class);
}
@Override
protected void doGet(HttpServletRequest request
HttpServletResponse response) throws ServletException IOException {
byte[] captchaChallengeAsJpeg = null;
// the output stream to render the captcha image as jpeg into
ByteArrayOutputStream jpegOutputStream = new ByteArrayOutputStream();
try {
// get the session id that will identify the generated captcha.
// the same id must be used to validate the response the session id
// is a good candidate!
String captchaId = session.getSessionId(request);
BufferedImage challenge = captchaService.getImageChallengeForID(
captchaId request.getLocale());
// Jimi.putImage(“image/jpeg“ challenge jpegOutputStream);
ImageIO.write(challenge CAPTCHA_IMAGE_FORMAT jpegOutputStream);
} catch (IllegalArgumentException e) {
response.sendError(HttpServletResponse.SC_NOT_FOUND);
return;
} catch (CaptchaServiceException e) {
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
return;
}
// catch (JimiException e) {
// response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
// return;
// }
captchaChallengeAsJpeg = jpegOutputStream.toByteArray();
// flush it in the response
response.setHeader(“Cache-Control“ “no-store“);
response.setHeader(“Pragma“ “no-cache“);
response.setDateHeader(“Expires“ 0);
response.setContentType(“image/“ + CAPTCHA_IMAGE_FORMAT);
ServletOutputStream responseOutputStream = response.getOutputStream();
responseOutpu
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-12-09 13:47 验证码\
目录 0 2017-12-09 13:47 验证码\方法一\
文件 31109 2014-10-30 10:58 验证码\方法一\ValidateCode.jar
文件 76 2017-06-03 11:59 验证码\方法一\使用.txt
目录 0 2017-12-09 13:47 验证码\方法三\
文件 4430 2017-06-04 11:21 验证码\方法三\captcha.xm
目录 0 2017-12-09 13:47 验证码\方法三\com\
目录 0 2017-12-09 13:47 验证码\方法三\com\liutao\
目录 0 2017-12-09 13:47 验证码\方法三\com\liutao\common\
目录 0 2017-12-09 13:47 验证码\方法三\com\liutao\common\captcha\
文件 3129 2017-06-04 10:30 验证码\方法三\com\liutao\common\captcha\JcaptchaServlet.java
目录 0 2017-12-09 13:47 验证码\方法三\com\liutao\common\web\
目录 0 2017-12-09 13:47 验证码\方法三\com\liutao\common\web\session\
文件 1106 2017-06-02 11:56 验证码\方法三\com\liutao\common\web\session\HttpSessionProvider.java
文件 639 2017-06-02 09:41 验证码\方法三\com\liutao\common\web\session\SessionProvider.java
文件 349875 2017-06-04 11:17 验证码\方法三\jcaptcha-1.0-all.jar
文件 330732 2017-06-04 11:34 验证码\方法三\jcaptcha-1.0-all.src.zip
文件 330411 2017-06-04 12:07 验证码\方法三\jcaptcha-1.0-all.zip
文件 932 2017-06-04 11:23 验证码\方法三\说明.txt
目录 0 2017-12-09 13:47 验证码\方法二\
文件 2475 2017-06-03 11:36 验证码\方法二\image.jsp
文件 157 2017-10-13 21:53 验证码\方法二\注意.txt
相关资源
- 做数模必备的数据库和资源网站
- web网站设计课程设计报告(实训报告
- ZMAX短信验证码
- 搜云社工库网站程序源码
- IIS6下的网站配置Rewrite伪静态组件教程
- 测试完整的适合做单个学校同学录网
- 百万格子网站源码
- 计算机外文期刊收录网站
- 在图片上生成验证码.zip
- webcc网站压力测试工具.zip
- zw_chap03美食资讯网站.zip
- GM开区网站生成器VIP珍藏版,一键就可
- 猫咪宠物店网站模板.rar
- 使用bootstrap3开发响应式网站
- Dreamweaver官方网站模板
- 163邮箱批量登录 免验证码
- 公告滚动效果 js网站特效
- 一款非常炫酷拥有动态特效的引导页
- 购物网站设计与实现
- CMS 网站后台内容管理系统模板-静态页
- 学生信息管理系统网站
- 个人网站设计论文文献综述
- Vue Django实现电子商务网站
- 班级网站源代码 班级网站
- 网站后台管理密码破解工具
- 扫描网站目录的工具 很好用的一个工
- Pixabay网站高清图片小工具
- [易语言源码]超人自动打验证码API调用
- 常见网站备份文件字典2954.txt
- 一个比较通用的网站主页面
评论
共有 条评论