Java Tomcat生成图片验证码不显示问题 超坑记录
问题现象:登陆页面验证码,在一次更新后无法显示,后台没有错误日志,浏览器里code 200 没找到一点儿错误,就是不显示!!在本地开发环境正常!
。。。。。此处省略一下午的操作
问题原因:
生成验证码的图片使用的这段代码
ServletOutputStream out = null; try { // 图像输出out = response.getOutputStream();ImageIO.write(bufferImg, "jpeg", out); } catch (IOException e) {try {out.close();} catch (IOException e1) {e1.printStackTrace();} }
首先问题是ImageIO.write 使用了tomcat下的temp临时目录,这个在部署的时候删除了,导致无法显示;
然后就是,本来找不到零食目录时会报异常:
javax.imageio.IIOException: Can't create cache file!
at javax.imageio.ImageIO.createImageInputStream(ImageIO.java:361)
at javax.imageio.ImageIO.read(ImageIO.java:1351)
但是catch (IOException e)这个并没有捕获到这个异常,后台什么日志都没记录到,导致浪费了很长时间没发现,后来抄了一段别人的代码,里面是catch(Exception e)才注意到错误!!
解决方法:就是新建个temp目录就好了;
另外还可以通过ImageIO.setUseCache(false)设置,更改缓存策略,使用内存缓存,不使用文件目录缓存;或者ImageIO.setCacheDirectory(cacheDirectory),指定缓存目录
Java Tomcat生成图片验证码不显示问题 超坑记录相关推荐
- 使用Java读取 “Python写入redis” 的数据踩坑记录
https://my.oschina.net/u/2338224/blog/3061507 使用Java读取 "Python写入redis" 的数据踩坑记录 https://seg ...
- Java代码生成图片验证码实现
介绍一个使用Java代码生成随机图片验证码的示例 可以直接配置成Servlet,在页面直接调用 Java代码随机生成图片验证码 package com.rchm.util.images;import ...
- Java代码生成图片验证码
Java生成图片验证码 1.编写代码 copy 下面的代码 并运行main函数 import javax.imageio.ImageIO; import java.awt.*; import java ...
- 微信退款 java工具类,微信支付中退款踩坑记录
首先附上微信支付的开发者文档 其实这里所说的踩坑记录,无非就是微信在开发者文档上的写不太明确,也没有比较官方的demo,在此列出一个可行的demo,供大家下载使用. 主要问题就是在这几步解密上 微信的 ...
- java 发送邮件_Jenkins实现自动化邮件发送踩坑记录
文章简介 本文分享Jenkins实现邮件发送,安装Jenkins可参考jenkins安装.写这篇文章,是在实际使用Jenkins过程中遇到这样一个问题,当每次Jenkins构建成功或者失败后,需要个人 ...
- java国际化服务器不识别_国际化踩坑记录java.util.MissingResourceException:
在做国际化的时候遇到一个bug是无法加载到根目录下的自定义的properties文件 报错如下: java.util.MissingResourceException: Can't find bund ...
- GD32驱动DS3231显示时钟踩坑记录
近日调试GD32驱动ds3231的程序,程序从STM 32移植过来的,所以就没想太多.当时STM32有HAL库开发,运行在内部晶振经PLL后的64MHZ频率.具体驱动程序网上一大堆,我这里就不在赘述了 ...
- linux+tomcat+jdk环境验证码无法显示
我的环境配置:RHEL6.5+tomcat6+jdk1.6 今天遇到一个奇怪的现象,我的tomcat启动起来之后,网站无法显示验证码,导致无法登陆.我的tomcat启动过程是这样的: 我有一个进程守护 ...
- 后端生成图片验证码,Kotlin生成图片验证码,Java生成图片验证码,图片验证码的生成和校验
后端生成图片验证码 注:以下代码主要使用kotlin进行编写,kotlin可兼容java,可以直接使用.IDEA也支持将java与kotlin代码进行互相转换. 1.引入依赖: Gradle(若你使用 ...
- 【java图片验证码】Java 服务端生成图片验证码及验证
Java 服务端生成图片验证码及验证 简介 验证码是防止有人利用机器人自动批量注册.对特定的注册用户用特定程序暴力破解方 式进行不断的登录.灌水.因为验证码是一个混合了数字或符号的图片,人眼看起来都费 ...
最新文章
- 『求助』请求服务器超时或失败问题
- BZOJ1146[CTSC2008]网络管理——出栈入栈序+树状数组套主席树
- Android_安卓为按钮控件绑定事件的五种方式
- BI报表平台纪实:半年被叫停,用户个位数,分析后我找到了原因
- linux 反汇编目标文件,用于查看目标文件或可执行文件的组成信息的命令:objdump命令...
- SCOM 2012 R2监控Microsoft Azure服务(2)配置Azure监控
- vmware 虚拟机nat连接,局域网访问
- 项目中使用 husky 配合 lint-staged 进行git提交前代码检查
- 看完这篇文章你就可以告诉领导你精通Zookeeper了
- Halcon DrawRegion()后会阻塞直到右键按下,请问如何主动取消绘制区域
- 有密码的PDF文件如何编辑?
- 圣思园——JAVA SE Lesson 1
- DFS练习——王子救公主
- 函数渐近界与算法性能分析
- svn: E155007: 'XXX' is not a working copy
- Rocket.chat 安装
- python基础读后感_《python基础教程 》第一章 读书笔记
- 关于自定义View的drawText字体测量
- 疯狂英语脱口而出900句
- hibernate中mappedby的理解
热门文章
- google 常用的技术搜索关键词
- meson ninja 简介
- 前端三大框架React、Vue、Angular简述
- 【模型选择】从0到1的数据价值实现需要数据分析师做些什么?
- codec engine代码阅读四---CE_DIR/examples/ti/sdo/ce/examles/codecs/videnc_copy(转)
- 六轴陀螺仪简介及在智能车中的应用
- 猿创征文|Apache ShenYu网关插件介绍
- C++ 编译报错discards qualifiers [-fpermissive]
- EVIEWS:ARCH类、GARCH、EGARCH,建模估计沪深300指数2019-2020年交易日的波动率,并对结果进行分析。
- win10 联想键盘快捷键关闭_win10系统关闭快捷键的操作方法