请问jsp中如何得到outputstream(100分)

  • 主题发起人 主题发起人 hyzou
  • 开始时间 开始时间
H

hyzou

Unregistered / Unconfirmed
GUEST, unregistred user!
请不要告诉我是response.getOutputStream
请有这方面经验的大侠告诉我
 
就是response.getOutputStream(),
JSP其实是servlet,response.getOutputStream()获得servlet的输出
 
你没有亲手试过吧?
 
写过一个servlet,从数据库中读image数据然后写到输出流送到浏览器端,用
的就是response.getOutputStream().
或者是我理解错你的意思了。
你这个问题问的“如何得到outputstream”到底是什么意思?
 
servlet里这样作没问题,但jsp里不行
试一下就知道了
 
好象可以吧,而且在jsp中out就是一个输出啊,只不过out是一个writer
而不是outputstream。
如果你是用tomcat的话,它的jsp引擎会生成jsp java代码。
你可以分析这些代码。(有的jsp服务器直接生成.class,如weblogic)
------------------------------------------------------------------
jsp文件
<%@ page contentType="text/html;
charset=GBK" %>
<html>
<head>
<title>
Jsp1
</title>
</head>
<body>
<h1>
JBuilder Generated JSP
</h1>
<%
java.io.OutputStream o=response.getOutputStream();
o.write("slfksdf".getBytes());
%>
</body>
</html>
-------------------------------------------------------------------
结果
JBuilder Generated JSP
slfksdf
-------------------------------------------------------------------
 
你这段运行通过了?
用的什么服务器?
 
果然,weblogic可以,我用tomcat却不行,难道和server有关?
还是因为jar包版本的不同?
 
tomcat中的错误信息如下:
getOutputStream() has already been called for this response
tomcat只让调用一次getOutputStream(),因为已经调用过一次了(结果应该是out),
所以再次调用时出错。
其实在jsp中out就是一个输出啊,只不过out是一个writer而已,用out也可以啊。
你到底要输出什么东西?
 
我要输出的东西用的是第三方的包,
xxx(OutputStream os);
所以我也是没办法
 
java的io包提供outputstream转换成writer的类,
可惜没有提供writer转换成outputstream的类。
两种建议:
1、换jsp服务器。
2、自己写一个类,把writer封装成outputstream。功能就好象
java.io中的outputstreamwriter。
 
接受答案了.
 
加错分了 :)
shisam,到新贴里来拿分
 
后退
顶部