`

JSP中out对象的print()和println()方法

 
阅读更多
[b][b]在JSP中,通常在页面中显示结果,用的最多的非out.print()或者out.println()莫属了,这两种方式输出的结果一样吗?答案是否定的。
在没学Ajax之前,我也和大多数学Java的JSP程序员一样,认为print()和println()是一样的作用,因为在JSP页面中分别用这两个方法输出的结果是一样的呀!另外在用Java写的应用程序中System.out.print()不换行地输出结果, System.out.println()是换行地输出要输出的结果呀
从表面上来看,确实是这样的。在JSP网页中,用out.print()或者out.println()输出的结果显示在JSP页面上是一样的。事实上,他们两个输出的结果是不一样的,下面看两个实例来证明:
[/b][/b]
View.jsp页面:
  <%@ page c language="java"%>
<html>
<head>
<title>Print()和Println()的输出验证</title>
<script language="javascript" type="text/javascript">
<!--
var xmlHttp;
function createXMLHttpRequest(){
  if(window.ActiveXObject){
  xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  }
  else if(window.XMLHttpRequest){
  xmlHttp = new XMLHttpRequest();
  }
}
function getData()
{
createXMLHttpRequest();
var url = "showdata.jsp";
  xmlHttp.open("GET",url,true);
  xmlHttp.onreadystatechange = showResult;
  xmlHttp.send(null);
}
function showResult(){
  if(xmlHttp.readyState == 4){
         if(xmlHttp.status == 200){
         var result = xmlHttp.responseText;
         alert(result);
//在这里弹出一个对话框,草榴社区显示返回的结果。在这里就可以看出,print()和println()的不同。
         }
  }
}
//-->
</script>
</head>
<body >
</body>
< ml>
Showdata.jsp页面:
<%@ page  c language="java" %>
<%@ page import="java.sql.*"%>
<%
ResultSet  rs = null;
Connection con = null;
PreparedStatement ps = null;
try
{
   Class.forName("com.mysql.jdbc.Driver");
   String url ="jdbc:mysql://localhost:3306/ajax";
   con = DriverManager.getConnection(url,"root","tdy218");
  String sql = "select * from  printtest";
  ps = con.prepareStatement(sql);
  rs = ps.executeQuery();
  while(rs.next())
  {
   out.println("<res>"+rs.getString("major")+"</res>");  //妞妞基地输出方式一、换行输出。
  // out.print("<res>"+rs.getString("major")+"</res>"); //输出方式二、不换行输出。
  }
  con.close();
}
catch(Exception e)
{
System.out.print(e.getMessage());
}
%>

方式一的输出结果:

   方式二的输出结果:

  
为了进一步证明我的结论,你也可以这样做(把上面那个Showdata.jsp的输出页面的输出对象改为System,在控制台输出,这样应该更有说服力):
<%@ page  c language="java" %>
<%@ page import="java.sql.*"%>
<%
ResultSet  rs = null;
Connection con = null;
PreparedStatement ps = null;
try
{
//此教程来源于97xxoo教程网(www.97xxoo.org)\
//查看完整的教程请点:http://www.97xxoo.org/article/3/2008/20081114334.shtml
   Class.forName("com.mysql.jdbc.Driver");
   String url ="jdbc:mysql://localhost:3306/ajax";
   con = DriverManager.getConnection(url,"root","tdy218");
  String sql = "select * from  printtest";
  ps = con.prepareStatement(sql);
  rs = ps.executeQuery();
  while(rs.next())
  {
   System.out.println("<res>"+rs.getString("major")+"</res>");  //输出方式一、换行输出。
  // System.out.print("<res>"+rs.getString("major")+"</res>"); //输出方式二、不换行输出。
  }
  con.close();
}
catch(Exception e)
{
System.out.print(e.getMessage());
}
%>

System.out.print()和System.out.println()的两种输出方式的输出结果:

  
      总结:在JSP页面中,用out.println()这种方式输出结果本质上会换行,但是是写在程序片中输出的。JSP程序片又是可以写在HTML标签中的,这样就等于程序片中的内容以无标签(这里指的是html标签)的格式(纯文本格式)输出。所以输出的内容就没换行,要换行也得加html标签中的<p></p>或者<br>之类的标签。试验证明:以contentType设置成:text/xml(以XML格式显示数据)也一样满足我的结论。时间关系,就写这么多了。下面我简单的把XML格式的显示写法提一下:
        JSP页面中这样写:写在while(rs.next())的上面。
              response.setContentType("text/xml; charset=gbk");  
              response.setHeader("Cache-Control","no-cache");
              out.println("<?xml  version=\"1.0\"  encoding=\"gbk\"?>");
       Servlet里这样写:同样写在while(rs.next())的上面。
              response.setContentType("text/xml; charset=gbk");  
              response.setHeader("Cache-Control","no-cache");
              response.getWriter().write("<?xml  version=\"1.0\"  encoding=\"gbk\"?>");
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    JSP内置对象归纳与总结

    JSP提供了九个内置对象,分别是out对象、request对象、response对象、session对象、application对象、pageContext对象、exception对象、config对象和page对象。这些内置对象是由容器实现和管理的,可以直接在JSP页面...

    JSP内部对象详解.

    在提供的示例中,`out.println(new Date().toLocaleString())`将当前日期和时间转换为本地字符串并输出,`out.print("&lt;BR&gt;")`则输出一个换行符,`out.print("测试成功")`打印出文字“测试成功”。 2. **Request对象...

    JSP应用开发-JSP内置对象.pptx

    out对象的方法包括print、println、flush等。 6. config对象 config对象是JSP页面的配置对象,包含了JSP页面的配置信息。config对象的方法包括getInitParameter、getInitParameterNames等。 7. pageContext对象 ...

    jsp内置对象学习

    `out.println()`和`out.print()`是Out对象最常用的两个方法,用于将数据以字符串形式输出到客户端。下面是一个简单的示例: ```jsp ;charset=gb2312" %&gt; &lt;TITLE&gt;Out对象使用实例 &lt;% out.println(new ...

    JSP的九个内置对象及四个作用域

    Request 对象是javax.servlet.ServletRequest的子类型,“Request”对象代表的是来自客户端的请求,例如我们在FORM表单中填写的信息等,最常用的对象方法有getParameter、getParameterNames和getParameterValues通过...

    JSP内建对象详解

    在Java Server Pages (JSP) 技术中,为了方便开发者操作页面数据和实现各种功能,内置了一系列的对象,这些对象提供了丰富的API来处理客户端请求和响应,使得开发者无需手动创建就可以直接使用。下面将详细介绍JSP中...

    JSP内置对象方法介绍示例

    在压缩包文件"JSP内置对象"中,可能包含了关于这些对象的详细解释、代码示例以及使用场景分析,可以帮助读者更深入地理解和掌握JSP内置对象的使用。通过阅读和实践其中的内容,开发者可以提升自己的JSP编程能力,为...

    jsp隐含对象详细解析

    `out`对象提供了一系列的方法用于输出数据和管理缓冲区,如`print()`和`println()`用于输出文本,`clear()`和`clearBuffer()`用于清空输出流或缓冲区。 ```java // 输出文本 out.print("Hello, World!"); // ...

    jsp内置对象一些实验题

    Out对象是JSP中用于输出响应信息的内置对象。Out对象提供了一些方法来输出响应信息,例如: * print():输出字符串 * println():输出字符串并换行 * flush():刷新输出缓冲区 实验题目: 1. 练习课本上例题(P...

    jsp内置对象.doc

    out对象的常用方法包括println()、print()、flush()等。 六、pageContext对象 pageContext对象是JSP中的一个内置对象,提供了对页面的访问和操作能力。pageContext对象可以获取页面的信息,例如当前页面的路径、...

    JSP内建对象方法大全

    - exception对象仅在错误处理页面中可用,用于捕获和处理JSP页面中抛出的异常。 了解这些内建对象及其方法对于有效地编写JSP页面至关重要,它们简化了与HTTP请求、响应、会话管理和应用程序上下文的交互,使得...

    jsp内置对象课件,维护对象和增加和删除对象属性

    它的类型是`javax.servlet.jsp.JspWriter`,提供了`print()`和`println()`等方法用于输出数据,以及管理缓冲区的方法如`close()`、`clearBuffer()`、`clear()`、`getRemaining()`和`flush()`等,便于控制输出流和...

    JSP中out对象的实例详解

    out对象是JspWriter类的一个实例,这个类提供了多种方法用于在JSP页面中输出不同类型的数据。 在JSP中,输出内容通常涉及到两个缓冲区的概念:页面缓冲区和out对象缓冲区。页面缓冲区与响应缓冲区相关,由页面指令...

    jsp九大对象总结

    它提供了`print()`、`println()`、`newLine()`、`flush()`、`close()`、`clear()`和`clearBuffer()`等方法来控制数据的输出和缓冲区的操作。 4. **PageContext对象**(javax.servlet.jsp.PageContext):提供对整个...

    JSP九大内置对象

    使用`out.println()`和`out.print()`方法可以将信息发送到客户端的浏览器。 #### 2. request对象 `request`对象是`javax.servlet.http.HttpServletRequest`类的一个实例,用于封装来自客户端的请求信息。它可以...

    Java Web应用开发 17 课堂案例-使用out对象.docx

    在案例中,可以看到`out.println()`被用来输出不同类型的变量,包括布尔值、字符、字符数组、浮点数、整数、长整数、日期对象和字符串。例如,第7行使用此方法输出HTML格式的信息,第8行至第21行输出不同类型的数据...

    JSP隐含对象.ppt

    * 使用 write()、print() 和 println() 方法 * 客户端创建输出流创建输出流以显示信息 * 请求输出流在网页上显示输出流 使用 out 对象输出: * 使用 out 对象进行 JSP 编程 作用域通信对象: * 隐式对象的作用域...

    Jsp的隐式对象实例教程文档

    `out.println()`和`out.print()`用于输出数据,`out.clear()`和`out.flush()`分别用于清除缓冲区内容和强制输出缓冲区数据。 4. **session对象**: `HttpSession` 类的实例,用于维护用户会话状态。通过`session....

    JSP内置对象 request、response、out的应用

    通过以上步骤,我们可以清楚地看到`request`、`response`和`out`这三个JSP内置对象是如何协同工作,共同实现一个简单的网络留言板程序的。这不仅展示了JSP技术的强大功能,也为初学者提供了一个很好的学习案例。

    jsp内置对象及常用函数总结

    `print()`和`println()`是最常用的方法。 7. **config对象**:提供了访问Servlet配置信息的方法,如`getInitParameter()`。 8. **exception对象**:在错误处理页中,用于捕获和处理异常。如果页面声明为`...

Global site tag (gtag.js) - Google Analytics