jsp获取数据库中存放相对路径的图片

jsp获取数据库中存放相对路径的图片

在我们学习jsp的过程中,有时候有的业务处理会使用到数据库中的图片,我当时也遇到了这种情况,当时也是想走捷径就在csdn上百,发现并没有任何卵用,大家写的都千篇一律,于是就想自己搞懂这个问题。

  • 数据库中存放的无非就:图片的相对路径和图片的名称,当然这两种意思本质上也是相同的。下面的就是一般数据库表的格式就是这样的。我用的数据库客户端是SQLyog
    nbateam
    项目的结构图如下:
    在这里插入图片描述
    NBA文件夹下放的是数据库中存放的图片,将源图片Ctrl + V搞到里面就OK了。
    通过路径的方式,取出你要查询的队名,初始化要查询的字段。搞到集合里占位输出就好了,下面上代码:
				<div class="lishi">
              	    	<div class="tab"> 
              	    	<table  width="600" align="center" height="150" >
              	    	<%
              	    	ArrayList<NTm> list = (ArrayList<NTm>)session.getAttribute("ssss");
              	    	if(list!=null&&list.size() != 0){ %>
              	    	<tr align="center" height="5">
              	    			<td class="z1"></td>
              	    		</tr>
              	    		<tr height="6"> 
              	    			<td  align="left"></td>
              	    		</tr>
              	    	<% 	
              	    	for(int j = 0;j < list.size();j++){ %>
              	    		<div class="img1" width="200" height="200">
              	    			<img src="img/NBA/<%=list.get(j).getImgsd()%>" height="200" width="200">
              	    		</div>
              	    		<tr align="center" height="60">
              	    			<td class="z1"><%=list.get(j).getNtem() %></td>
              	    			
              	    		</tr>
              	    		<tr height="200"> 
              	    			<td  align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<%=list.get(j).getNhostr() %></td>
              	    		</tr>
              	    		<%} 
              	    	}
              	    	
              	    	%>
              	    	</table>
              	    	</div>
              	    </div>
              </div>	

上面的代码是前端显示的界面,使用的是表单提交的方式,将业务需求交给对应的Servlet层进行处理。
Servlet层:

public ArrayList<NTm> selectByTeam(String Ntem){
		ArrayList<NTm> slist = null;
		try{
			slist = nd.selectByTeam(Ntem);
		} catch(Exception e){
			e.printStackTrace();
		}
		return (ArrayList<NTm>)slist;
	}

Dao层:

public ArrayList<NTm> selectByTeam(String Ntem){
		ArrayList<NTm> list = new ArrayList<NTm>();
		String sql = "select * from nbateam where Ntem like '%"+Ntem+"%'";
		NTm ntm = new NTm();
		try{
			DBUtil.getConnection();
			rs = DBUtil.executeQuery(sql);
			while(rs.next()){
				ntm.setNno(rs.getInt("Nno"));
				ntm.setNtem(rs.getString("Ntem"));
				ntm.setNhostr(rs.getString("Nhostr"));
				ntm.setImgsd(rs.getString("Imgsd"));
				list.add(ntm);
			}
		} catch(Exception e){
			e.printStackTrace();
		} finally{
			DBUtil.close();
		}
		return list;
	}

Bean层:
Bean层大家自己封装就OK了,这个不再进行说明。

这个问题的实质就是使用:img 标签将查找的队名与数据库中的一致时,就输入相对路径的图片。

由于这是本人刚开始,写的还好的地方,还望各位大佬多多指教!

发布了25 篇原创文章 · 获赞 22 · 访问量 5397

猜你喜欢

转载自blog.csdn.net/weixin_42893085/article/details/103915468