(100分)关于out.close();

时间:2021-06-02 23:51:55
下面是一段jsp代码:
<%
out.println("hoho");
out.close();
out.println("haha");
%>
结果是
hohohaha
我郁闷啊!!
我试验的平台有iis+resin,resin,
我的朋友试过weblogic
好像只有tomcat的结果是hoho
希望高手解释一下out.close();
谢谢!

19 个解决方案

#1


我在wsad下面调试的结果是hoho呀

#2


在JRUN下也正确。

#3


在JB中运行也是hoho!

#4


难道说resin和weblogic等有设计漏洞?
还是别的?

#5


JBuilder默认是用Tomcat3.2

#6


我用iPlanet试过,结果是
hoho.
正常..
试试
<%
out.println("hoho");
out.flush();
out.close();
out.println("haha");
%>

#7


不会有这样的问题吧!
我在Tomcat下面也是正常的啊!不应该还有输出的啊!看看那句话是不是写错了?

#8


to gzwrj(我无知,所以我有智慧.)
我试了你的方法,结果还是那个样子.不好意思

to sook_l(sook)
绝对没有写错,我就写了这么三句,怎么可能写错?

还有我用的是j2sdk1.4
有谁也用resin试过了吗?
谢谢各位!

#9


只能说明resin没有及时关闭out,呵呵。

你延时一下再out.println(xxx):

  Thread.sleep(3000);

#10


to hccpro(hcc) 
哈哈,试验了一下,结果还是老样子
看来明天我要改装别的服务器了

#11


试一下用"return"
在weblogic上好像是可以的

#12


我的jrun4
test.jsp
<%
out.print("hoho");
out.close();
out.print("haha");
%>
输出结果:
hoho
500 null:0 JspWriter closed
null:0 JspWriter closed 

为什么?

#13


<%
out.print("hoho");
out.close();
return;
out.print("haha");
%>

#14


<%
out.print("hoho");
out.close();
return;
out.print("haha");
%>

得到

500 Translator.CompilationFailedExceptionCompiler errors:
Found 1 semantic error compiling "D:/JRun4/servers/default/default-ear/default-war/WEB-INF/jsp/jrun__test2ejsp9.java":

51. out.print("haha");
<---------------->
*** Error: This statement is unreachable.

Translator.CompilationFailedExceptionCompiler errors:
Found 1 semantic error compiling "D:/JRun4/servers/default/default-ear/default-war/WEB-INF/jsp/jrun__test2ejsp9.java":

51. out.print("haha");
<---------------->
*** Error: This statement is unreachable.

#15


51. out.print("haha");
<---------------->
*** Error: This statement is unreachable.永远不能被执行的语句
^_^,你要结束执行总得有个条件吧?
<%
int m=0;
out.print("hoho");
out.close();
m++;m--;m+=100;
if(m>0) return;
out.print("haha");
%>

#16


这样out.close();可以不用了?

#17


<%
out.println("hoho");
if(true)
return;
out.println("haha");
%>
完全正确,给分!^V^

#18


你要多少啊,我给你:-)

#19


果然好用,
提这个问题都这么长时间了:P
给分!

#1


我在wsad下面调试的结果是hoho呀

#2


在JRUN下也正确。

#3


在JB中运行也是hoho!

#4


难道说resin和weblogic等有设计漏洞?
还是别的?

#5


JBuilder默认是用Tomcat3.2

#6


我用iPlanet试过,结果是
hoho.
正常..
试试
<%
out.println("hoho");
out.flush();
out.close();
out.println("haha");
%>

#7


不会有这样的问题吧!
我在Tomcat下面也是正常的啊!不应该还有输出的啊!看看那句话是不是写错了?

#8


to gzwrj(我无知,所以我有智慧.)
我试了你的方法,结果还是那个样子.不好意思

to sook_l(sook)
绝对没有写错,我就写了这么三句,怎么可能写错?

还有我用的是j2sdk1.4
有谁也用resin试过了吗?
谢谢各位!

#9


只能说明resin没有及时关闭out,呵呵。

你延时一下再out.println(xxx):

  Thread.sleep(3000);

#10


to hccpro(hcc) 
哈哈,试验了一下,结果还是老样子
看来明天我要改装别的服务器了

#11


试一下用"return"
在weblogic上好像是可以的

#12


我的jrun4
test.jsp
<%
out.print("hoho");
out.close();
out.print("haha");
%>
输出结果:
hoho
500 null:0 JspWriter closed
null:0 JspWriter closed 

为什么?

#13


<%
out.print("hoho");
out.close();
return;
out.print("haha");
%>

#14


<%
out.print("hoho");
out.close();
return;
out.print("haha");
%>

得到

500 Translator.CompilationFailedExceptionCompiler errors:
Found 1 semantic error compiling "D:/JRun4/servers/default/default-ear/default-war/WEB-INF/jsp/jrun__test2ejsp9.java":

51. out.print("haha");
<---------------->
*** Error: This statement is unreachable.

Translator.CompilationFailedExceptionCompiler errors:
Found 1 semantic error compiling "D:/JRun4/servers/default/default-ear/default-war/WEB-INF/jsp/jrun__test2ejsp9.java":

51. out.print("haha");
<---------------->
*** Error: This statement is unreachable.

#15


51. out.print("haha");
<---------------->
*** Error: This statement is unreachable.永远不能被执行的语句
^_^,你要结束执行总得有个条件吧?
<%
int m=0;
out.print("hoho");
out.close();
m++;m--;m+=100;
if(m>0) return;
out.print("haha");
%>

#16


这样out.close();可以不用了?

#17


<%
out.println("hoho");
if(true)
return;
out.println("haha");
%>
完全正确,给分!^V^

#18


你要多少啊,我给你:-)

#19


果然好用,
提这个问题都这么长时间了:P
给分!

#20