我想在JSP页中显示存储在ORACLE数据库中的图片,500分!

zb981078 2005-06-19 01:19:47
我想在JSP页中显示存储在ORACLE数据库中的图片
并且想在一个页面显示多张,即对应数据库中的多条记录值.
另外:请注意,我用的struts框架,希望大家所给出解决方式也是采用struts标签来作,同时希望给出具体的代码示例。多谢多谢!500分!,如果你解决了,请到java板块的其他小类(web开发,j2se基础类,j2se扩展类,j2EE,框架开源)里面可以看到我的同样的帖子,就可以接分了,谢谢!!!
...全文
141 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
webserv2 2005-06-21
  • 打赏
  • 举报
回复
第一次来就接分 惭愧啊
cpl3113 2005-06-21
  • 打赏
  • 举报
回复
3.DAOFactory
/*
* 创建日期 2005-5-24
*
*/
package com.forecast.wp.projectmanager;

import com.forecast.wp.editor.improve.AttFileDAO;
import com.forecast.wp.projectmanager.impl.OrclDAOFactory;

/**
*
* @author cpl
*/
public abstract class DAOFactory {
public static final int ORACLE = 0;

public static DAOFactory getDAOFactory(int whichDAO) {
switch (whichDAO) {
case ORACLE :
return new OrclDAOFactory();
default :
return null;
}
}
public abstract ProjectDAO getJTAProjectDAO();
public abstract ProjectDAO getNonJTAProjectDAO();
public abstract ExpenseDAO getJTAExpenseDAO();
public abstract ExpenseDAO getNonJTAExpenseDAO();
public abstract AppendFileDAO getJTAAppendFileDAO();
public abstract AppendFileDAO getNonJTAAppendFileDAO();
public abstract AttFileDAO getJTAAttFileDAO();

}
cpl3113 2005-06-21
  • 打赏
  • 举报
回复
package com.cpl.servlet

import java.io.IOException;
import javax.servlet.Servlet;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.forecast.wp.editor.improve.AttFileDAO;
import com.forecast.wp.editor.improve.AttFileNotFoundException;
import com.forecast.wp.editor.improve.DAOFactory;
import com.forecast.wp.editor.improve.UploadFile;

/**
* @version 1.0
* @author cpl
*/
public class ShowAttFileServlet extends HttpServlet implements Servlet {

/**
* @see javax.servlet.http.HttpServlet#void (javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
try {
String fileId = req.getParameter("id");

DAOFactory factory = DAOFactory.getFactory(DAOFactory.ORACLE);
AttFileDAO attFileDAO = factory.getNonJTAAttFileDAO();
UploadFile attFile = attFileDAO.getAttFile(fileId);
String fileName = attFile.getFileName();
String fileType = attFile.getFileType();

long fileSize = attFile.getFileSize();
byte[] fileData = attFileDAO.getAttFileData(fileId);


resp.setContentType(fileType);
resp.setHeader(
"Content-Disposition",
"filename=\"" + fileName + "\"");

ServletOutputStream outStream = resp.getOutputStream();

outStream.write(fileData);
outStream.flush();
outStream.close();

} catch (AttFileNotFoundException e) {
e.printStackTrace();
}

}

/**
* @see javax.servlet.http.HttpServlet#void (javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doGet(req, resp);

}

}
cpl3113 2005-06-21
  • 打赏
  • 举报
回复
1.<img src="/myWeb/ShowImgServlet?id=123456789">
用上面的字符串显示:/myWeb/ShowImgServlet 是显示图片的servlet
id 是数据库中图片的id
当然你可以把上面的字符串封装成对象 以<bean:write name="" property=""/>的形式显示
如果有多个图片可以<logic:iterate id="img" name="" property="">
<bean:write name="img" property=""/>
         </logic:iterate>
具体怎么用标签我就不多说了
2.ShowImgServlet



I_T_tiger 2005-06-21
  • 打赏
  • 举报
回复
帮忙,up
I_T_tiger 2005-06-21
  • 打赏
  • 举报
回复
帮忙,up
I_T_tiger 2005-06-21
  • 打赏
  • 举报
回复
帮忙,up
zb981078 2005-06-20
  • 打赏
  • 举报
回复
回答的各位老大,请来此接分吧,多谢了,其实我是struts的标签库不会,不知道怎么去写那个img,所以只好问了,这个没有水平的问题,谢谢各位的回答,多谢了,其他的几个板块(j2se基础类,j2se扩展类,j2EE,框架开源)里面的已经揭帖了,所以要接分的快啊,我可能这两天就结帖了啊!!
zb981078 2005-06-19
  • 打赏
  • 举报
回复
怎么没有人回答啊,不是巴,请帮帮我啊

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧