<%@page import="java.sql.*"%>
<%@page import="com.binod.db.DBConnection"%>
<jsp:include page="header.jsp"/>
<center>
<div class="content">
<table border="1" cellpadding="5" class="full">
<tr>
<td>Cat_id</td>
<td>cat_name</td>
<td>
Cat_Path
</td>
</tr>
<%
ResultSet rs;
DBConnection db=new DBConnection();
db.open();
String query="Select * from `category`";
PreparedStatement preparedStatement =db.getPreparedStatement(query);
rs=preparedStatement.executeQuery();
while(rs.next()){
int cat_id=rs.getInt("cat_id");
String cat_name=rs.getString("cat_name");
String cat_path=rs.getString("cat_image");
System.out.println(cat_path);
%>
<tr>
<td><%=cat_id %></td>
<td> <%= cat_name %></td>
<td class="Images"><img src="<%= cat_path%>" alt="Image not found"/></td>
</tr>
<%
}
%>
</table>
</div>
</center>
<jsp:include page="footer.jsp"/>
我的控制台输出:存储在数据库中的图像路径
C:\用户\ Binod \工作空间\店\图片\类别\ bbb.jpg C:\用户\ Binod \工作区\店\图片\目录\ bbb.jpg C:\ Users \ Binod \ workspace \ shop \ Pictures \ Category \ Screenshot(5).png C:\ Users \ Binod \ workspace \ shop \ Pictures \ Category \ Screenshot(5).png C:\ Users \ Binod \ workspace \ shop \ Pictures \ Category \ Screenshot(5).png C:\ Users \ Binod \ workspace \ shop \ Pictures \ Category \ Screenshot(5).png C:\ Users \ Binod \ workspace \ shop \ Pictures \ Category \ Screenshot(5).png C:\ Users \ Binod \ workspace \ shop \ Pictures \ Category \ Screenshot(6).png
答案 0 :(得分:0)
也许你应该避免使用图像或文件的物理路径。
只需将资源(例如图像,文件)放在您正在使用的项目中。
并保存数据库中图像的相对路径。
答案 1 :(得分:0)
1。您的JSP无法显示图片的原因是因为&#34; \&#34;。单个&#34; \&#34;是一个转义序列,它不被读作文件分隔符。为了克服它,替换&#34; \&#34;用&#34; \\&#34;。
2。由于某些安全问题,Chrome无法读取本地文件。Read here。
为了克服这个问题,你可以做的是首先用new路径替换original_path,它将具有&#34; \\&#34;而不是&#34; \&#34;。然后创建一个指向另一个jsp / servlet的链接以将new_path转换为original_path,然后显示它。 像这样:
String original_path="G:\images";
String new_path=original_path.replace("\","\\");
让我们假设您的2nd.jsp是将显示图像的文件 在主jsp文件中创建一个lionk
<a href="2nd.jsp?new_path="+new_path+"/>image</a>
从第二个jsp获取参数,然后显示文件。