网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  从数据库中读取并生成图片的servlet     
  文章作者:未知  文章来源:水木森林  
  查看:472次  录入:管理员--2007-11-17  
 
  从数据库中读取并生成图片的servlet

大体思路
1)创建servletoutputstream对象out,用于以字节流的方式输出图像
2)查询数据库,用getbinarystream方法返回inputstream对象in
3)创建byte数组用作缓冲,将in读入buf[],再由out输出

注:下面的例程中数据库连接用了connectionpool,以及参数的获得进行了预处理

package net.seasky.music;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.sql.*;
import net.seasky.util.*;
import net.seasky.database.dbconnectionmanager;

public class coverservlet extends httpservlet {
private static final string content_type = "image/gif";
public void init(servletconfig config) throws servletexception {
super.init(config);
}

public void doget(httpservletrequest request, httpservletresponse response
) throws servletexception, ioexception {
response.setcontenttype(content_type);
int albumid;
servletoutputstream out = response.getoutputstream();
try {
albumid = parammanager.getintparameter(request,"albumid",0);
}
catch (exception e) {
response.sendredirect("../erroepage.jsp");
return;
}
try {
inputstream in=this.getcover(albumid);
int len;
byte buf[]=new byte[1024];
while ((len=in.read(buf,0,1024))!=-1) {
out.write(buf,0,len);
}
}
catch (ioexception ioe) {
ioe.printstacktrace() ;
}
}

private inputstream getcover(int albumid) {
inputstream in=null;
connection cn = null;
preparedstatement pst = null;
try {
cn=dbconnectionmanager.getconnection();
cn.setcatalog("music");
pst=cn.preparestatement("select img from cover where id =?");
pst.setint(1,albumid);
resultset rs=pst.executequery();
rs.next() ;
in=rs.getbinarystream("img");
}
catch (sqlexception sqle) {
system.err.println("error in coverservlet : getcover()-" + sqle);
sqle.printstacktrace() ;
}
finally {
try {
pst.close() ;
cn.close() ;
}
catch (exception e) {
e.printstacktrace();
}
}
return in;
}

public void destroy() {
}
}
 
 
上一篇: 从数据库读出的jpg文件的字符流,转换成图片显示在页面上的相关代码    下一篇: 大道至简-java之23种模式一点就通
  相关文档
用java的jwindow运行出的splash画面 11-17
java 技巧:在对标准流进行重定向 11-17
使用java中的动态代理实现数据库连接池(2) 11-17
关于java servlet编程应用基础分析 11-17
jbuilder 8新特性简介 11-16
java&xml心得(三) 11-17
easydbo中java注解配置映射的原理及使用 11-17
浅析java中data类的应用 11-16
chinasourcing借国际会展打造国家公共品牌 05-08
java中classspath的默认值是什么? 11-17
.net vs java 11-17
学习jakarta struts 1.1 (三) 11-17
jndi目录服务及ldao服务器使用入门教程 11-17
java入门之:初学java注意什么? 11-17
java mail api及其应用 —— 一个邮件列表服务器的实现 (三).. 11-17
java认证考试心得:顺利通过scjp测试全接触 11-17
j2ee实例 开发购物网站全过程详细解析 11-16
插入排序算法的java实现 11-16
weblogic ejb 学习笔记(2) 11-17
在ejb环境中实现“观察者”模式 11-17
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
厦门(总部):13616026886 福州:0591-87655121
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息