response.getWriter()和jsp中的out对象的区别

两者的主要区别:

1. 这两个对象的类型是完全不同的:内置对象out的类型是JspWriter;response.getWrite()返回的类型是PrintWriter

2. 获取方式不同:JspWriter是JSP的内置对象,直接使用即可,对象名out是保留字,也只能通过out来调用其相关方法。此外还可以通过内置对象pageContext.getOut();获得;PrintWriter则是在用的时候需要通过内置对象response.getWriter();获得

3. JspWriter的print()方法会抛出IOException;而PrintWriter则不会

4. JspWriter和PrintWriter都继承自java.io.Writer,但JspWriter是抽象类,而PrintWriter不是

然而最最主要的区别是:如果在同一jsp或Servlet文件中同时使用了JspWriter对象和PrintWriter对象,在调用print或者println方法后的执行情况不同!

时间: 2024-08-03 07:15:35

response.getWriter()和jsp中的out对象的区别的相关文章

response.getWriter()和jsp中out对象的区别

两者的主要区别:1.内置对象out的类型是JspWriter: response.getWrite()返回的类型是PrintWriter: out和response.getWriter的类不一样,一个是JspWriter,另一个是java.io.PrintWriter. 2. 获取方式不同: JspWriter是JSP的内置对象,直接使用即可,对象名out是保留字,也只能通过out来调用其相关方法. 此外还可以通过内置对象pageContext.getOut();获得: PrintWriter则

JSP中的隐含对象

什么是JSP中隐含对象:容器自动创建,在JSP文件中可以直接使用的对象. 作用:JSP预先创建的这些对象可以简化对HTTP的请求,响应信息的访问. JSP中的隐含对象: 输入输出对象:request.response.out 作用域通信对象:session.application.pageContext Servlet对象:page.config 异常对象:Exception 隐含对象                           类型                           

jsp中的out对象 和 servlet中的response.getOutputStream()

web容器生成的servlet代码中有out.write(””),这个和JSP中调用的response.getOutputStream()产生冲突. 即Servlet规范说明,不能既调用 response.getOutputStream(),又调用response.getWriter(),无论先调用哪一个,在调用第二个时候应会抛出 IllegalStateException,因为在jsp中,out变量是通过response.getWriter得到的,在程序中既用了response.getOutp

Jsp中的pageContext对象

这个对象代表页面上下文.组要用于访问页面共享数据.使用pageContext可以直接访问request,session,application范围的属性,看看这些jsp的页面: JSP 页面使用 pageContext 对象多次设置属性,在设置属性时,如果没有指定属性存在的范围,则属性默认在 page 范围内:如果指定了属性所在的范围,则属性可以被存放在application,session,request 等范围中. pageContext对象: pageContext对象是JSP技术中最重要

jsp中forward和redirect的区别(转)

一.调用方式 我们知道,在servlet中调用转发.重定向的语句如下: request.getRequestDispatcher("new.jsp").forward(request, response);   //转发到new.jsp response.sendRedirect("new.jsp");   //重定向到new.jsp 在jsp页面中你也会看到通过下面的方式实现转发: <jsp:forward page="apage.jsp"

JSP中两种include的区别

首先说明这两种都是什么: <%@ include file=”relativeURI”%> 可以叫作静态include(静态包含),是jsp指令中的一种,(JSP指令控制JSP编译器如何去生成servlet(servlet是用Java编写的服务器端程序.其主要功能在于交互式地浏览和修改数据,生成动态Web内容.狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类别,一般情况下,人们将Servlet理解为后者.-维基百科) <js

JSP 中两种 include 的区别

转自:http://www.cnblogs.com/lazycoding/archive/2011/04/04/two_include.html <%@include file="relativeURI"%> 可以叫作静态include(静态包含),是jsp指令中的一种. <jsp:include page=”relativeURI” flush=”true” />叫作动态include(动态包含),是jsp动作的一种. 引入内容的不同 <%@includ

JSP中内置对象pageContent的使用

public class TestPageContext { public void getSomething(PageContext page){ ServletRequest request = page.getRequest(); String username = request.getParameter("username"); System.out.println(username); }} <%@page import="com.huawei.page.T

JSP 中 forward 和 redirect 的区别_2014.12.31

重定向,只能访问工程下(WebRoot文件夹)的页面,不能访问到内部(WEB_INF文件夹)的页面 1.从地址栏显示来说:forward浏览器显示路径不变,redirect浏览器显示路径改变forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.