jsp/jdbc调oracle 怎么读取数据库多个图片 和 存入多个图片。在数据库里是绝对路径,谁有代码给小弟共享下

 我来答
linkin8902
2011-03-04
知道答主
回答量:89
采纳率:0%
帮助的人:23.9万
展开全部
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!-- basePath 代表你项目的绝对路径 -->
先确保jsp 含有以上代码 ,在img scr 属性前面添加 <%=basePath %> jsp代码就可以确保 是绝对路径 以此存入数据库 就永远不会出错 。项目里建议实用绝对路径。以这种方法可以轻松解决相对路径与 绝对路径 的问题 。

读取就很简单了 ,img 的src 属性 直接el表达式 ${ 变量 } .比如 <img src="${ 路径 }" />
如果还不懂,qq:757690299
沙冰巧001
2011-03-05 · TA获得超过824个赞
知道小有建树答主
回答量:827
采纳率:0%
帮助的人:744万
展开全部
到了一个apache的一个组件,fileupload,你自己在网上下载吧,很方便用的。
import java.io.InputStream;
import java.io.OutputStream;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;

import oracle.sql.BLOB;

import org.apache.struts.upload.FormFile;
import org.apache.struts.upload.MultipartRequestHandler;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

/**
* @author Lenovo-User
*
*/
public class UploadFileAction extends Action {

/* (non-Javadoc)
* @see org.apache.struts.action.Action#execute(org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
@SuppressWarnings("deprecation")
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
// TODO Auto-generated method stub
UploadFileForm fForm = (UploadFileForm)form;
DataSource ds = this.getDataSource(request);
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();
//PersonBean pb = (PersonBean)request.getSession().getAttribute(Constants.PERSON_KEY);
String strId = request.getParameter("id");
int id = 0;
if(strId != null)
id = Integer.parseInt(strId);
ResultSet rs = stmt.executeQuery("select * from user_account where id=" + id + " for update");
rs.next();
oracle.sql.BLOB blob = (BLOB) rs.getBlob(4);
OutputStream out = blob.getBinaryOutputStream();
int bufferSize = blob.getBufferSize();
InputStream in = fForm.getMyFile().getInputStream();
byte bytes[] = new byte[bufferSize];

while(in.read(bytes) != -1 ) {
out.write(bytes, 0, bufferSize);
}

in.close();
out.flush();//后来添加的
out.close();
rs.close();
stmt.close();
conn.commit();//后来添加的!必须要提交,不管是不是数据库是不是自动 提交
conn.close();

return mapping.findForward("success");
}

}

不懂的可以问我
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mutex_js
2011-03-04 · 超过14用户采纳过TA的回答
知道答主
回答量:63
采纳率:0%
帮助的人:46.6万
展开全部
页面上用img标签,然后从数据库读取所需图片路径,将该值赋给img标签的src属性就OK
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式