J2EE搭建WAP站点时图片发布统一格式处理解决方案
来源:互联网 发布:2016最新网络红歌神曲 编辑:程序博客网 时间:2024/06/09 19:16
在WML中,由于支持的浏览器不同,对于图片格式也有不同的限制。比如常见的M3Gate,目前主要支持的是PNG格式,有的浏览器支持的是JPG的格式。但是如果图片不是自己加工的,比如是通过网页采集工具采集过来的图片格式各不相同,这样就需要在发布的时候进行统一的格式处理。
在这里,由于个人一直从事的是J2EE的研发,所以在发布图片的时候都是采用Servlet来发布的图片,为了解决WAP中遇到的这个挑战,做了一些比较深入的研究。下面是整理后的解决方案(已经实现),来完成图片发布时统一图片格式。
Solutions:
在J2EE的Web应用中,常见的规范是Servlet规范,由于目前主流的应用服务器都支持Servlet2.3规范,所以本方案的基本就是Servlet2.3规范,利用Servlet2.3中的Filter特性来过滤图片内容,整合图片格式。下面是具体的解决方案(假设用来发布图片的Servlet是getImage):
在getImage前面配置前置的Filter,在客户端访问图片的时候,拦截客户端的请求,生成一个新的ServletResponse对象传递给getImage。
提供后置的Filter(ImagePostFilter)
在getImage上面配置后置的Filter,拦截getImage的返回结果,同时根据getImage的返回结果,将图片转换成统一的格式返回给客户端。
外部实现HttpServletResponse类(ImageHttpServletResponse)
保存Web Container的HttpServletResponse以及getImage这个Servlet输出到response对象中的信息,如cookie,Header,ContentType等。
外部实现OutputStream类(ImageOutputStream)
在ImageHttpServletResponse类获取outputstream的时候,返回一个自己定义的ImageOutputStream,ImageOutputStream将getImage这个servlet中输出的所有二进制数据保存起来(可以使用java.nio.ByteBuffer)
下面介绍一些如何利用ImageIO对象来处理图片格式:
- 从输入流中读取出一个BufferedImage对象:
ByteArrayInputStream bin = new ByteArrayInputStream(outputstream.getBytes());
BufferedImage src = ImageIO.read(bin); - 利用ImageIO.write方法,将图片转换成指定的格式并写入到指定的流中:
ImageIO.write(bimage,"png",outs);
- J2EE搭建WAP站点时图片发布统一格式处理解决方案(原创)
- J2EE搭建WAP站点时图片发布统一格式处理解决方案
- IIS上搭建WAP站点
- 开发J2EE WAP环境搭建
- iis6.0发布站点,Http404错误解决方案
- J2EE Web项目乱码解决方案(统一编码utf8)
- JSON统一格式返回值,统一异常处理
- 处理Tushare数据源,统一PyalgoTrade格式
- 规范响应格式以及统一异常处理
- [Quant]处理Tushare数据源,统一PyalgoTrade格式
- Spring MVC统一异常处理解决方案
- SpringMVC统一异常处理 返回JSON解决方案
- wap优秀站点
- wap站点集合
- wap站点 交换友情链接
- 动态wap站点建立
- 如何构建WAP站点?
- wap 站点 必读
- nsIPrefBranch 读写配置文件
- U-BOOT源码分析及移植
- 服务端控件 对象不支持此属性或方法
- 简述表值函数
- min-height最小高度的实现(兼容IE6、IE7、FF)
- J2EE搭建WAP站点时图片发布统一格式处理解决方案
- php 汉字转化成 二进制 十进制 十六进制 数字
- 比尔.盖茨退休前留给职场青年的十句警言
- 从Linux到Solaris (1) ---- 差别概览
- 网站架构--之页面静态化、图片服务器分离、负载均衡
- JavaWeb JSTL
- ruby-debug命令
- vaadin 在eclipse中开发时热部署
- 关于OGRE配置CEGUI系统出现的问题