Java验证码
来源:互联网 发布:淘宝小视频保存到手机 编辑:程序博客网 时间:2024/06/02 04:15
Servlet代码 (JcaptchaServlet.java)
/**
* 提供验证码图片的Servlet
*/
@SuppressWarnings(“serial”)
public class JcaptchaServlet extends HttpServlet {
public static final String CAPTCHA_IMAGE_FORMAT = “jpeg”;
private ImageCaptchaService captchaService;private SessionProvider session;@Overridepublic void init() throws ServletException { WebApplicationContext appCtx = WebApplicationContextUtils .getWebApplicationContext(getServletContext()); captchaService = (ImageCaptchaService) BeanFactoryUtils .beanOfTypeIncludingAncestors(appCtx, ImageCaptchaService.class); session = (SessionProvider) BeanFactoryUtils .beanOfTypeIncludingAncestors(appCtx, SessionProvider.class);}@Overrideprotected 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(); responseOutputStream.write(captchaChallengeAsJpeg); responseOutputStream.flush(); responseOutputStream.close();}
}
导入jcaptcha-my-1.0.jar
0 0
- java验证码 验证
- JAVA 验证码
- java验证码类
- java随机验证码
- JAVA中文验证码
- java 实现验证码
- java验证码
- java生成验证码
- java验证码代码
- java验证码汇总
- Java彩色验证码
- java验证码代码
- java图片验证码
- java图片验证码
- java验证码
- java 中的验证码
- java验证码汇总
- java图片验证码
- Android横竖屏切换解决方案
- windows下ACE安装使用教程
- jedis 连接redis超时异常
- python opencv 教程资料
- Android在选择系统相册图片时,返回的图片地址不同导致程序崩溃!!!
- Java验证码
- matlab 画三维图像
- MyBatis对表执行CRUD(增删改查)操作
- Android中的线程池(二)
- 回溯法
- 项目SVN分支项目和并操作
- Nginx配置文件详细说明
- 查看Oracle数据库DBA角色,以及如何去除用户的DBA权限
- CodeFirst int类型主键问题 column does not allow nulls. INSERT fails.