站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题OUT的困惑,呵呵,无语中。。。

OUT的困惑,呵呵,无语中。。。

摘要: OUT的困惑,呵呵,无语中。。。


在JAVA语言中System.out.println("abc")就可以输出abc.在JSP中<%out.print("abc");%>也可以输出abc,但为什么<%out.println("abc");%>输出的效果是一样的也,也不换行什么的,更郁闷的是<%System.out.println("abc");%>不会报错,也没有输出,把Sydyem改成system就要出错了,困惑呀,JSP中的OUT对象和JAVA语言中的out难道是不一样的,各位大虾请为我解惑,谢谢!!!


在JAVA语言中System.out.println("abc")就可以输出abc.在JSP中<%out.print("abc");%>也可以输出abc,但为什么<%out.println("abc");%>输出的效果是一样的也,也不换行什么的,更郁闷的是<%System.out.println("abc");%>不会报错,也没有输出,把Sydyem改成system就要出错了,困惑呀,JSP中的OUT对象和JAVA语言中的out难道是不一样的,各位大虾请为我解惑,谢谢!!!

System.out 是输出到控制台,如果你用控制台方式启动 Tomcat (或其它服务器)的话,你就可以按到输出。但这不是输出的网页上的。

JSP上的 out 是输出到网页的,所以你能在网页上看到结果。而且,用 println() 输出是换了行的——只不过,你看不到效果。因为网页(HTML)里,是用
来换行,而 println() 输出的换行符,仅仅是在网页的源代码中换行,是不会体现在页面显示效果上的(其实也有体现,通常是表示为一个空格)。你查看源代码的时候就可以看出来了。如果不明显,你可以试试这样几个语句(查看源码哦):
<%
out.print("AAAAAAAAAAA");
out.print("BBBBBBBBBBB");
out.println("CCCCCCCCCCC");
out.println("DDDDDDDDDDD");
%>

源码中应该显示为
AAAAAAABBBBBBBBCCCCCCCC 这里有一换行
DDDDDDD 这里有一换行
.....

在显示效果中显示的应该是 AAAAAAAAABBBBBBBBBBCCCCCCCCCCCC DDDDDDDDDDD


<%System.out.println("abc");%>这个是输出到日志文件中去了,


也不见得是输出到日志,还要看设置的。


System.out jsp中的out 都是PrintWriter 但输出位置不一样。
System.out输出的是jvm的控制台,
jsp中的out输出的是内存中的一个流对象,再由jsp容器发送到远程请求的程序中(IE)。

jsp中的out输出是有换行的。但浏览器会根据HTML规范进行显示。HTML规范是忽略换行和空格的。 不过你在查看源文件时会发现源文件是换行的。


二楼回答的很对


↑返回目录
前一篇: 请教struts高手,关于formbean的问题,问题解决就结分!!
后一篇: 一些javascript的小问题