数据库有2张id为1的图片,想都显示在页面上
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<%@ page import="java.io.*"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body background=background.jpeg>
<%!
public static final String DBDRIVER = "com.mysql.cj.jdbc.Driver";
// 驱动路径
public static final String DBURL = "jdbc:mysql://127.0.0.1:3306/jd?"+
"user=root&password=root&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai";
public static final String DBUSER = "root";
// 数据库用户名
public static final String DBPASS = "root";
// 数据库密码
%>
<%
//定义参数
Connection con = null;
PreparedStatement pst = null;
ResultSet rs = null;
%>
<%
try {
Class.forName(DBDRIVER);
//注册驱动
con = DriverManager.getConnection(DBURL, DBUSER, DBPASS);
//获取链接
//String image_id = (String) request.getParameter("ID");
PreparedStatement sql=con.prepareStatement("select * from test_img WHERE id = " + 1); //读取id为1的两张图片
rs = sql.executeQuery();
rs.next();
//输入img字段内容到in
InputStream in = rs.getBinaryStream("img");
//以下可是任何处理,比如向页面输出:
response.reset();
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();
} catch (Exception e) {
out.println(e);
}
%>
</table>
</body>
</html>
多条记录要循环读取
rs.next
改为
while(rs.next()){
相关语句写在循环语句内
}