- 浏览: 678554 次
- 性别:
- 来自: 合肥
文章分类
最新评论
-
di1984HIT:
学习了,学习了!
Tomcat的URL中文乱码解决以及传输优化 -
arottenapple:
...
我的二十一天CoreJava 学习笔记 -
黯淡流觞:
...
我的二十一天CoreJava 学习笔记 -
onlyOneToOne:
wsc830719 写道@RequestMapping(val ...
spring mvc3中 ResponseBody中文乱码 -
waj_615:
但是打印订单不是简单的string 啊
用java实现打印功能
主要思路:
<img src="showImage.do?name=mall&column=image"/>通过src访问servlet,由response的流输出图片到页面。
流的方式一:
response.setHeader("Cache-Control", "no-store"); response.setHeader("Pragma", "no-cache"); response.setDateHeader("Expires", 0); response.setContentType("image/jpg"); ServletOutputStream responseOutputStream = response.getOutputStream(); String name = request.getParameter("mall_name"); PreparedStatement ps = null; ResultSet rs = null; Connection con; String sql = "select MALL_LOGO from trustsg_mall_info where MALL_NAME = ?"; try { Class.forName("com.mysql.jdbc.Driver"); con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/ofbiz","ofbiz","ofbiz"); ps = con.prepareStatement(sql); ps.setString(1, name); rs = ps.executeQuery(); if(rs.next()){ Blob b = rs.getBlob("MALL_LOGO"); Debug.logInfo("showimage"+b, "sssssssssssss"); byte[] images = b.getBytes(1, (int)b.length()); responseOutputStream.write(images); } } catch (SQLException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } responseOutputStream.flush(); responseOutputStream.close();
流的方式二:
int id= Integer.parseInt(request.getParameter("picid")); String sql = "select pic from p WHERE picid="+id; ResultSet rs=conn.getResult(sql); while(rs.next()) { ServletOutputStream sout = response.getOutputStream(); //图片输出的输出流 InputStream in = rs.getBinaryStream(1); byte b[] = new byte[0x7a120]; for(int i = in.read(b); i != -1;) { sout.write(b); //将缓冲区的输入输出到页面 in.read(b); } sout.flush(); //输入完毕,清除缓冲 sout.close();
使用jsp:
<%@ page contentType="text/html; charset=gbk" %> <%@ page import="java.io.*"%> <%@ page import="java.sql.*, javax.sql.*" %> <%@ page import="java.util.*"%> <%@ page import="java.math.*"%> <% String photo_no = request.getParameter("photo_no"); //mysql连接 Class.forName("com.mysql.jdbc.Driver").newInstance(); String URL="jdbc:mysql://localhost:3306/job?user=root&password=111111"; Connection con = DriverManager.getConnection(URL); //oracle连接 //String URL="jdbc:oracle:thin@localhost:1521:orcl2"; //user="system"; //password="manager"; //Connection con = DriverManager.getConnection(URL,user,password); try{ // 准备语句执行对象 Statement stmt = con.createStatement(); String sql = " SELECT * FROM PHOTO WHERE photo_no = "+ photo_no; ResultSet rs = stmt.executeQuery(sql); if (rs.next()) { Blob b = rs.getBlob("photo_image"); long size = b.length(); //out.print(size); byte[] bs = b.getBytes(1, (int)size); response.setContentType("image/jpeg"); OutputStream outs = response.getOutputStream(); outs.write(bs); outs.flush(); rs.close(); } else { rs.close(); response.sendRedirect("./images/error.gif"); } } finally{ con.close(); }
评论
7 楼
thoughtfly
2012-02-04
zhlld 写道
嗯,我在学习163编辑器,遇到很多问题了,你能帮忙解决吗?!
163编辑器我是没用过,但可以共同学习讨论。我用的比较多的是tinyMCE,你可以email我,我们一起讨论。
我的email:dfhstudio@163.com
6 楼
zhlld
2012-02-03
嗯,我在学习163编辑器,遇到很多问题了,你能帮忙解决吗?!
5 楼
thoughtfly
2012-02-01
zhlld 写道
我用的是第二个,出问题了,一大片乱码
原理都是相同的,第二种方法中rs.getBinaryStream(1);是取数据库中图片的二进制,你要确定,在数据库中存的就是图片的二进制形式
4 楼
zhlld
2012-01-17
我用的是第二个,出问题了,一大片乱码
3 楼
svygh123
2010-09-13
你好,可以帮忙看下这个问题吗:http://www.iteye.com/problems/50051,谢谢
2 楼
thoughtfly
2009-12-29
jsp是编辑成servlet利用out来输出页面的的,所以out.Writer()和response.getOutputStream()可能就会有冲突。你可以在使用完输出流以后调用以下两行代码即可: out.clear(); out = pageContext.pushBody(); 试下
1 楼
xiaolongfeixiang
2009-12-28
<p>请问lz,在最后的JSP输出图片的例子中,后台是否会有这样的错误?</p>
<div class="quote_title"> 错误:</div>
<div class="quote_div">
<strong>java.lang.IllegalStateException</strong>
getOutputStream() has already beencalled for this response.<br>
</div>
<p> </p>
<p>这应该是在JSP中调用getOutputStream()方法时,常见的错误!</p>
<div class="quote_title"> 错误:</div>
<div class="quote_div">
<strong>java.lang.IllegalStateException</strong>
getOutputStream() has already beencalled for this response.<br>
</div>
<p> </p>
<p>这应该是在JSP中调用getOutputStream()方法时,常见的错误!</p>
发表评论
-
jetty快速开发时自实现提供jndi服务
2012-07-11 17:21 2211jndi一般是由容器提供,或是启动第三方服务jar包启动。 ... -
spring mvc3中 ResponseBody中文乱码
2012-07-11 14:48 4639使用spring mvc3的@ResponseBody注解以期 ... -
用Java Service Wrapper将java程序制作成系统服务进程
2012-05-23 14:35 10911用途 在做完一个项目程序后,有时会有两种需求想法。 1.在 ... -
根据颜色检查图片中的产品是否合格
2012-04-23 17:13 1342受朋友之托,做了一个小软件。只是一个练手,现将思路重现。 需 ... -
仿log4j定制自己的Log工具类
2012-03-02 16:27 3419原由: log4j是很强大,可每次使用还要加入log4j包, ... -
自制简易提醒器
2012-02-29 19:50 1318每次烧水和吃饭都忘了时间,就想要一个小闹钟。可网上的软件要不就 ... -
Log4j配置备查
2012-02-29 11:09 1174配置日志信息输出目的地,其语法为: log4j.append ... -
因练习正则而感受到丰富的解题思路
2011-11-14 15:07 1930不久前,在正则上终于可以登堂入室了,因担心久不练习而使其荒废, ... -
正则研究心得
2011-10-21 16:49 939自己感觉已经在正则上登堂入室了,终于也能体会到它的 ... -
正则表达式截取再整合字符串
2011-10-21 15:44 1462在百度知道中又看到一问题,有意思,可惜 ... -
找出一个字符串中由同一个字符组成的最长子串
2011-10-21 15:15 2064找出一个字符串中由同一个字符组成的最长子串 这是 ... -
设计模式核心笔录
2011-05-25 18:38 1033脑图内容整理成的PD ... -
struts2 iterator双重叠迭取值
2010-03-10 21:02 1208效果:Map<String,List<Derpa ... -
打包Zip文件下载
2010-03-10 12:19 1964项目里要把当个文件单 ... -
断点下载功能
2010-03-10 12:16 1437项目中要用到下载功能,发现一个断点下载的文章,还不错,归案备 ... -
页面头信息资料
2010-03-10 11:45 1742要做下载单个图片和多个图片打包后下载功能,收集了一下页面头信 ... -
JAVA WEB程序中添加定时器
2010-02-21 08:56 1027//这是我的定时器类, ... -
用java实现打印功能
2010-02-06 17:48 31571用java实现打印,java.awt中提供了一些 ... -
url中有加号
2010-02-05 09:27 3086url 中有些字符被转义,比如空格被编码成加号,于是传 ... -
java实现文件下载
2010-02-03 14:00 5093一、采用RequestDispatcher的方式进 ...
相关推荐
我们在使用ListView的时候需要和数据进行绑定,那么问题来了,如何获取SQLite数据库中的数据并动态的显示到ListView当中呢?其实过程很简单:首先要获取SQLite数据(当然首先你要创建一个SQLite数据库并填写了一些...
jsp操作mysql数据库的blob字段,实现: 1、将磁盘文件存入mysql数据库; 2、将mysql数据库中存入的文件,读出来,输出给浏览器。
2.图书显示模块:图书分类(可按照年级、专业分类,图书也要有) 查询图书(模糊查询) 查看图书页面详情(详细点做两本书的页面即可) 收藏图书、给图书打分(记录在数据库里);浏览图书并做推荐(针对新用户推荐...
网站形式,其中包含...处理图片将图片数据变化成字节流存储到数据库中,数据绑定时将图片从数据库读取出后经过输出页面显示图片。真正的图片上传数据库的网站,3个权限的设置,帮助初学者可以很快学习网页编写技术。
// 从数据库读出来的:图片的十六进制形式字符串 $icon_hex = '89504e470d0a1a0a0000000d494844520000001c00000012010300000072c92ca' .'700000006504c5445000000ffffffa5d99fdd0000003f49444154089963603e6f60c...
普通用户级及超级用户级别区分,快速发贴、回贴,可自定义论坛栏目,管理员可以对贴子加“精”,置顶,对贴子进行编辑、删除及在栏目间移动,用户可以编辑自己发布及回复的贴子,管理员可以使用HTML代码维护数据库,...
它就是一个网页,但是大家可以在上面用文字或者图片分享自己的心情等,它提供的内容可以用来进行交流。 博客最开始的时候是论坛下的一个子系统。最早参与博客的都是一些信息技术的一些专家和学者,讨论的都是专业...
√性别“请选择”在论坛中显示为女 √content.section 添加投票:缩略图错误 √微博后台管理 √图片区块在list列表下的分页问题:和评论分页冲突 √论坛下面在线列表:只显示当前在线前200 名,其余通过详情进入...
实现图片等文件防盗链(需在IIS中添加映射) 增加显示热门标签函数 添加新闻时可自动从内容截取简介,不再在前台生成以提高性能 新闻管理添加头条与固顶新闻管理 记录会员最后登陆ip 新闻页面添加网摘收藏功能 ...
在安装结束后,一定要详细阅读帮助文档中的网站系统安全手册和数据库安全文档 6、有何问题可以随时到中网景网站系统专区提出,对免费版本谢绝电话来访和在线支持,商业版 用户如有问题可以随时拨打中网景联系电话...
在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...
锁屏后显示屏保,图片幻灯片播放,转场美化过了,也可以自己加,图片停留和转场时间可自己设定。 关掉登录框后完美幻灯,双击左键出现登录框。 特别说明:JS删除的COOKIE无法重建,所以改用ASP删除COOKIE。
练习3-1 在JSP页面中静态包含文件 312 练习3-2 统计访问页面数量 312 练习3-3 求圆的面积和周长 313 练习3-4 动态加载页面并传递参数 314 第4单元 315 练习4-1 简单地验证用户登录 315 练习4-2 猜数字 316 练习4-3 ...