使用技巧:JSP中如何发送一个动态图像
日期:2007年7月31日 作者: 查看:[大字体 中字体 小字体]-
你是否曾经想过从jsp页面(或者servlet)中发送动态产生的图像?这篇技巧告诉你如何做。要运行这里的代码,你需要一个Tomcat或者其他支持JSP 1.1的web服务器。
当一个web页面带有image/jpeg (或者其他的图像格式)的MIME类型被发送时,你的浏览器将那个返回结果当作一个图像,然后浏览器显示图像,作为页面的一部分或者完全作为图像自身。要为你的jsp页面设置MIME类型,你需要设置页面的contentType属性:
<%@ page contentType="image/jpeg" ... %>
然后你需要创建一个BufferedImage绘制你的动态图像:
BufferedImage image = new BufferedImage(width,height, BufferedImage.TYPE_INT_RGB);
创建完一个BufferedImage后,你需要得到图形环境进行绘制,一个Graphics或者Graphics2D对象:
Graphics g = image.getGraphics();
// or
Graphics2d g2d = image.createGraphics();
从现在起你就可以绘制图像内容了。对图形环境绘制就会画到BufferedImage。最开始这个图像都是黑色的,因此用你希望的背景颜色填充图像是一个不错的主意,然后,当你完成图像的绘制,你需要dispose图形环境:
g.dispose();
// or
g2d.dispose();
一旦完成图像的绘制,你在response中返回那个图像。你可以使用非标准的com.sun.image.codec.jpeg包中的JPEGImageEncoder类编码图像,或者如果你使用JDK1.4,你可以使用标准的ImageIO类。在使用JPEGImageEncoder时有一个技巧,你必须从ServletResponse取来ServletOutputStream而不能使用隐含的JSP输出变量out。
ServletOutputStream sos = response.getOutputStream();
JPEGImageEncoder encoder =JPEGCodec.createJPEGEncoder(sos);
encoder.encode(image);
// or
ImageIO.write(image, "JPEG", out);
这里有一个从所有的可能方案中(例如g.dispose();或者g2d.dispose();)选取的一个完整的范例.这个例子使用Graphics对象绘制一个随机的多边形,图像通过JPEGImageEncoder绘制,你可以自由设置多边形的顶点数得到更复杂的形状,换言之,有更多顶点和边。
要运行这个范例,将从"<%@"到最后一个"%>"之间的jsp代码放到一个名为image.jsp的文件中,将那个文件放到你的web服务器可以找到的地方,在使用Tomcat的情况下是ROOT目录,启动Tomcat,访问http://localhost:8080/image.jsp。
(出处:急速软件下载学院)
-
- 使用技巧:JSP中如何发送一个动态图像 相关文章:
- ·McAfee发布2008年十大安全威胁预测
- ·回顾历年电影大片 看GPS导航产业发展
- ·微软会发布Win Server 2008 RC2?
- ·Windows Server 2008 RC1发布、下载
- ·虚拟化版Windows Server 2008发布
- ·Websense发布2008年十大安全威胁预测
- ·Avant浏览器11.6正式版发布
- ·卡巴斯基发布8.0版最新特性(附下载)
- ·Windows Live Messenger最新WAP版发布
- ·Office 2007 SP1升级包中文版发布 抢先下载
- 使用技巧:JSP中如何发送一个动态图像 相关软件
- ·PSP2.71官方发布的美版恢复包
- ·NDS《发条武士》模拟器
- ·《电锯狂人》发泄试玩
- ·《敌占区:雷神战争》发布宣传片
- ·外交部发言人揭密
- ·《蒸发》
- ·周润发明星相册(翻页版)
- ·魏晋“神韵”—生命意识的审美散发
- ·超经典硬盘发展史
- ·程十发、刘旦宅、戴敦邦精绘《红楼梦》插图
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
精品推荐
热点TOP10
- ·目前最好的JSP分页技术
- ·JSP表达式语言
- ·Struts下JSP页面传递复选框值技巧
- ·JSP Struts之HTML标签库详解
- ·实例:JSP中把动态页面转换为静态页面
- ·JSP实现文件上传
- ·jsp 内嵌网页内容--iframe
- ·jsp 自定义分页标签
- ·jsp,html 清除页面缓存
- ·jsp搜索引擎
- ·在JSP中用bean封装常用的功能
- ·用 jsp:include 控制动态内容
- ·JSP和Servlet对中文的处理过程
- ·JSP自定义标签由浅到深详细讲解
- ·对于JSP中表单数据存储的一种通用方法
- ·加快JDBC中JSP数据库的访问速度
- ·JSP调用SQL server 2000存储过程
- ·用ASP将数据库中的数据直接导出到EXCEL表中
- ·使用技巧:JSP中如何发送一个动态图像
- ·解决JSP中使用request乱码问题
特别推荐
- ·新手入门:学习JSP的经典的入门学习资料
- ·由浅入深学习动态网页制作PHP的编程与应用
- ·输入汉字自动转为拼音(jsp实现方式)
- ·经验分享 JSP程序员完全蜕变手册
- ·JSP实战:JBuilder2005中创建数据库表
- ·新手入门:JSP基本语法与简单表单处理
- ·使用技巧:在JSP页面中的应用JavaBean
- ·实例:JSP中把动态页面转换为静态页面
- ·使JSP/Servlet应用程序优化的八种方法
- ·提升JSP页面响应速度的七大秘籍绝招
- ·jsp中文问题解决方案(完整版)
- ·jsp的八个隐含对象
- ·用jsp实现SQLServe数据库的备份和恢复
- ·深入浅析JSP安全编程实例
- ·jsp防盗链
- ·js技巧收集(200多个)
- ·JSP应用语法详解大全 (3)
- ·实例讲解:全程追踪入侵JSP网站服务器
- ·Apache服务器之JSP概述篇
- ·新手入门经典:Jsp环境配置
