首页 > 技术文章 > JSP内置对象---response 响应

huiziz 2016-07-16 03:23 原文

 

将response.jsp 页面的html标签(包括html、head、body)全部删掉。 

<%@ page language="java" import="java.util.*,java.io.*" contentType="text/html; charset=utf-8" %>
<%
response.setContentType("text/html;charset=utf-8");//设置响应的MIMI类型

out.println("<h1>response内置对象</h1>");
out.println("<hr>");//创建一条水平线

PrintWriter outer = response.getWriter();//获得输出流对象
outer.println("晚上好,这个response生成的输出流outer对象");
%>

 

页面显示:

 

 

总结:PrinterWriter 输出提前于内置out对象,因此页面显示如上。

 

 

解决此问题:out.flush(); 强制清空缓冲区,flush()方法会在清空同时强制将缓冲区内容写在浏览器上,

<%@ page language="java" import="java.util.*,java.io.*" contentType="text/html; charset=utf-8" %>
<%
response.setContentType("text/html;charset=utf-8");//设置响应的MIMI类型

out.println("<h1>response内置对象</h1>");
out.println("<hr>");//创建一条水平线
out.flush();
PrintWriter outer = response.getWriter();//获得输出流对象
outer.println("晚上好,这个response生成的输出流outer对象");
%>

 

 

response.sendRedirect() 请求重定向,给客户端一个新请求,重定向到新的资源。实例:当用户访问response.jsp 时,会立刻跳转到 reg.jsp 页面

<%@ page language="java" import="java.util.*,java.io.*" contentType="text/html; charset=utf-8" %>
<%
response.setContentType("text/html;charset=utf-8");//设置响应的MIMI类型

out.println("<h1>response内置对象</h1>");
out.println("<hr>");//创建一条水平线
//out.flush();
PrintWriter outer = response.getWriter();//获得输出流对象
outer.println("晚上好,这个response生成的输出流outer对象");
response.sendRedirect("reg.jsp");//当用户访问response.jsp时会立刻跳转到reg.jsp页面
%>

 

 

 

推荐阅读