|
Тема |
PNG problem |
|
Автор | BBS (Нерегистриран) | |
Публикувано | 15.11.04 17:59 |
|
|
Napravih servlet koito da vry6ta dinami4en PNG image kato response (v slu4ai ne e prosto edin 4erven kvadrat) Eto i koda:
import javax.servlet.*;
import javax.servlet.http.*;
import java.awt.*;
import java.awt.image.*;
import java.io.*;
public class PNG
extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response) throws IOException,
ServletException {
BufferedImage image = new BufferedImage(
100, 100, BufferedImage.TYPE_INT_RGB);
Graphics g = image.getGraphics();
g.setColor(Color.red);
g.fillRect(0, 0, 99, 99);
response.setContentType("image/png");
OutputStream out = response.getOutputStream();
javax.imageio.ImageIO.write(image, "png", out);
out.close();
}
}
Puskam si edin IE otvariam si sevleta i vsi4ko e nared, polu4avam si 4ervenia kvadrat. Pompam refresh i pak vsi4ko e nared.
No sega si pravia edim html file coito da refreshva src-to na image na onmousemove. Eto i koda:
<html>
<head>
<script type="text/javascript">
antic =0
function SendMouseMove()
{
antic++
document.images.vp.src="http://localhost:8080/png"
+"?anti_cache="+antic
}
</script>
<title>
bla
</title>
</ head>
<body bgcolor="#ffffff">
<img name="vp" id="vp" src="http://localhost:8080/png" onmousemove="SendMouseMove()">
</body>
</html>
I kato razmardam cursorora v/u image-a po4vam da molu4avam exceptioni ot servleta. Niakoi da ima idei za6to stava taka:
javax.imageio.IIOException: I/O error writing PNG file!
at com.sun.imageio.plugins.png.PNGImageWriter.write(PNGImageWriter.java:1104)
at javax.imageio.ImageWriter.write(ImageWriter.java:591)
at javax.imageio.ImageIO.write(ImageIO.java:1434)
at javax.imageio.ImageIO.write(ImageIO.java:1508)
at test.PNG.doGet(PNG.java:24)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125)
at java.lang.Thread.run(Thread.java:536)
Caused by: java.net.SocketException: Connection reset by peer: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at org.apache.catalina.connector.ResponseBase.flushBuffer(ResponseBase.java:674)
at org.apache.catalina.connector.HttpResponseBase.flushBuffer(HttpResponseBase.java:764)
at org.apache.catalina.connector.ResponseFacade.flushBuffer(ResponseFacade.java:219)
at org.apache.catalina.connector.ResponseStream.flush(ResponseStream.java:244)
at javax.imageio.stream.FileCacheImageOutputStream.flushBefore(FileCacheImageOutputStream.java:212)
at com.sun.imageio.plugins.png.ChunkStream.finish(PNGImageWriter.java:120)
at com.sun.imageio.plugins.png.PNGImageWriter.write_IHDR(PNGImageWriter.java:368)
at com.sun.imageio.plugins.png.PNGImageWriter.write(PNGImageWriter.java:1071)
... 34 more
|
| |
|
|
|