`
xxpp688
  • 浏览: 14298 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java 验证码那点事

 
阅读更多

好多人,用java输出验证码喜欢用 

<div class="iteye-blog-content-contain" style="font-size: 14px">

  1. import com.sun.image.codec.jpeg.JPEGCodec;    
  2. import com.sun.image.codec.jpeg.JPEGImageEncoder;    
  3.   
  4. JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(response.getOutputStream());  
  5. encoder.encode(image);  

</div>

 但是如果你用oracle 1.637 以后的jdk 1.6或者用jdk 1.7.x你会发现JPEGCodec,JPEGImageEncoder 已经无法导入了;

其实在oracle 收购sun 之后有了 import javax.imageio.ImageIO; 这个方法来替代原来的方法;不过如果直接用
ImageIO.write(image, "JPEG", response.getOutputStream());

一般情况下不会出现问题,但是有的时候你会发现会出现一个异常:

javax.imageio.IIOException: Can't create output stream!
 at javax.imageio.ImageIO.write(ImageIO.java:1521)

这个问题出现的原因,是你吧tomcat (或者其他web容器)的缓存目录给删掉了,所以写图片文件的时候会发生IO读写错误,

解决的办法有:

1. ImageIO.setUseCache(true); //不使用缓存

2.[java] view plaincopy在CODE上查看代码片派生到我的代码片

 
  1. ImageIO.setUseCache(true);  
  2. ImageIO.setCacheDirectory(CommonToolsUtil.checkFileDir(FileContents.CATCHPATH));  
  3. ImageIO.write(image, "JPEG", response.getOutputStream());// 将内存中的图片通过流动形式输

自己手动指定缓存目录

 

3.

就是把删掉的web容器的缓存目录加上。

 

 

分享到:
评论

相关推荐

    java 验证码工具类 java 验证码工具类 java 验证码工具类

    java 验证码工具类 java 验证码工具类 java 验证码工具类java 验证码工具类 java 验证码工具类 java 验证码工具类java 验证码工具类 java 验证码工具类 java 验证码工具类java 验证码工具类 java 验证码工具类 java ...

    Java验证码实现源码

    总的来说,Java验证码的实现涉及到图像处理、随机数生成、字符串操作等多个技术点,是Java Web开发中一个实用且有趣的实践。通过深入研究,你可以提升自己的Java编程技能,同时增强对网络安全的理解。

    java-验证码识别-验证码破解

    在这个“java-验证码识别-验证码破解”的主题中,我们将深入探讨如何使用Java进行验证码识别,特别是通过Tess4J库进行OCR(光学字符识别)。 验证码的主要目的是防止自动化的恶意行为,如机器人攻击或垃圾邮件发送...

    java 验证码失效异常类

    java 验证码失效异常类java 验证码失效异常类java 验证码失效异常类java 验证码失效异常类java 验证码失效异常类java 验证码失效异常类java 验证码失效异常类java 验证码失效异常类java 验证码失效异常类java 验证码...

    java实现滑动验证码

    java实现滑动验证码

    Java验证码框架.

    Java验证码框架.可实现多种验证很强大

    java验证码的源码

    Java验证码是一种常用的安全机制,用于防止自动化的机器人或者恶意脚本对网站进行非法操作,比如批量注册、恶意登录等。验证码通常由随机生成的一串字符或数字组成,用户需要正确输入才能完成相应的操作。在Java中...

    java验证码识别

    Java验证码识别技术主要涉及到图像处理和光学字符识别(OCR)两个关键领域,是自动化系统中用于防止机器人自动操作的一种安全机制。在这个Java项目中,我们看到的文件名可能与训练模型、输入图像和识别结果有关。...

    纯Java验证码工具类

    "纯Java验证码工具类" 提供了一种简便的方法来生成这种安全机制,无需依赖其他语言或库。这个工具类可以被轻松地集成到任何Java项目中,为你的应用程序添加一道防线。 验证码生成通常包括以下几个关键步骤: 1. **...

    70.java验证码生成.zip

    70.java验证码生成.zip70.java验证码生成.zip70.java验证码生成.zip70.java验证码生成.zip70.java验证码生成.zip70.java验证码生成.zip70.java验证码生成.zip70.java验证码生成.zip70.java验证码生成.zip70.java...

    Java验证码的实现

    总的来说,Java验证码的实现涉及到Java图形处理、Web编程以及安全策略等多个方面的知识,是Java Web开发中一个实用且重要的技能。通过实践,你可以更好地理解和掌握这些技术,并能根据实际需求进行扩展和优化。

    Java简单验证码识别(附源码)

    总的来说,Java验证码识别不仅加深了对图像处理和模式识别的理解,也为后续学习更高级的机器学习和深度学习技术打下了基础。通过实践这个项目,你可以掌握实际问题的解决思路,提高编程能力,并且能够灵活运用所学...

    java 验证码

    在本项目中,我们关注的是如何生成Java验证码,包括添加水印、添加干扰线、图片压缩以及设置字体等关键步骤。 首先,`ImgFontByte.java`可能包含了自定义字体的处理逻辑。在生成验证码时,通常会使用不常见的字体来...

    java验证码生成验证

    csdn上三种java验证码生成方法,以及谷歌开源验证码,总共四种验证码生成集合。将生成的四个验证图片放在一个页面上以供比对,全部可以运行。 四种方法分别为: 1. 数字、字母、汉字混合验证码,叠影(给力)、扭曲 ...

    java验证码源代码

    学习时使用的验证码java程序,很简单,对于初学者帮助很大。

    java 验证码识别源程序

    这个Java验证码识别源程序针对的是Windows操作系统,并且据描述声称其识别准确率超过90%,这意味着它具有较高的实用价值。接下来,我们将深入探讨验证码识别的基本原理、相关技术以及如何在Java中实现。 验证码...

    java 验证码工具类 java 验证码工具类

    java 验证码工具类java 验证码工具类java 验证码工具类java 验证码工具类java 验证码工具类java 验证码工具类java 验证码工具类java 验证码工具类java 验证码工具类java 验证码工具类java 验证码工具类java 验证码...

    JAVA验证码原理及实现

    总的来说,JAVA验证码的实现结合了图像处理、字符串随机生成和安全存储等多个技术点,是Web应用中防止自动化攻击的重要手段。理解并掌握这些原理有助于我们在开发过程中构建更安全、更用户友好的验证码系统。

    java验证码生成类

    这篇博客文章“java验证码生成类”提供了一个简单的示例,下面我们将深入探讨验证码生成的相关知识点。 首先,验证码的基本原理是生成一段随机的、难以由机器识别的文字或数字序列,然后要求用户在限定时间内输入这...

    java验证码组件Jcaptcha

    Java验证码组件Jcaptcha是用于生成安全、动态的图像验证码的工具,主要目的是为了防止自动化的机器人或恶意软件在Web应用程序中进行非法操作,如批量注册、登录等。它通过生成随机字符组合并扭曲图像背景来增加人眼...

Global site tag (gtag.js) - Google Analytics