您的位置:首页 > 编程语言 > Java开发

通过Java向JSP页面生成图片

2013-01-17 16:07 393 查看
通过Java向JSP页面生成图片

public class ShowImage extends HttpServlet {
private static final Logger log = Logger.getLogger(ShowImage.class);
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws IOException, ServletException {
Connection con=null;
ResultSet rs=null;
Statement st=null;
try {

ApplicationContext ctx =WebApplicationContextUtils.getWebApplicationContext(this.getServletContext());
DataSource ds = (DataSource) ctx.getBean("dataSource");
con = ds.getConnection();
st= con.createStatement();
String sql = "";

if(null!=req.getParameter("tableName")&&req.getParameter("tableName").equals("ecc_oc.tuan_pic")){
sql ="select PIC_ID,PIC_ID,DATA from ecc_oc.tuan_pic where PIC_ID="+ Integer.parseInt((req.getParameter("pic_id")==null)?"-1":req.getParameter("pic_id"));
}//当是图案代码 要显示图形而来
else if(null != req.getParameter("fromTuan") && !req.getParameter("fromTuan").equals("") && req.getParameter("fromTuan").equals("design")){
sql = "select PIC_ID,DATA_SOURCE,DATA from ecc_oc.tuan_pic where PIC_ID = "+ Integer.parseInt(req.getParameter("pic_id")==null?"0":req.getParameter("pic_id"));
}
else {
sql ="select pic_data_id, pic_id, data from ecc_oc.picture_data where pic_id="+ Integer.parseInt(req.getParameter("pic_id"));
}

//			System.err.println("show img:  " + sql);
rs= st.executeQuery(sql);
Blob bl = null;
InputStream ins = null;
while (rs.next())
{
bl = rs.getBlob(3);
ins = bl.getBinaryStream();
}

if (ins != null)
{
OutputStream out = res.getOutputStream();
byte buffer[] = new byte[512];
int len = 0;
while ((len = ins.read(buffer)) != -1)
{
out.write(buffer, 0, len);
}
ins.close();
out.close();
}
res.setContentType("image/*;charset=GB2312");
rs.close();
st.close();
con.close();
} catch (Exception ex)
{
log.error("",ex);
}finally
{
try
{
if(rs!=null)rs.close();
if(st!=null)st.close();
if(!con.isClosed())con.close();
} catch (SQLException e)
{
log.error("",e);
}
}
}

public void doPost(HttpServletRequest req, HttpServletResponse res)
throws IOException, ServletException {
doGet(req, res);

}

}

 

页面上显示图片的方法

<img src="<%=request.getContextPath()%>/ShowPic?pic_id=???此处是图片在数据库中存储的ID??? />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 生成图片