关于Servlet产生动态图片的疑问。

yuanetking 2008-06-27 02:27:38
目前我需要在网页中动态显示一个图片,而这个网页又是使用PHP做的。
那么我打算通过纯HTML IMAGE 标签来访问服务器:<img src="/queryimage"></img>

服务器的代码是这么写的。
BufferedImage image = new BufferedImage(123, 123, BufferedImage.TYPE_INT_RGB); // 123 wide, 123 tall
Graphics2D graphics2D = image.createGraphics();

graphics2D.dispose();

response.setContentType("image/png");
OutputStream outputStream = response.getOutputStream();
ImageIO.write(image, "png", outputStream);
outputStream.close();

现在问题出来了, IE可以显示图片,但是图片把网页上的其他HTML都替换了显示出来的就是这样:
<html>
<head>
</head>
<body>
<img src="/queryimage"></img>
</body>
</html>


而且,FF浏览器则更绝,图片不停闪烁。就是显示不出来,还报告了一个错误:
The image “http://localhost:8087/test/queryimage” cannot be displayed, because it contains errors.


大家知道是什么原因么?
...全文
206 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
TRMeister 2008-06-27
  • 打赏
  • 举报
回复
楼主的方法,应该可以。但是你html页面时怎么写的呢?
java2xw 2008-06-27
  • 打赏
  • 举报
回复
jsp 话楼上说的可以 php我不清楚
laorer 2008-06-27
  • 打赏
  • 举报
回复
你的页面还是打算用php做吗?我不清楚,不过可以建议一下,你把img的路径放进request中,然后在页面上获取这个路径,这样似乎可行,
如果是jsp的话

<img src="<%=request.getParameter("imgSrc") %>" />
yuanetking 2008-06-27
  • 打赏
  • 举报
回复
我今天打开电脑测试了一下就好用了。可能是昨天晚上服务器没同步资源吧,,很奇怪。
4,楼和7楼,说的还是比较靠近问题,证明仔细看过并且确实了解这个问题。
所以只能把分给他们。
zidasine 2008-06-27
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 TRMeister 的回复:]
目前我需要在网页中动态显示一个图片,而这个网页又是使用PHP做的。

你的PHP要是在apache上。apache会知道 <img src="/queryimage">这个图片要到后面的应用服务器去去么?你配置过么?所以可能取不到。

如果都不部署在一个应用服务器上,LZ的写法肯定没有问题。我也写过一样的东西。如果图片显示不出来。那么肯定是servlet有问题。
[/Quote]
TRMeister 2008-06-27
  • 打赏
  • 举报
回复
目前我需要在网页中动态显示一个图片,而这个网页又是使用PHP做的。

你的PHP要是在apache上。apache会知道<img src="/queryimage">这个图片要到后面的应用服务器去去么?你配置过么?所以可能取不到。

如果都不部署在一个应用服务器上,LZ的写法肯定没有问题。我也写过一样的东西。如果图片显示不出来。那么肯定是servlet有问题。
dyw31415926 2008-06-27
  • 打赏
  • 举报
回复
那么我打算通过纯HTML IMAGE 标签来访问服务器: <img src="/queryimage"> </img>
另外,你的地址这样写,也肯能够访问不到,你可以常识一下
用相对地方
./rueryimage
../images/rueryimage
或是用远程访问地址,就是你的全servlet地址
比如http://127.0.0.1/项目名称/命名空间/rueryimage等
===================================================

但既然ie能出来图片,我想主要是因为你的html不规范
img标签是自封闭的应该写成类似如下的情况,firefox对html标签的检测更严格

<img src="/rueryimage" alt="未能显示图片" />
laorer 2008-06-27
  • 打赏
  • 举报
回复
<img src="/queryimage">

这个是图片的路径?

静态的话,我不知道怎么去得到他的图片路径,或许你需要js的Image对象来操控
yuanetking 2008-06-27
  • 打赏
  • 举报
回复
页面就是: <img src="/queryimage"> </img>
感觉我说的挺清楚地。我打算在一个纯HTML页面里使用图片访问服务器,并返回一个动态图片。
并打算让返回的图片还停留在他定义的位置。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧