• 大小: 973KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-02
  • 语言: 其他
  • 标签: 网站  JAVAweb  验证码  

资源简介

可以直接使用的三种编写验证码的方法 内有代码及如何去使用的详细步骤

资源截图

代码片段和文件信息

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.xml
     目录           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

评论

共有 条评论