|
所谓内存中保存图像,通过流在网页中显示,其实是一个比较简单的小技巧问题
1,单独的类用来生成图像
2,单独的类用来保存图像于内存中,容器可以考虑队列,散列表等等,索引可以考虑就用函数加参数(或者额外的保证唯一性的参数),至于图像在内存中的格式,根据应用需求和负载而定。例如负载小,而客户端需求格式有可能变化,则可以采用直接存储bufferedimage,如负载大,而格式不是很严格(浏览器),则可以保存转换成特定格式的二进制数据(例如jpeg格式)
3,单独的类用来处理图像请求,例如本贴,就是一个servlet,映射在特定的url上(例如/dynamicimage/*),然后再根据页面发过来的参数,访问图像容器类,获得相应的图像对象或者二进制数据,视必要加以转换,再以流形式输出即可。如果确定图像不可能重复,则可以在输出后即删除内存对象,否则可以保留,并采取某种定时清除方法以保证内存的有效利用。
4,涉及到有可能存在的ajax需求,可以考虑搭配一定的javascript |
|