我开发了一个JSP,它将PNG文件写入部署目录的文件夹中。在写完内容后,刷新,关闭和同步文件我尝试使用标记在同一个JSP中显示它,但大多数时候imatge没有出现在浏览器的renderized页面上(请求返回404 Not找到回应)。文件已创建(我可以将文件显示在系统资源管理器中的文件夹中)。
我正在使用Tomcat 8作为Web容器,我正在Eclipse Luna IDE中执行webapp和Tomcat。
任何人都可以帮助我吗?
答案 0 :(得分:1)
我认为之前已经以稍微不同的形式回答了这个问题:
Tomcat 7 returns "304 Not Modified" on modified/non existent resource
但是,由于您可能只生成一次PNG文件(或者可能不常生成),因此IMO是一个有效的用例。
由于Tomcat确实进行了缓存,我认为您可能需要考虑在cachingAllowed="false"
上使用<Context>
。请注意,由于Tomcat将针对每个静态请求转到磁盘而不是查询其缓存,因此您可能会观察到轻微的性能下降。
您还可以选择编写自己的servlet,直接从磁盘提供自动生成的PNG文件。使用Tomcat DefaultServlet
支持的所有铃声和口哨来编写自己的静态资源servlet可能很复杂,但是你可以跳过很多这样的东西并且总是服务于整个文件而不管是什么客户要求。