救命呀!关于从数据库读取Word文档(BLOB)在JSP页面显示
来源:互联网 发布:js中的tip 编辑:程序博客网 时间:2024/06/05 18:48
页面输出乱码,但文件写入正确。(运行环境:WebLogic6.1+Jdk1.3.1+WinXP)
<%@ page language="java" import="java.sql.*,java.util.*"%>
<%
String image_id ="2" ;
int imglen=0;
try {
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@89.0.0.224:1521:bi";
//orcl为你的数据库的SID
String user="system";
String password="manager";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select test from tab_test1 where id=2");
if (rs.next())
{
oracle.sql.BLOB m_blob=(oracle.sql.BLOB) rs.getBlob(1);
int length=(int) m_blob.length();
imglen=length;
BufferedInputStream bis=new BufferedInputStream(m_blob.getBinaryStream());
byte[] l_buffer = new byte[1024];
int l_nbytes = 0;
response.setContentType("application/msword");
javax.servlet.ServletOutputStream op = response.getOutputStream();
File newfile=new File("d:/new.doc");
FileOutputStream nn=new FileOutputStream(newfile);
while ((l_nbytes = bis.read(l_buffer)) != -1) {
op.write(l_buffer,0, l_nbytes);
nn.write(l_buffer,0, l_nbytes);
}
op.close();
nn.close();
}
System.out.println("文档长度:"imglen);
rs.close();
stmt.close();
conn.close();
}
catch(Exception e) {
System.out.println(imglen);
System.out.println(e.getMessage());
}
%>
同时控制台提示如下:
文档长度:120832
Connection reset by peer: socket write error
<2002-8-29 下午06时59分25秒> <Error> <HTTP> <Connection failure
java.net.SocketException: ReadFile failed: ??¨??????????????á?
(error 64, fd 2064)
at weblogic.socket.NTSocketMuxer.initiateIO(Native Method)
at weblogic.socket.NTSocketMuxer.read(NTSocketMuxer.java:407)
at weblogic.servlet.internal.MuxableSocketHTTP.requeue(MuxableSocketHTTP
.java:231)
at weblogic.servlet.internal.ServletResponseImpl.send(ServletResponseImp
l.java:977)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
pl.java:1964)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
>
jsp的out是个Writer
建议用OutputStream,或者正确的编码
最好用servlet来实现了
晕~!改成servlet居然就好了
反编译jsp运行时生成的class文件发现weblogic自动在开头给加了一句
JspWriter jspwriter = pagecontext.getOut();
jspwriter.print("/r/n");
- 救命呀!关于从数据库读取Word文档(BLOB)在JSP页面显示
- 从Oracle中数据库中读取以Blob类型存储的图片显示在jsp页面中
- JSP读取Oracle数据库里的图片Blob字段并显示在页面上
- Java从Oracle读取Blob显示图片在页面
- 请教java在jsp页面显示word文档问题
- grails从数据库读取blob显示图片
- autocomplete的使用 从数据库中读取后显示在JSP页面上 JSON jquery
- java以Blob形式存储,读取图片并在jsp页面显示图片流
- Java web 从数据库读取菜单,显示在jsp中
- 取出Oracle数据库中Blob类型的未编码图片流显示在JSP页面上
- java读取Blob文件显示在jsp界面
- 从数据库中读取Blob对象图片并显示
- 从数据库中读取Blob对象图片并显示
- 从数据库中读取Blob对象图片并显示
- Java从数据库中读取Blob对象图片并显示
- Echarts-Struts2+Spring+Mybnatis+Jquery+Json在页面显示数据(数据从数据库读取)
- struts2中使用Blob类型处理图片上传保存在数据库中并在JSP页面中显示图片
- Jsp从数据库读取并显示图片
- 代码的有效性问题 [原]
- ◎简便易行的放松训练
- 控制电脑关机或者重新启动的JS代码
- oracle cursor
- ◎Vbs脚本应用——打造个性化QQ
- 救命呀!关于从数据库读取Word文档(BLOB)在JSP页面显示
- C++库大全
- Jsp+Tomcat+MySQL+Sevlet+Javabean配置过程
- 多核时代对并发程序设计的探索(有时间在看,现在没什么用那)
- jdk6.0 + Tomcat6.0的简单jsp,Servlet,javabean的调试
- Collection Map 深入剖析
- KeyCode常数用法(vb)
- 利用ajax.dll进行Ajax的开发
- 去掉地址栏中的jsessionid