Jsp中response对象的所有属性详细介绍
所属接口:javax.servlet.http.httpservletresponse,其父接口是servletresponse,而且servletresponse也现在只有唯一一个httpservletresponse子接口,主要原因是,现在的j2ee的web程序主要以http协议为主要通讯协议。
response对象的功能:
1. setheader( string name , string value )
设置指定的http文件的值,如果该值已经存在,则新值会覆盖原有的旧值.
设置头信息:response.setheader("头信息内容","头信息参数");
常用的刷新refresh,例如:response.setheader("refresh","1");
几秒后跳转:response.setheader("refresh","2:url=xxx");
2 重定向--response跳转:response.sendredirect("跳转地址");
(重定向会丢失所有的请求参数,使用重定向的效果,与地址栏里重新输入新地址再按回车的效果完全一样,即发送了第二次请求)
此语句执行后,页面地址也变为跳转后的地址
面试中常见问题:两种跳转的区别:地址栏不改变--属于服务器端跳转
执行到跳转语句后无条件立刻跳转--之后的代码将不再执行
注意:若使用forward跳转则一定要在跳转前释放掉全部资源;
使用forward时,request设置的属性(setattribute)依然能保留到下一个页面
通过传递参数
response.sendredirect("跳转地址"):
地址栏改变--属于客户端跳转
页面的所有代码执行完毕之后再跳转
不能保存request属性,地址栏改变了,客户端跳转
通过对url地址的重写传递参数
3.addcookie( cookie cook )
添加一个cookie对象,用来保存客户端用户信息.
cookie是服务器端保存在客户端的一组资源
通过cookie实现保存密码或者多长时间无需再输入密码等功能
设置cookie的方法:public void addcookie(cookie cookie)
cookie是通过服务器端设置到客户端上去的--response
如果要在服务器端取得cookie--request
在request对象中有public cookie[] getcookies()方法
在使用request对象取得全部cookie时会出现jsessionid,表示唯一的客户端在服务器上的编号,这个值在客户端第一次访问服务器端之后设置
默认情况下cookie只针对当前浏览器有效,如果需要长留在计算机上,可以设置cookie的保存时间,通过设置cookie最大保留时间方法:setmaxage()
1.. addheader( string name , string value )
添加http文件头信息,该header将传到客户端去,如果已经同的header存在,则覆盖已有的header.
2.. containsheader( string name )
判断指定名字的http文件头是否已经存在,然后返回真假布尔值.
3.. senderror( int )
向客户端发送错误的信息.
4.. setheader( string name , string value )
设置指定的http文件的值,如果该值已经存在,则新值会覆盖原有的旧值.