`

原来中间件的temp目录也有大作用

 
阅读更多

最近,小编在使用jcaptcha 来生成验证码时,无意间发现个问题~多方谷歌、度娘后,方知答案!!

参阅:http://blog.sina.com.cn/s/blog_5999840701009t06.html

 

 

一直用eclipse-jetty 插件在运行,没发现生成用jcaptcha验证码对temp目录的作用,直到部署到tomcat上是,无意间把tomcat-temp目录删除后,程序报

javax.imageio.IIOException: Can't create output stream!
	at javax.imageio.ImageIO.write(ImageIO.java:1560)
	at com.csair.cas.web.servlet.ImageCaptchaServlet.generateCaptchaImage(ImageCaptchaServlet.java:58)
	at com.csair.cas.web.servlet.ImageCaptchaServlet.doGet(ImageCaptchaServlet.java:31)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.github.inspektr.common.web.ClientInfoThreadLocalFilter.doFilter(ClientInfoThreadLocalFilter.java:63)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Thread.java:662)
Caused by: javax.imageio.IIOException: Can't create cache file!
	at javax.imageio.ImageIO.createImageOutputStream(ImageIO.java:397)
	at javax.imageio.ImageIO.write(ImageIO.java:1558)
	... 25 more
Caused by: java.io.IOException: 系统找不到指定的路径。
	at java.io.WinNTFileSystem.createFileExclusively(Native Method)
	at java.io.File.checkAndCreate(File.java:1704)
	at java.io.File.createTempFile(File.java:1792)
	at javax.imageio.stream.FileCacheImageOutputStream.<init>(FileCacheImageOutputStream.java:71)
	at com.sun.imageio.spi.OutputStreamImageOutputStreamSpi.createOutputStreamInstance(OutputStreamImageOutputStreamSpi.java:50)
	at javax.imageio.ImageIO.createImageOutputStream(ImageIO.java:393)
	... 26 more

 

 

在调用jcaptcha的servlet里,这个方法

ImageIO.write(image, "jpeg", response.getOutputStream());

需要写缓存文件....估计使用jcaptcha 生产验证码时需要用到temp目录,但是却又不往里写数据...奇怪吧~~

 

吸取教训~~原来每个中间件的temp目录是有可能有作用~~切记勿删除哈~~~

 

 

 

分享到:
评论

相关推荐

    tomcat7.0中间件

    6. `temp`目录:Tomcat运行时产生的临时文件存储位置。 7. `work`目录:存放编译后的JSP页面和应用的临时工作文件。 总的来说,Apache Tomcat 7.0作为一款成熟的Java中间件,不仅提供了标准的Web服务功能,还在性能...

    三个知名文档在线编辑中间件的防下载漏洞

    金格的控件会在本地用户的temp目录下生成临时文件,用户只需找到并复制这些文件,就可以在本地查看文档内容,这同样暴露了防下载机制的缺陷。 这些防下载漏洞的存在,对于依赖这些服务存储和处理敏感信息的组织来说...

    apache-tomcat-8.5.33.rar_tomcat 8.5.33版本_中间件_中间件服务器

    6. `temp`目录:临时文件存放地。 7. `work`目录:存放编译后的JSP页面和Servlet的类文件。 解压这个文件后,你需要按照文档指示进行配置,如修改`conf/server.xml`以设置端口、路径等,然后可以使用`bin`目录下的...

    软件构件与中间件实验指导书

    ### 软件构件与中间件技术实验指导书知识点总结 #### 一、软件构件与中间件技术概览 在现代软件开发过程中,为了提高软件的可复用性、灵活性和扩展性,软件构件(Software Component)与中间件(Middleware)的...

    web_upload_temp_1

    标题“web_upload_temp_1”可能指的是一个与Web上传功能相关的临时文件或目录,这在开发Web应用时很常见。由于描述中提到的是一个博客链接(https://jarip.iteye.com/blog/2222734),我们可以推测这个压缩包可能...

    temp网站:Temp Dymer足球俱乐部网站

    【标题】:“Temp Dymer足球俱乐部网站”是一个基于Python的Django框架开发的临时性足球俱乐部网站项目。这个网站可能是为了短期活动或者测试目的而创建的,它展示了Django在构建动态、交互式Web应用方面的强大功能...

    temp-node-tut

    4. `src`或`lib`目录 - 存放项目的源代码,可能包含各种功能模块、中间件、路由文件等。 5. `public`或`static`目录 - 用来存放静态资源,如CSS样式表、JavaScript文件、图片等,这些文件将被直接发送给客户端。 6...

    NodeJs form-data格式传输文件的方法

    使用koa有一段时间了,评价是小巧精悍,只封装了基本的如request对象和response对象到上下文中,其他功能基本上靠第三方中间件来实现。导致的问题是使用起来就不太方便了,比如用koa上传文件,网上资料有限,对于...

    linux 下安装weblogic 文档

    -------------------------"中间件主目录"=[输入新值或使用值"/weblogic/Oracle/Middleware"] 输入新值中间件主目录或[Exit][Previous][Next]&gt;直接输入回车 ``` - **提示**: 如果不指定新值,则使用默认路径 `/...

    apache-tomcat-8.0.1.tar.gz

    在本案例中,我们讨论的是Apache Tomcat的8.0.1版本,它是一个非常重要的中间件,广泛用于开发和部署Web应用程序。该版本的发布可能包含了一些性能优化、安全修复或新功能的引入。 "apache-tomcat-8.0.1.tar.gz" 是...

    【中间件篇-Redis缓存数据库】Redis高级特性和应用(慢查询、Pipeline、事务、Lua)

    Redis的慢查询日志(Slow Log)是用于追踪执行时间过长的操作,有助于定位和优化性能瓶颈。当一个命令的执行时间超过预设阈值时,Redis会将其记录在慢查询日志中。你可以通过`slowlog get`命令查看日志,`slowlog ...

    django-temp

    【描述】"django-temp" 的描述没有提供具体信息,但我们可以推测它可能包含了基本的 Django 项目结构,包括设置文件、应用目录、模板文件、视图、模型和URL配置等。开发者可能可以通过此项目快速了解 Django 的工作...

    apache-tomcat-6.0.44.zip_O5QT_apache-tomcat-6_du_tomcat6

    其中,"apache-tomcat-6.0.44"是解压后的目录,包含了服务器的核心文件,如bin、conf、lib、logs、temp、webapps和work等子目录。 - **bin** 目录:包含启动和停止Tomcat的脚本,如startup.sh或startup.bat(根据...

    tomcat9绿色版

    3. **目录结构**:了解`conf`、`webapps`、`logs`、`temp`和`work`等目录的作用,这有助于管理和调试应用程序。 4. **服务器配置**:`server.xml`是Tomcat的主要配置文件,你可以在这里定义服务器端口、虚拟主机、...

    tomcat 8.0.53 X64

    6. **temp** 目录:服务器运行时的临时文件存储位置。 7. **work** 目录:JSP编译后的类文件和Servlet的工作目录。 在部署和管理Tomcat 8.0.53时,你需要了解以下核心概念和步骤: 1. **安装与配置**:下载官方...

    stm32f10x 空白模板 keil5

    2. **FWLIB**:这通常包含STM32的固件库,由ST官方提供,包含了驱动程序、RTOS、中间件等,用于快速实现对STM32的外设操作。STM32F10X的固件库分为HAL(Hardware Abstraction Layer,硬件抽象层)和LL(Low Layer,...

    MQ安装配置文档.docx

    《MQ中间件安装配置详解》 消息队列(Message Queue,简称MQ)是软件系统中的一种中间件,用于在分布式环境中实现应用之间的异步通信和数据交换。在本文中,我们将详细阐述MQ中间件的安装配置过程,以Apache ...

    civicactions-temp-cms:临时Strapi CMS,用于重新设计现场

    这个目录可能包含了Strapi的配置文件、内容模型定义、插件、定制的中间件、路由以及可能的自定义管理面板组件。 开发人员在处理这样的项目时,可能会执行以下步骤: 1. **安装和设置**: 使用`npm install`或`yarn`...

    TUXEDO与ORACLE数据库的互连[参考].pdf

    在当今的软件开发领域,尤其是在银行、电信、金融等关键行业,中间件已经成为构建大型计算机应用系统的重要组成部分,与操作系统和数据库一起构成了三大基础软件。BEA TUXEDO,作为一款高性能的中间件产品,被广泛...

Global site tag (gtag.js) - Google Analytics