1.我们要知道 out 的这是对象是JspWriter,而response获取的writer 的真是对象是PrintWriter ,他们获取的对象属于不同的的类;
2.他们的执行顺序是有区别的,我们以下面的例子作为说明:
我们在一个jsp页面中简单写入以下代码:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>JSP的内置对象-out对象</h1>
<%= "AAAAAA" %>
<% out.println("BBBBB"); %>
<% response.getWriter().println("CCCCC"); %>
<% out.println("DDDDD"); %>
</body>
</html>
让我们感到意外的是,访问页面的时候页面输出的结果为:
CCCC
JSP的内置对象-out对象
AAAAAA
BBBBB
DDDDD
为什么没有按着顺序执行呢?我们这里会产生疑问,这是因为与jsp中底层实现方式是有关系的
所以出现了上述的结果。