当前位置: 首页 > 面试题库 >

从数据库中以jsp显示图像

谭勇
2023-03-14
问题内容

对于下面的代码,我用谷歌搜索了很多,但是以某种方式我无法弄清楚该错误..关于“ img src”标签。

可能有愚蠢的错误,但是如果有人可以帮助我,那将是很棒的。

我已经将我的图像保存在图像文件夹中,该图像文件夹位于项目文件夹中…数据库在“图像”属性下具有图像URL …所以我尝试通过数据库从数据库中检索URL
<%=rs.getString("image") %>是正确的吗?

<html>
 <body>
   <%@ page import="java.io.*"%>
   <%@ page import="java.sql.*"%>
   <%@ page import="com.mysql.*"%>
   <%@ page import="java.util.*"%>
   <%@ page import="java.text.*"%>
   <%@ page import="javax.servlet.*"%>
   <%@ page import="javax.servlet.http.*"%>
   <%@ page import="javax.servlet.http.HttpSession"%>
   <%@ page language="java"%>
   <%@ page session="true"%>
   <%@ page import="java.sql.*"%>
<% 
Blob image = null;
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
String iurl1=null;

try {
    Class.forName("com.mysql.jdbc.Driver");
    con =           DriverManager.getConnection("jdbc:mysql://localhost:portnumber/dbname","","");
    stmt = con.createStatement();
    rs = stmt.executeQuery("select * from tablename where id = 1");
}
catch (Exception e) {
    out.println("DB problem"); 
    return;
}
finally {
    try {
        rs.close();
        stmt.close();
        con.close();
    }
    catch (SQLException e) {
        e.printStackTrace();
    }
}
%>
    <table border="2">
     <tr><th>DISPLAYING IMAGE</th></tr>
     <tr><td>Image 2</td></tr>
     <tr>
       <td>
         <img src="<%=rs.getString("image") %>" width="500" height="500"/>
       </td>
     </tr>
    </table>

 </body>
</html>

问题答案:

接收图像之前,您已经关闭了连接。将代码更改为

 <html>
<body>
    <%@ page import="java.io.*"%>
 <%@ page import="java.sql.*"%>
 <%@ page import="com.mysql.*"%>
 <%@ page import="java.util.*"%>
  <%@ page import="java.text.*"%>
 <%@ page import="javax.servlet.*"%>
 <%@ page import="javax.servlet.http.*"%>
 <%@ page import="javax.servlet.http.HttpSession"%>
 <%@ page language="java"%>
 <%@ page session="true"%>
 <%@ page import="java.sql.*"%>
<% 
Blob image = null;
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
String iurl1=null;

try {
Class.forName("com.mysql.jdbc.Driver");
con =           DriverManager.getConnection("jdbc:mysql://localhost:portnumber/dbname","","");
stmt = con.createStatement();
rs = stmt.executeQuery("select * from tablename where id = 1");%>
<table border="2">
<tr><th>DISPLAYING IMAGE</th></tr>
<tr><td>Image 2</td></tr>
<tr><td>
<%while(rs.next()){%>
 <img src="<%=rs.getString("image") %>" width="500" height="500"/>
 <%}%>
</td></tr>
</table>
<%}
catch (Exception e) {
out.println("DB problem"); 
return;
}
finally {
try {
rs.close();
stmt.close();
con.close();
}
catch (SQLException e) {
e.printStackTrace();
}
}
%>
</body>
</html>

否则有更好的方法将其保存在变量中

 <html>
<body>
    <%@ page import="java.io.*"%>
 <%@ page import="java.sql.*"%>
 <%@ page import="com.mysql.*"%>
 <%@ page import="java.util.*"%>
  <%@ page import="java.text.*"%>
 <%@ page import="javax.servlet.*"%>
 <%@ page import="javax.servlet.http.*"%>
 <%@ page import="javax.servlet.http.HttpSession"%>
 <%@ page language="java"%>
 <%@ page session="true"%>
 <%@ page import="java.sql.*"%>
<% 
Blob image = null;
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
String iurl1=null;
String image=null;
try {
Class.forName("com.mysql.jdbc.Driver");
con =           DriverManager.getConnection("jdbc:mysql://localhost:portnumber/dbname","","");
stmt = con.createStatement();
rs = stmt.executeQuery("select * from tablename where id = 1");
 while(rs.next()){
 image = rs.getString("image");
 }
}
catch (Exception e) {
out.println("DB problem"); 
return;
}
finally {
try {
rs.close();
stmt.close();
con.close();
}
catch (SQLException e) {
e.printStackTrace();
}
}
%>
 <table border="2">
  <tr><th>DISPLAYING IMAGE</th></tr>
  <tr><td>Image 2</td></tr>
  <tr><td>
 <img src="<%=image %>" width="500" height="500"/>
 </td></tr>
 </table>

</body>
</html>


 类似资料:
  • 如何在数据库中的jsp文件中显示图像? 下面的JSP代码:- 我们将从数据库中提取的图像存储在哪里? 任何人都可以帮忙吗?

  • 问题内容: 如何在JSP页面中从数据库检索和显示图像? 问题答案: 让我们逐步查看会发生什么: JSP基本上是一种视图技术,应该可以生成HTML输出。 要以HTML显示图像,你需要HTML 元素。 要使其定位图像,你需要指定其属性。 该属性需要指向有效的URL,而不是本地磁盘文件系统路径,因为当服务器和客户端在物理上不同的计算机上运行时,该路径将永远无法工作。 图片网址需要在请求路径(例如)中或作

  • 所以,数据库(MySQL)中有一个包含姓名和照片(blob)的表。在我的网页应用程序的主页上有一个按钮,点击它后-它必须是另一个页面,包含数据库的所有结果。我使用servlet/jsp/、jdbc和MVC模式,我有带有字段名称和照片(字节[])的实体User,我有返回List的DAO类,我想在结果页面上从数据库中检索每个用户照片和照片附近的他的名字。 如何使用 servlet/jsp 执行此操作?

  • 被一个问题缠住了。我是android开发的新手。我的问题是我有一个SQLite数据库,我正在其中保存映像和一些数据,但当我检索这些数据时,映像没有显示在ListView中。其他数据正在被推翻。 这是我的自定义列表布局 null 这是我的自定义适配器 } 这是activity 这是数据列表

  • 我创建了一个动态web项目,以便通过Servlet显示JSP(我不能使用任何类似Spring的框架…)。默认情况下,我构建的类放在Build/classes中,因此在我将输出文件夹更改为WebContent/WEB-INF/classes后,我的应用程序运行良好。之后,我将该项目转换为Maven项目。(我不记得我上次使用servlet/JSP时需要更改输出文件夹,那是3年前!)。 无论如何,现在我

  • 我是姜戈的初学者,对一件事很着迷,我不知道该怎么做。我想显示一个存储在数据库中的图像到我的模板。图像上载到文件夹“static/img”。 这是我的数据库: 这是我的模板: 我的views.py: 使用TEMPLATE_DIRS、STATIC_ROOT和static_url更新settings.py。

  • 我想在我的应用程序中显示来自sqlite数据库的图像。我的要求是显示文本视图及其相关图像。我将我的数据库文件保存在资产文件夹中。但实际上我的图像存储在服务器的“allimages”文件夹中。 我的数据库列(我保留的assets文件夹中的db)如下所示: S.无描述 1 div style=“文本对齐:对齐;” 2 div style="文本对齐:对齐;" 现在我的问题是在我的数据库中,图像路径存储

  • 我想从数据库中删除一条特定的记录。