
1、这个在数据库中存储img图片的地址,前台放置img服务器标签,后台读取数据库中的img图片地址赋值。
2、可以在后台进行html拼接,拼接出img标签,然后输出前台,使用Ajax,在后台写好获取数据库中img图片地址的方法。
3、前台,在页面加载时,base64码字符串传到前台转换即可展示图片:<imgsrc="data:image/jpgbase64,<%=base64Path%>"width="50%"height="50%"/>。
4、之后会再发一个带图片预览的用ajax存储图片的Demo。
5、读取时就是从数据库读取对应数据再转化成图片显示出来。
扩展资料
img元素向网页中嵌入一幅图像。
请注意,从技术上讲,<img>标签并不会在网页中插入图像,而是从网页上链接图像。<img>标签创建的是被引用图像的占位空间。
<img>标签有两个必需的属性:src属性和alt属性。
<img>标签的src属性是必需的。它的值是图像文件的URL,也就是引用该图像的文件的的绝对路径或相对路径。
为了整理文档的存储,创作者通常会把图像文件存放在一个单独的文件夹中,而且通常会将这些目录命名为"pics"或者"images"之类的名称。
在W3School在线教程中,我们的工程师把大部分常用的图像都存放到一个名为"i"的文件夹中,"i"是"images"的缩写,这样做的好处是可以最大程度地简化路径。
在HTML中,<img>标签没有结束标签。在XHTML中,<img>标签必须被正确地关闭。
在HTML4.01中,不推荐使用image元素的"align"、"border"、"hspace"以及"vspace"属性。
在XHTML1.0StrictDTD中,不支持image元素的"align"、"border"、"hspace"以及"vspace"属性。
eption产生这个异常的原因是变量没有初始化,也就是说变量在没有赋值的情况下被使用了
没用接触过你给出代码中的类,所以我也说不太准
分析了一下,觉得问题应该是出在这里
ResultSet rs = DatabaseTool.executeQuery(strSQL)
if (rs.next()) {
当你输入的值在数据库中无法找到时,DatabaseTool类的executeQuery并没有返回ResultSet对象,而是返回了null
建议你修改一下if语句
在if (rs.next())语句外层增加一层if语句if (rs!=null)
修改后应该是
try {
ResultSet rs = DatabaseTool.executeQuery(strSQL)
if(rs!=null){
if (rs.next()) {
String income =rs.getString("income")
dayincome = Float.parseFloat(income)
}else{
JOptionPane.showMessageDialog(null, "没有收入!")
}
}
else{
JOptionPane.showMessageDialog(null, "没有ResultSet对象!")
}
}
catch (Exception exx) {
exx.printStackTrace()
JOptionPane.showMessageDialog(null, "程序出现异常!")
}
试试行不行吧,不保证啊
我把你的代码稍微改造了下,我这边是可以显示图片的。代码如下:
数据库 *** 作部分:
package com.databaseimport java.io.InputStream
import java.sql.*
/**
* @作者 王建明
* @创建日期 13-10-7
* @创建时间 下午12:32
* @版本号 V 1.0
*/
public class DataBaseUtil {
public static InputStream getImageStreamFromDataBase() {
Connection conn = null
try {
Class.forName("com.mysql.jdbc.Driver")
conn =
DriverManager.getConnection("jdbc:mysql://localhost/quickstart", "root", "123456")
Statement stmt = conn.createStatement()
String sql = "select book_image from tbl_book where id=1 "
ResultSet rs = stmt.executeQuery(sql)
if (rs.next()) {
return rs.getBinaryStream("book_image")
}
} catch (Exception e) {
System.out.println("出现异常: " + e.getMessage())
} finally {
try {
if (conn != null)
conn.close()
} catch (SQLException e) {
e.printStackTrace()
}
}
return null
}
}
servlet部分:
package com.servletimport com.database.DataBaseUtil
import javax.servlet.ServletException
import javax.servlet.http.HttpServlet
import javax.servlet.http.HttpServletRequest
import javax.servlet.http.HttpServletResponse
import java.io.IOException
import java.io.InputStream
import java.io.OutputStream
/**
* @作者 王建明
* @创建日期 13-10-7
* @创建时间 下午12:18
* @版本号 V 1.0
*/
public class ShowImage extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response)
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
InputStream in = DataBaseUtil.getImageStreamFromDataBase()
OutputStream toClient = response.getOutputStream()
response.reset()
response.setContentType("image/jpg")//或gif
int len = 10*1024*1024
byte[] P_Buf = new byte[len]
int i
while((i = in.read(P_Buf)) != -1){
toClient.write(P_Buf, 0, i)
}
in.close()
toClient.flush()
toClient.close()
}
}
web.xml中的servlet配置:
<servlet><servlet-name>ShowImage</servlet-name>
<servlet-class>com.servlet.ShowImage</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ShowImage</servlet-name>
<url-pattern>/showImage</url-pattern>
</servlet-mapping>
页面中加载图片方式:
<img src="showImage" />希望对你有帮助O(∩_∩)O~
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)