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>
dddddddddddd----
sb
大家 好
<%
System.out.println("44444444dd");
//Response.Write("4444444ddd");
//PrintWriter pw=response.getWriter().write("ZZZZZZZZZZZZZZ");
//out.print("fffffffffffffffff");
out.print("fffffffffffff");
%>
</body>
</html>

response.getWriter().write和out.print的区别_悄悄写日记_百度空间 — hi.baidu.com — Readability

 


response.getWriter().write和out.print的区别_悄悄写日记_百度空间

 

 

Read Later

 


 

 


 

 

 

jsp中的out与response.getWriter是什么关系?

同样的jsp部署在WebSphere和WebLogic中的效果完全不一样

<%
out.println("1";
response.getWriter.write("2";
out.println("3";
在WebLogic中显示为123,但是在WebSphere中,则显示为213。不知道这是否与J2EE的规范不符?

另外想知道,out这个变量是通过response得到的吗?还是完全没有关系,只不过在输出页面的时候out输出的内容并到response中去?谢了!

out当然是从reponse里来的 啊

2个当然是一点关系都没有啦。jsp里的out是
pageContext.getOut();而不是response.getWriter()

做做实验看看结果就知道2个是不是同一个东西咯
<% out.println("first jsp out";
response.getWriter().println("second response out";%>看看结果

如果底层是同一个流对象应该输出的顺序是一样的。再说明明是2个不一样的对象你为什么非要把他们2个拉上关系啊。要么你看看PageContext源码咯,每个产商实现又不见得完全一样,你哪个问题就属于他们细节上实现不一样。

response.getWriter()是SERVLET的一个方法调用,即是用来输出输出流的。而out是JSP的一个隐含对象,它自动初始化,用out.println()来输出数据流。servlet和JSP中的隐含对象是一致的

jsp里的out是JspWriterImpl类的实例
PrintWrite是java.io.PrintWriter类

PrintWrite在println()方法和print()方法中都不会有ioexception
而jsp的out的同名方法在缓冲区溢出切没有自动刷新时候会产生ioexception

其他两者则较类似
需要注意的是,这个jspwriterimpl是容器继承自标准接口产生的  

最近回过头来看Servlet,发现原来一些理解的东西不是很深,现在向大家请教。!
PrintWriter out = response.getWriter();
我的理解是调用对象response对象的getWriter方法,以次来获得PrintWriter这个输出。
请问有人能讲的更详细点吗?

我也一直有疑问:PrintWriter到底是做什么用的呢?
网页上的输出不是用的JspWriter吗?

PrintWriter用处是将结果以HTML的形式返回给客户端

response.getWriter().是在Servlet中调用,而JspWriter()是在Jsp中使用。关于Jsp和Servlet的区别,可以具体查看一下文档,包括Sun公司提出Jsp技术的背景等等。
PrintWriter out = response.getWriter();当一个Servlet响应的时候将响应信息通过out对象输出到网页上,当响应结束时它自动被关闭。所以也可以理解为:当我们调用response.getWriter()这个对象同时获得了网页的画笔,这时你就可以通过这个画笔在网页上画任何你想要显示的东西。

response.getWriter()和response.getOutputStream()这两个方法中只能调用其中一个,并且只能调用一次,不可以重复调用

jsp里的out是JspWriterImpl类的实例   
   PrintWrite是java.io.PrintWriter类   

out.println根本不换行啊?

out.println("1");
out.println("2");

以上代码的结果我想是这样:
1
2

可是结果是:
1 2
多了一个空格而言啊。

response.getWriter().print(" <br>")
这个不可以换行吗?

out.println("1");
out.println("2");
这个只是html源码换行而已 你看见的页面换行必须输出 <br>

 

 

你可能感兴趣的:(jsp)