社区
Web 开发
帖子详情
求一小例子,大家帮帮忙了
linjky
2005-07-11 12:10:34
求一struts模式的小例子,功能是可以将一个图片保存到数据库的image字段中,然后再从数据库中取出,直接在JSP(用标签的)页面显示出来,须要能直接运行的,如果分不够我可以再加一些,可以发我的邮箱ljky@sina.com,也可以在这里跟贴。
已经在这里关于这个问题发过贴了,还是没有解决,大家帮帮忙了
...全文
342
23
打赏
收藏
求一小例子,大家帮帮忙了
求一struts模式的小例子,功能是可以将一个图片保存到数据库的image字段中,然后再从数据库中取出,直接在JSP(用标签的)页面显示出来,须要能直接运行的,如果分不够我可以再加一些,可以发我的邮箱ljky@sina.com,也可以在这里跟贴。 已经在这里关于这个问题发过贴了,还是没有解决,大家帮帮忙了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
23 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xiaohuozhi
2005-07-16
打赏
举报
回复
呵呵。
bs101211
2005-07-16
打赏
举报
回复
哎,也没有个答案
cnyxlxw
2005-07-14
打赏
举报
回复
mark
linjky
2005-07-14
打赏
举报
回复
我知道和struts没关系。我就是想把他用标签显示出来,总不能为了他我把其它的东西用jsp+bean从写一遍吧
huangdeji
2005-07-14
打赏
举报
回复
跟struts没关系
linjky
2005-07-14
打赏
举报
回复
那怎么改成struts的形式呀,不知道在JSP页面怎么用标签写
linjky
2005-07-14
打赏
举报
回复
谢谢你又给我发了一回
但是
<%@ taglib uri="struts-logic" prefix="logic" %>
<logic:iterate id="element1" name="element" scope="request">
<html:img page="/showImg.do" paramId="img" paramName="element1" border="1" width="108" height="26" scope="request"/>
</logic:iterate>
里的paramId="img" paramName="element1"都是什么,element1是Bean名还是什么,我这么写过,调不通,
还有,如何你能帮我改成struts的形式的小例子可以帮我发到我的邮箱里
laughsmile
2005-07-14
打赏
举报
回复
为什么不用在数据库中存储图片路径的方法.
1.在BusinessBean中读出数据库中的路径
ArrayList arrImgPath = new ArrayList();
while(rs.next()){
arrImgPath.add(rs.getString("Img_Path"));
}
request.setAttribute("imgpath",arrImgPath);
2.在jsp中调用BusinessBean showImg.显示
<%@ taglib uri="struts-logic" prefix="logic" %>
<logic:iterate id="element1" name="element" scope="request">
<html:img page="/showImg.do" paramId="img" paramName="element1" border="1" width="108" height="26" scope="request"/>
</logic:iterate>
3.BusinessBean showImg.java:
String imgPath=request.getParameter("img");
file = new File(imgPath);
if (!file.isDirectory()&& file.exists()){
length = (int)file.length();
}
res.setContentType("image/jpg");//假设是jpg图
res.setHeader("Content-Disposition","inline");
res.setContentLength(length);
if (length > 0){
int bufferSize = 32768;
InputStream in = new FileInputStream(fullpath);
ServletOutputStream outfile = res.getOutputStream();
int chunkLen = bufferSize;
if(chunkLen > length && length > 0)
chunkLen = length;
byte ioBuf[] = new byte[chunkLen];
do{
chunkLen = in.read(ioBuf);
if(chunkLen <= 0)
break;
outfile.write(ioBuf, 0, chunkLen);
length -= chunkLen;
} while(length != 0);
in.close();
outfile.flush();
outfile.close();
}
laughsmile
2005-07-14
打赏
举报
回复
从数据库读image字段
try{
//....
response.setContentType("image/jpeg");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from image where id = " + id);
if(rs.next()){
InputStream in = rs.getBinaryStream("imageField");
OutputStream out = response.getOutputStream();
byte[] bytes = new byte[1024];
while(in.read(bytes,0,1024) != -1) {
out.write(bytes);
}
}
}
catch(Exception e){System.out.println(e);}
finally {
in.close();
out.flush();
conn.close();
}
fzlotuscn
2005-07-13
打赏
举报
回复
以上代码供参考:
上传图片
第一步:建立数据库
create table test_img(id number(4),name varchar(20),img long raw);
第二步:(NewImg.html)
<html><head><title>添加图片</title></head>
<body>
添加图片<br>
<form method="post" action="insertNews.jsp">
图像ID:<input name="id" size="10">
<br>
选择图像:<input type="file" name="image">
<br>
<input type="submit" value="上传" name="submit" size="25">
<input type="reset" value="清除" name="clear" size="25">
<br>
</form>
</body></html>
第三步:插入数据库(InsertImg.jsp)
<%@ page language="java"%>
<%@ page contentType="text/html;charset=gb2312" %>
<%@ page import="java.util.*" %>
<%@ page import="java.sql.*"%>
<%@ page import="java.text.*"%>
<%@ page import="java.io.*"%>
<%
Class.forName("oracle.jdbc.driver.OracleDriver");
String url="jdbc:oracle:thin:@lubin:1521:b2bdb";
Connection con=DriverManager.getConnection(url,"demo","demo");
//插入数据库
String sql="insert into test_img values (?,?,?)";
//获取传值ID
String id=request.getParameter("id");
//获取image的路径
String kk=request.getParameter("image");
//转换成file格式
File filename=new File(kk);
//将文件的长度读出,并转换成Long型
long l1=filename.length();
int l2=(int)l1;
//以流的格式赋值
FileInputStream fis=new FileInputStream(filename);
PreparedStatement ps =con.prepareStatement(sql);
ps.setString(1,id);
ps.setString(2,filename.getName());
ps.setBinaryStream(3,fis,l2);
//ps.setBinaryStream(3,fis,fis.available());
ps.executeUpdate();
//ps.execute();
ps.close();
fis.close();
out.println("ok!!!");
%>
第四步:显示图片(ShowImg.jsp)
<%@ page language="java" import="java.sql.*"%>
<%@ page import="java.io.*"%>
<%@ page contentType="text/html;charset=gb2312"%>
<%
Class.forName("oracle.jdbc.driver.OracleDriver");
String url="jdbc:oracle:thin:@lubin:1521:b2bdb";
String image_id = (String) request.getParameter("ID");
Connection con=DriverManager.getConnection(url,"demo","demo");
PreparedStatement sql=con.prepareStatement("select * from test_img WHERE id = " + image_id);
ResultSet rs = sql.executeQuery();
rs.next();
//输入img字段内容到in
InputStream in = rs.getBinaryStream("img");
//以下可是任何处理,比如向页面输出:
response.reset();
//此处的image/jpeg似乎与显示的图片格式无关
//因为我显示jsp和gif都没有错误。icech不是很懂,都是参考别人的。
response.setContentType("image/jpeg");
byte[] b = new byte[1024];
int len;
while((len=in.read(b)) >0)
response.getOutputStream().write(b,0,len);
in.close();
rs.close();
%>
1367888
2005-07-11
打赏
举报
回复
接分
土豆丝炒肉2005
2005-07-11
打赏
举报
回复
沙发
congliu
2005-07-11
打赏
举报
回复
代码太长,建议楼主看struts in action一书,里面有代码
wangyhlj
2005-07-11
打赏
举报
回复
知道怎么写,但时间写,也没有现有的代码
sd_lichangyou
2005-07-11
打赏
举报
回复
不会做,学习,纯顶
llsljh
2005-07-11
打赏
举报
回复
学习关注 心有余 力不足
v38
2005-07-11
打赏
举报
回复
JSP+servlet+javaBean有了,改装成STRUTS很容易的啊~呵呵
linjky
2005-07-11
打赏
举报
回复
MSSQL的库,image字段,还是不要用链接,要从直接从内存里输出来
cpl3113
2005-07-11
打赏
举报
回复
什么数据库?什么类型的字段?
long raw 简单点,blob可麻烦了。
显示我用的是超链接。用serlet来显示
linjky
2005-07-11
打赏
举报
回复
我知道,但那我也不会,还有我用的是struts,总不能为了这一个功能就全部直接改成JSP+servlet+javaBean吧
加载更多回复(3)
求
助使用asp中加密与解密对应的函数出错?大家
帮
忙看一下!
我根据http://www.kao99.com/club/article_view.asp?id=56
例子
调试,出现很内部服务器错误!大家
帮
帮
忙呀!很多网站ASP技术方面都有这一方面文章,大家
帮
帮
忙呀!希望达到中文字符加密解密效果!但是我根据
例子
来调试,出现很内部服务器错误,大家
帮
帮
看看,
例子
什么地方出错拉!
帮
忙调试一下!我急着要用asp中加密与解密对应的函数,谢谢大家拉!
【前端
帮
帮
忙】第6期 移动端使用video标签需要注意的一些问题
相信使用过<video>标签的都知道,<video>标签在pc端跟手机端显示的样式并不一样,而且还有个很蛋疼的就是微信中内置的浏览器,播放的时候会自动全屏问题。 接下来我们通过
例子
来分析下使用过程中可能碰到的一些问题,供大家参考。 示例代码 这是代码,只加了controls="controls"显示播放控制条,为了保持视频宽高比例,所以<video>外层套了一...
CUDA的SDK里的N-body
例子
疑问
最近在看CUDA自带的SDK里面的N-body
例子
,很多地方看不明白,还请看过的各位大虾们,
帮
帮
忙,在此先谢过了。 一些细节上的我就不问了,我就问问算法问题吧。 1.里面说用多个线程计算一个粒子,也就是说这几个线程要遍历其他所有粒子的信息,以n=1024,p=64,q=4举例,四个线程计算一个粒子所受的力,我的问题是这四个线程如何分布啊??在同一个block中?如此的话,在该
架构设计
例子
和实践
系统设计说明书(架构、概要、详细)目录结构 虽然这些文档一般来说公司都是有模板的,但我写这些文档以来基本上是每写一次就把目录结构给改一次,应该说这是因为自己对这些文档的理解开始加深,慢慢的越来越明白这些文档的作用和其中需要阐述的东西,觉得这三份文档主要阐述了一个系统的设计和实现过程,从系统分解为层次、层次内的模块以及相互的接口、模块分解为对象以及对象的接口、实现这些对象接口的方法。这次又整了一份
一个有效沟通的
例子
:儿子竟会主动关心我?
本来是一个妈妈教育儿子的故事,也是一个感人的小故事,却可以当作一个有效沟通的案例。儿子贪玩不回家,不接妈妈的电话,于是妈妈经常找儿子沟通,对儿子讲妈妈的感受,当儿子不接电话时想发火,经过多次沟通,儿子接受了妈妈的意见,按时回家或告知妈妈去向,沟通取得了成功。当儿子与人打架被老师找来家长时,儿子强烈地表达自己的委屈,妈妈则以这一案例教育儿子,有情绪要与人沟通,而且是反复的沟通,就能解决问题,最后儿子终于理解妈妈的苦衷。 从管理者的角度来说,与下属反复沟通,让对方接受你的诉
求
,远比以命令的
Web 开发
81,095
社区成员
341,712
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章