声明下,这个错误是在实践过程中发现的,并不代表没有解决办法.
文中在jsp中直接用 outputstream=response.getoutputstream(); 获得response的输出流,然后向这个输出流写image信息. 在实际运行中,tomcat会报错, 不知作者是怎么解决的. 经过研究,发现这个问题是由于jsp转换成servlet的时候形成的, jsp 在转换成servlet后的运行过程中,也会要得到response的输出流(我是这么理解的),这样会造成流向错误, tomcat后台会报错, 但前台网页同样能输出图片流.
改用servlet后, 由于能控制到doget,dopost的方法, 不用jsp再翻译成servlet,直接运行servlet, 这样就不会报错了.
而且servlet能够配成各种URL, 在当前的项目中,是配成/makepic/output.jpg 方式,直接生成图片流输出, 然后在网页中调用 《IMG src="”/makepic/output.jpg?picname=xxx”"》 运行的. 可以实现图片合成; 和别的项目共用一组图片,而不用把图片放在根目录下. 还是有很多好处的.
还有一个. 文章中使用了sun的包, 这个是不建议使用的, 还有一种方法,直接使用java的包, 下次修改帖出来..
也许JSP中有解决的办法... 也可能是我没仔细看这篇文章..因为文章发表的时候,正好前一天刚好解决了问题. 就懒得再详细看了. :)