易截截图软件、单文件、免安装、纯绿色、仅160KB

J2EE搭建WAP站点时图片发布统一格式处理解决方案

在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);


相关文档:

WAP平台开发培训班

热线:021-51875830 62450161 0755-61280252
传真:021-62450161 0755-25912501
业务手机:15921673576
详情请访问网站:http://www.bjzhda.cn/
                http://www.51qianru.cn
         ......

.NET WAP开发 WAP2.0篇

原文地址:http://www.pumaboyd.com/archives/754
WAP1.1时代是否结束这个不可下定论。但WAP2.0的大面积使用应该已经成熟。DianPing网的WAP站点也基本上迁移到WAP2.0
从构建WAP网站的过程来看,WAP2.0和WAP1.1并没有什么很大的区别。
可以这么说wap2.0其实就是xhtml的网站,而wap1.1是wml的网站。
相比WML受到的限制,WA ......

关于应用VSTS录制wap回放web浏览器成乱码问题

今天在应用VSTS录制wap回放时web浏览器里面所有的文字都显示成了乱码,虽然对回放结果没有什么影响,但是,看上去终是让人不满意,初步估计是因为回放的时候游览器使用的字符集跟wap网站页面的不一致。于是我把IE的编码选择为自动选择,再回放,OK,问题解决了。不再显示乱码了! ......

j2me学习 J2me Wap Explorer


package org.fox.image;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import javax.microedition.io.Connector;
import javax.microedition.io.HttpConnection;
import javax.microedition.lcdui.Image;
/**
* 类名:ImageHandler.java 编写日期: 2007-8-17 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号