‘壹’ Response对象和request对象的作用分别是什么
JSP的response隐藏对象在转换为Servlet之后,对应于HttpServletResponse型态对象,HttpServletResponse对象是有关于对客户端请求之响应,您可以利用它来设定一些要响应的讯息,例如标题信息、响应状态码等. response的常用方法: setHeader():是一个通用的标头设定方法,您可以用它来设定任何“名称/值”的标头. setIntHeader():是专门用来设定整数值标头的版本. setDateHeader():是setHeader()的Date设定版本,第二个参数是设定Date的Long数值,0表示GMT 1970/1/1 00:00。 (Note:以上3个函数用来设置HTTP协议的表头,必须对HTTP协议有些了解才能正确使用,我现在也不清楚). setStatus():是用来设定回应的状态码,例如404 Not Found,HttpServletResponse类中提供了一些助忆常数设定,例如SC_NOT_FOUND就是表示404状态码(可以在Servlet API文件中查询相关的助忆常数). sendError():会根据服务器的预设错误网页回报方式显示错误讯息. sendRedirect():设置重定向页面. getWriter():取得PrintWriter对象,由它来写出响应至服务器的本体信息. response 对象主要将JSP 处理数据后的结果传回到客户端。 response 对象是实现javax.servlet.http.HttpServletResponse 接口。 response对象所提供的方法。 1.设定表头的方法 void addCookie(Cookie cookie) 新增cookie void addDateHeader(String name, long date) 新增long类型的值到name标头 void addHeader(String name, String value) 新增String类型的值到name标头 void addIntHeader(String name, int value) 新增int类型的值到name标头 void setDateHeader(String name, long date) 指定long类型的值到name标头 void setHeader(String name, String value) 指定String类型的值到name标头 void setIntHeader(String name, int value) 指定int类型的值到name标头 2.设定响应状态码的方法 void sendError(int sc) 传送状态码(status code) void sendError(int sc, String msg) 传送状态码和错误信息 void setStatus(int sc) 设定状态码 3.用来URL 重写(rewriting)的方法 String encodeRedirectURL(String url) 对使用sendRedirect( )方法的URL予以编码
‘贰’ 使用网页重定向的Response方法是什么
response.sendRedirect(String url);
记忆中是这个方法,你可以试试,如果是请求分发,则用forward().......
‘叁’ 可以通过response对象的 ( ) 方法设置页面重定向,实现页面跳转。
法设置页面重定向,实现页面跳转。3. ( ) 对象是javax.jsp.JspWriter的一个
‘肆’ response对象中有哪些属性
Response对象用于动态响应客户端请示,控制发送给用户的信息,并将动态生成响应。Response对象只提供了一个数据集合cookie,它用于在客户端写入cookie值。若指定的cookie不存在,则创建它。若存在,则将自动进行更新。结果返回给客户端浏览器。
语法格式:Response.Cookies(CookieName)[(key)|.attribute]=value。这里的CookiesName是指定的Cookie的名称,如果指定了Key,则该Cookie就是一个字典,Attribute属性包括Domain,Expires,HasKeys,Path,Secure。
response 对象在ASP中负责将信息传递给用户.Response对象用于动态响应客户端请求,并将动态生成的响应结果返回到客户端浏览器中,使用Response对象可以直接发送信息给浏览器,重定向浏览器到另一个URL或设置cookie的值等.Response对象在asp编程中非常广泛,也是一种非常好用的工具.
基本格式:response.集合|属性|方法
response 的write方法:
response.write **
功能:向客户端发送浏览器能够处理的各种数据,包括:html代码,脚本程序等.
实例:
response.write "I LOVE YOU !!"
response的redirect方法:
response.redirect("url")的作用是在服务器端重定向于另一个网页。
实例:
response.redirect(http://www.tiaotiaocn.com)
●JSP 中的response
在Java Servlet中同样用到response对象,是J2EE中java.servlet.http包中的类
HttpServletResponse response实例化后将用此对象响应客户端的请求
使用HttpServletResponse response的示例代码:
------------------
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ServletTest extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=gbk");
PrintWriter out = response.getWriter();
out.println("HttpServletResponse response");
....
//方法示例..详细方法可以继续补充
response.addCookie(arg0);
response.addDateHeader(arg0, arg1);
response.addHeader(arg0, arg1);
....
out.flush();
out.close();
}
}
response的End方法:
用来终止脚本程序。在ASP程序中碰到Response.End语句后,立即终止。不过它会将之前的页面内容发送到客户端,只是不再执行后面的语句了。
response的Clear方法:
要说到Clear方法,就必须提到response的Buffer属性,Buffer属性用来设置服务器端是否将页面先输出到缓冲区。语法为:Response.Buffer=True/False
当Buffer的值为True时,Clear方法用于将缓冲区中的当前页面内容全部清除。
语法为:Response.Clear
response的Flush方法:
当Buffer的值为True时,Flush方法用于将缓冲区中的当前页面内容立刻输出到客户端。
语法为:Response.Flush
下面为Clear方法和Flush方法举例:
<%
Response.Write "第一句"
Response.Flush ‘立刻输出缓冲区中的内容
Response.Write "第二句"
Response.Clear ‘清除缓冲区中的内容
Response.Write "第三句"
%>
---------------------
语法:
Response.collection|property|method
一、集合
Response对象只有一个集合--Cookies,Cookies数据集合允许将数据设置在客户端的浏览器中。若指定的cookie不存在,则创建它。若存在,则自动更新数据。
语法:Response.Cookies(Cookie)[Key.Attribute]
这里的cookie是指定cookie的名称。而如果指定了key,则该cookie就是一个字典。attribute指定cookie自身的有关信息。attribute参数可以是下列之一:
Domain只写。若被指定,则cookie将被发送到对该域的请求中去。
Expires只写。指定cookie的过期日期。为了在会话结束后将cookie存储在客户端磁盘上,必须设置该日期。若此项属性的设置未超过当前日期,则在任务结束后cookie将到期。
HasKeys只读。指定cookie是否包含关键字。
Path只写。若被指定,则cookie将只发送到对该路径的请求中。如果未设置该属性,则使用应用程序的路径。
Secure只写。指定Cookie是否安全。
二、方法
Response.AddHeaderName,Value
向应答中添加一个新的HTML标题。Name为新HTML标题的名称。Value为该头变量的值。你可以添加任何名称和任何值的HTML标题。它并不替代现有的同名标题。一旦标题被添加,将不能删除。
Response.AppendToLogString
向Web服务器的日志条目的末尾添加一字符串。String为要添加到日志文件中的字符串。
Response.BinaryWriteData
该方法可以不经任何字符转换就将制定的信息写到HTTP输出,主要用于写非字符串信息(如客户端应用程序所需的二进制数据等)。Data是要发送的数据。
Response.Clear
删除缓冲区的所有HTML输出,但只删除响应正文而不删除响应标题。可以用该方法处理错误情况。需要注意的是,如果Response.Buffer设置为True,则该方法将导致运行是错误。
Response.End
强迫Web服务器停止执行更多的脚本,并发送当前结果,文件中剩余的内容将不被处理。如果Response.Buffer设置为True,则调用Response.end将缓冲输出。
Response.Flush
对于一个缓冲的回应,发送所有的缓冲信息。如果Response.Buffer设置为True,则该方法将导致运行是错误。
Response.RedirectURL
将客户端的浏览器重定向到一个新的Internet地址。Url为新网页的Internet地址。
Response.WriteVariant
Response.Write是Response对象最常用的方法,该方法可以向浏览器发送字符串。Variant是一字符串或一个具有字符串值的变量。
三、属性
Response.Buffer
缓冲一ActiveServerPage。回应只到某一页结束或Response.Flush或Response.End方法调用时才发送出去。服务器将输出送给客户端后就不能再设置Buffer属性。
Response.CacheControl
指明是否Proxy服务器能缓存ActiveServerPage。缺省时,其值为FALSE。当设置其属性为Public时,Proxy服务器可以缓冲由Asp产生的输出。
Response.CharSet(Charsetname)
将字符集名称(如GB)附加到Response对象中content-type标题的后面,用来设置web服务器响应给客户端的文件字符编码。一个可能的值为“ISO_LATIN_1”。
Response.ContentType
指明回应内容的类型。可能的值为text/plain和image/GIF,默认值text/HTML。
Response.Expires
浏览器可以缓存当前页的时间长度,以分钟为单位。
Response.ExpiresAbsolute
浏览器不能再缓存当前页的日期和时间。在未到期之前,可以返回。如果未指定时间,该主页在当天午夜到期;如果未指定日期,则到当天指定时间到期。
True/False=Response.IsClientConnected
属性为只读,指明自上次调用Response.Write之后,客户端是否仍然和服务器连接。该属性允许用户在客户端和服务器没有联接的情况下有更多的控制。例如,在从客户端提出请求起到服务器做出相应,其间要用去很长一段时间的情况下,这就可能有助于确保在继续处理脚本之前客户端仍是连通的。具有值TRUE或FALSE。
Response.PICS(PICS字符串)
用于添加网页的PICS等级。PICS级别指明某一网页的内容级别,比如暴力或色情的程度等。
Response.Status="状态描述字符串"
用来设置Web服务器要响应的状态行的值。
‘伍’ Response对象的语法
Response对象只有一个集合--Cookies,Cookies数据集合允许将数据设置在客户端的浏览器中。若指定的cookie不存在,则创建它。若存在,则自动更新数据。
语法:Response.Cookies(Cookie)[Key.Attribute]
这里的cookie是指定cookie的名称。而如果指定了key,则该cookie就是一个字典。attribute指定cookie自身的有关信息。attribute参数可以是下列之一:
Domain只写。若被指定,则cookie将被发送到对该域的请求中去。
Expires只写。指定cookie的过期日期。为了在会话结束后将cookie存储在客户端磁盘上,必须设置该日期。若此项属性的设置未超过当前日期,则在任务结束后cookie将到期。
HasKeys只读。指定cookie是否包含关键字。
Path只写。若被指定,则cookie将只发送到对该路径的请求中。如果未设置该属性,则使用应用程序的路径。
Secure只写。指定Cookie是否安全。 Response.AddHeaderName,Value
向应答中添加一个新的HTML标题。Name为新HTML标题的名称。Value为该头变量的值。你可以添加任何名称和任何值的HTML标题。它并不替代现有的同名标题。一旦标题被添加,将不能删除。
Response.AppendToLogString
向Web服务器的日志条目的末尾添加一字符串。String为要添加到日志文件中的字符串。
Response.BinaryWriteData
该方法可以不经任何字符转换就将制定的信息写到HTTP输出,主要用于写非字符串信息(如客户端应用程序所需的二进制数据等)。Data是要发送的数据。
Response.Clear
删除缓冲区的所有HTML输出,但只删除响应正文而不删除响应标题。可以用该方法处理错误情况。需要注意的是,如果Response.Buffer设置为True,则该方法将导致运行是错误。
Response.End
强迫Web服务器停止执行更多的脚本,并发送当前结果,文件中剩余的内容将不被处理。如果Response.Buffer设置为True,则调用Response.end将缓冲输出。
Response.Flush
对于一个缓冲的回应,发送所有的缓冲信息。如果Response.Buffer设置为True,则该方法将导致运行是错误。
Response.RedirectURL
将客户端的浏览器重定向到一个新的Internet地址。Url为新网页的Internet地址。
Response.WriteVariant
Response.Write是Response对象最常用的方法,该方法可以向浏览器发送字符串。Variant是一字符串或一个具有字符串值的变量。 Response.Buffer
缓冲一ActiveServerPage。回应只到某一页结束或Response.Flush或Response.End方法调用时才发送出去。服务器将输出送给客户端后就不能再设置Buffer属性。
Response.CacheControl
指明是否Proxy服务器能缓存ActiveServerPage。缺省时,其值为FALSE。当设置其属性为Public时,Proxy服务器可以缓冲由Asp产生的输出。
Response.CharSet(Charsetname)
将字符集名称(如GB)附加到Response对象中content-type标题的后面,用来设置web服务器响应给客户端的文件字符编码。一个可能的值为“ISO_LATIN_1”。
Response.ContentType
指明回应内容的类型。可能的值为text/plain和image/GIF,默认值text/HTML。
Response.Expires
浏览器可以缓存当前页的时间长度,以分钟为单位。
Response.ExpiresAbsolute
浏览器不能再缓存当前页的日期和时间。在未到期之前,可以返回。如果未指定时间,该主页在当天午夜到期;如果未指定日期,则到当天指定时间到期。
True/False=Response.IsClientConnected
属性为只读,指明自上次调用Response.Write之后,客户端是否仍然和服务器连接。该属性允许用户在客户端和服务器没有联接的情况下有更多的控制。例如,在从客户端提出请求起到服务器做出相应,其间要用去很长一段时间的情况下,这就可能有助于确保在继续处理脚本之前客户端仍是连通的。具有值TRUE或FALSE。
Response.PICS(PICS字符串)
用于添加网页的PICS等级。PICS级别指明某一网页的内容级别,比如暴力或色情的程度等。
Response.Status=状态描述字符串
用来设置Web服务器要响应的状态行的值。
‘陆’ 输出程序结果时常用response对象的 什么方法
首先你要理解网页的运行原理,首先是用户发出访问请求,然后服务器接受请求,对请求的合法性进行验证,合法之后将应答页面(response对象)以html的方式发送的客户端浏览器,浏览器再将html文件解释执行,所以response对象是在服务器应答阶段
‘柒’ 请说出HttpServletResponse的3个方法的用法,并说出每种方法的作用是什么
HttpServletResponse继承了ServletResponse接口,并提供了与Http协议有关的方法,这些方法的主要功能是设置HTTP状态码和管理Cookie。
(1)setStatus方法用来设置Servlet向客户端返回的状态码,它用来设置没有出错的状态。如果Servlet运行出错,Servlet可以使用sendError方法设置状态码,如sendError(int sc)方法设置错误状态代码。sendError(int sc,String msg)方法除了设置状态码,还向客户发出一条错误信息。
(2)setHeader可以指定特定名称的头信息的值,addDateheader,addIntHeader,setDateHeader,setIntHeader可以加入或理性特定时间或整数型头信息。
(3)addCookie方法可以在Web服务器响应中加入Cookie对象,这个对象将被浏览器所保存。Cookie机制也被用来维护会话状态。
(4)sendRedirect方法向客户发出临时重新导向的响应。它生成的响应状态码为302。该响应给了客户一个新的URL风趣。如果缓冲器已经被清空,这个方法会弹出一个IllegalStateException例外。
‘捌’ 在ASP程序中,Response对象的方法有哪些,各代表什么功能
Response方法负责将信息传递给用户的对象是Response,它可动态地响应客户端的请求,并将动态生成的响应结果返回给客户端浏览器。
一,Response.write
在Response中write方法是使用最频繁的一个了,write就是写:将指定的字符串写到当前的
HTTP
输出。
1,write.asp
<%
response.write("hello,world"&"<br>")
Randomize
response.write
"任意数是"&rnd()&"<br>"
%>
response.write后面为所显示的信息,可以用括号包含,也可以直接书写(注意和response.write之间有空格)。
书写的字符串信息或者HTML代码相关,用引号包含;而ASP本身的函数或变量则不需要,直接用即可。
并且无论字符串信息、HTML代码、函数还是变量之间进行连接都是采用&号(针对vbscript)
以上遇到一个随机函数rnd(),该函数返回一个小于
1
但大于或等于
0
的值。
需要注意的是在调用
Rnd
之前,先使用无参数的
Randomize
语句初始化随机数生成器,该生成器具有基于系统计时器的种子。
若缺少Randomize,则无法继续生成随机种子。
下面一个利用随机函数的例子,产生随机背景颜色效果:
运行代码框
<script
language=vbs>
Randomize
'首先Randomize产生随机种子
suij=rnd()
'接着将函数值赋变量suij
suij=replace(suij,".","9")
'然后对变量suij中小数点符号转换为数字9
suij=left(suij,6)
'再取变量中的左6位
document.write
"<body
bgcolor=#"&suij&">"
'最后应用到背景颜色中去
</script>
[Ctrl+A
全部选择
提示:你可先修改部分代码,再按运行]
当然要产生指定范围的随机整数,请使用以下公式:
Int((upperbound
-
lowerbound
+
1)
*
Rnd
+
lowerbound)
这里,
upperbound
是此范围的上界,而
lowerbound
是此范围内的下界。
运行代码框
<script
language=vbs>
Do
Until
choose
=
vbNo
value
=
Int((41
*
Rnd)
+
60)
'产生
60
到
100
之间的随机数。
msgbox
value
choose
=
MsgBox
("Roll
again?
",
vbYesNo)
Loop
</script>
[Ctrl+A
全部选择
提示:你可先修改部分代码,再按运行]
随机函数在做考试系统的时候非常有用,当然你也可以用来自己摇奖,拿个头彩也分点我就行了:)
二,Response.end
这是Response常用的一种方法,使
Web
服务器停止处理脚本并返回当前结果,文件中剩余的内容将不被处理。
主要放在一页多功能的ASP页中,为让程序运行到此,抑或往下的程序没必要再执行显示……
2,end.asp
<%response.write
now()
response.end
'程序执行显示到此结束
response.write
rnd()%>
三,Response.clear
该方法主要作用是清除缓冲区中的所有
HTML
输出,但该方法只清除响应正文而不清除响应标题。
该方法和end方法似相反,end是到此结束返回上面的结果,而clear却是清除上面的执行,然后只返回下面的结果。
3,clear.asp
<%response.write
now()
response.clear
'以上程序到此全被清除
response.write
rnd()%>
下面通过一个例子来仔细看看end
and
clear
4,end2clear.asp
<%
filepath=request.servervariables("script_name")
user=Request.Form("username")
pwd=Request.Form("password")
%>
<form
method="POST"
action="<%=filepath%>">
name:<input
type="text"
name="username"><br>
pwd:<input
type="password"
name="password"><br>
<input
type="submit"
value="submit">
</form>
<%
If
user="cnbruce"
and
pwd="cnbruce"
Then
response.write
"采用clear方法,上面的程序结果将清除。"
response.clear
'
清空存储在缓存中的页面
Else
response.write
"采用end方法,下面的程序将停运。"
Response.End
'
立即停止脚本处理,并将缓存中的页面输出
End
If
%>
如果你只看到“刷新”链接就表明clear方法已经生效<br>
<a
href="<%=filepath%>">刷新</a>
以上程序中,当输入用户名和密码同为cnbruce的时候会发现clear方法的处理结果,反之是另外一个效果。
四,Response.redirect
Redirect
方法是让浏览器立即重定向到程序指定的URL地址。这在根据客户的不同响应,为不同的客户指定不同的页面,或根据不同的情况指定不同的页面时,显得非常重要。
该方法是立即生效的,在其后的脚本都不执行。
5,redirect.asp
<%response.redirect("http://www.cnbruce.com/")%>
以上四则运用属于Response对象的几个比较重要的方法:write、end、clear、redirect等当然方法还有:AddHeader、AppendToLog、BinaryWrite、Flush……
早说过,一个ASP对象除了对象方法外,还有对象属性
那response对象的属性有哪些呢?
五,Response.ContentType
ContentType
属性指定服务器响应的
HTTP
内容类型。如果未指定
ContentType,默认为
text/html。
6,contenttype.asp(非text/html的)
<%
Response.ContentType
=
"text/HTML"
%>
<%
Response.ContentType
=
"image/GIF"
%>
<%
Response.ContentType
=
"image/JPEG"
%>
<%
Response.ContentType
=
"text/plain"
%>
<%
Response.ContentType
=
"image/JPEG"
%>
六,Response.charset
Charset
属性将字符集名称附加到
Response
对象中
content-type
标题的后面,用来设置服务器响应给客户端的文件字符编码。
7,charset.asp
<%
Response.charset
=
"big5"
%>
中文显示,但采用的big5繁体的编码,所以看到的是乱码。
当然Response.ContentType和Response.charset应用得比较少了。直接在head头部属性里面添加就OK了。
七,Response.expires
该属性指定了在浏览器上缓冲存储的页,距过期还有多少时间。
如果用户在某个页过期之前又回到此页,就会显示缓冲区中的页面。
但若设置
response.expires=0,则可使缓存的页面立即过期。
这是一个较实用的属性,当客户通过
ASP
的登陆页面进入
WEB
站点后,应该利用该属性使登陆页面立即过期,以确保安全。
引用一个经典的例子
8,expires.asp
<%
Response.Expires
=
0
Response.Expiresabsolute
=
Now()
-
1
Response.AddHeader
"pragma","no-cache"
Response.AddHeader
"cache-control","private"
Response.CacheControl
=
"no-cache"
%>
八,Response.status
设置服务器要响应的状态行的值。Response.status="状态描述字符串",字符串可以为一个三位整数或一串说明文字组成,但必须防在<html>之前。
9,status.asp
<%
Response.Status
=
"401
Unauthorized"
%>
九,Response.buffer
比较重要的一个,值为true
or
false。该属性指示是否缓冲页输出。
引用:当缓冲页输出时,只有当前页的所有服务器脚本处理完毕或者调用了
Flush
或
End
方法后,服务器才将响应发送给客户端浏览器,服务器将输出发送给客户端浏览器后就不能再设置
Buffer
属性。因此应该在
.asp
文件的第一行调用
Response.Buffer。
Response.buffer=true
‘玖’ Response对象的常用方法有哪些
很多,常用的有response.getOutputStream()获得字节输出流,如做image下载用;getWriter()获得字符流,按字符输出流获取,如使用json返回值等。sendRedirect重定向;。。。。。看servlet规范即可
‘拾’ response和request对象的常用用法。
原来页面
Response.Redirect("….aspx?abc=" + 变量);
目的页面
string abc=Request.QueryString["变量"].ToString();