请问为什么jsp中不能用System.out.println()而要用out.println()

2024-12-16 21:31:56
推荐回答(2个)
回答1:

1、
<% ... %>里面是用来放置JAVA代码片段的

2、
System.out.println()用的是标准输出流,这个是输出在控制台上的,而JSP不是控制台程序,在out.println()中,out是response的实例,是以response为对象进行流输出的,即将内容输出到HTML代码中

3、
因为受到HTTP协议的限制,JSP与桌面程序有很大的不同,架构也不同,所以学习时要区别开来,这是两个完全不同类型的概念,只要你抓住了核心的概念,就很容易了

回答2:

因为out对象是jsp的内置对象,所以可以直接使用。
system.out.print是在java代码中实现,输出在控制台。
out.print是在jsp代码中实现,输出在页面,其实这里的out,是PrintWrite类的实例。
JspWriter类型的out对象使用print方法和write方法都可以输出字符串,但是,如果字符串对象的值为null时,print方法将输出内容为“null”的字符串,而write方法则是抛出NullPointerException异常。例如:
下面的test.jsp文件:
<% String str=null;
out.print(str);
//out.write(str);
%>