JSP response对象

response对象

response对象的主要作用是用于对客户端的请求进行回应,将WEB服务器处理后的结果发回给客户端。response对象属于javax.servlet.http.HttpServletResponse接口的实例,HttpServletResponse接口的定义如下:
public interface HttpServletResponse extends ServletResponse

response对象常用方法:


方法

类型

描述

1

public void addCookie(Cookie cookie)

普通

向客户端增加Cookie

2

public void setHeader(String name,String value)

普通

设置回应的头信息

3

public void sendRedirect(String location) throws IOException

普通

页面跳转


设置刷新头信息

客户端在进行请求的时候会发送许多额外的信息,那么这些就是头信息,服务器端也可以根据需要向客户端设置头信息,在所有的头信息的设置中,定时刷新页面的头信息使用的是最多的,直接使用setHeader()方法,将头信息名称设置为refresh,同时指定刷新的时间。 

<%@  page language="java" contentType="text/html; charset=utf8" pageEncoding="utf8"  %>
<%! int count=0; %>
<% response.setHeader("refresh", "2"); %>
visit time:<%=count++ %>

<%@ page language="java" contentType="text/html;charset=utf8"  pageEncoding="utf8"%>
<% response.sendHeader("refresh","2;URL="hello.jsp") %>


页面跳转

在JSP中除了可以通过头信息的方式完成跳转,也可以使用response对象的sendRedirect()方法直接完成页面的跳转。 

两种跳转的区别

  1. <jsp:forward>属于服务器端跳转,跳转之后地址栏的信息并不会有任何的改变,而response.sendRedirect()属于客户端跳转,跳转之后地址栏是会改变的,变为跳转之后的页面地址。
  2. 在使用request范围属性的时候,只有是服务器端跳转才能够将request属性保存到跳转页,而如果是客户端跳转,则无法进行属性的传递。
  3. 如果使用的是服务器端跳转的话,则执行到跳转语句之后会立刻进行跳转,如果使用的是客户端跳转,则是在整个页面执行完之后才执行跳转。
操作Cookie

  1. Cookie是浏览器所提供的一种技术,这种技术让服务器端的程序能将一些只须保存在客户端,或者在客户端进行处理的数据,放在使用中本身的计算机,不须通过网络的传输,因而提高网页处理的效率,而且也能够减少服务器端的负载。但是由于Cookie是服务器端保存在客户端的信息,所以其安全性也是很差的。
  2. 在JSP中专门提供了javax.servlet.http.Cookie的操作类
Cookie定义的常用操作方法


方法

类型

描述

1

public Cookie(String name,String value)

构造

实例化Cookie对象,同时设置名字和内容

2

public String getName()

普通

取得Cookie的名字

3

public String getValue()

普通

取得Cookie的内容

4

public void setMaxAge(int expiry)

普通

设置Cookie的保存时间,以秒为单位


设置Cookie
所有的Cookie是由服务器端设置到客户端上去的,所以要向客户端增加Cookie的话,必须使用response对象的以下方法:
public void addCookie(Cookie cookie) 

设置cookie
/*setCookie.jsp*/
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<% Cookie cookie=new Cookie("name","zhang");
response.addCookie(cookie);

 %>
 <jsp:forward page="getCookie.jsp"></jsp:forward>

获取cookie
/*getCookie.jsp*/
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1" %>
<% Cookie[] cookies=request.getCookies();
for(int i=0;i<cookies.length;i++){ %>
name=<%=cookies[i].getValue() %>

<% }%>
response表示的是服务器端对客户端的回应
可以通过setHeader()方法设置一个响应的头信息
通过response可以向客户端设置cookie,通过request可以取得客户端设置的全部Cookie
response对象属于的sendRedirect()方法属于客户端跳转,而<jsp:forward>属于服务器端跳转





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值