response

 

主要内容:

1、设置头信息:

2、两种跳转

3Cookie

============================

request对象:服务器端用于接收客户端请求内容的

所属的接口:javax.servlet.http.HttpServletRequest

     HttpServletRequestServletRequest接口的子接口

     而且ServletRequest也只有唯一的一个子接口 —— HttpServletRequest

     主要是因为,现在的J2EE WEB程序 主要以HTTP协议为主要通讯协议

response对象:服务器端回应客户端的请求

所属的接口:javax.servlet.http.HttpServletResponse

     HttpServletReponse的父接口是ServletResponse

     而且ServletResponse也现在只有唯一的一个HttpServletReponse子接口

     主要原因:现在的J2EE WEB程序 主要以HTTP协议为主要通讯协议

 

 

response的主要功能:

1、设置头信息:

     最有用的一个头信息:refresh:刷新

     response.setHeader("头信息内容","头信息参数") ;

 

如:

<%

    int i = 0 ;

%>

<%

    // 一秒种刷新一次,每次使i自增

    response.setHeader("refresh","1") ;

%>

<h1><%=i++%></h1>

 

 

新的需求:

两秒种跳转到responseDemo02.jsp页面上

response.setHeader("refresh","2;URL=页面名称") ;

此代码在开发中较为常见

setHeader可以实现跳转功能。

 

 

 

2response进行跳转 —— 重定向

  response.sendRedirect(跳转路径) ;

  此语句执行之后,页面地址也变为跳转后的地址

 

 

 

面试中较为常见的问题:两种跳转的区别

1<jsp:forward page=""/>

  · 地址栏不改变跳转 —— 服务器端跳转

  · 执行到跳转语句后无条件立刻跳转 —— 之后的代码不再被执行

  · 注意:如果使用forward跳转,则一定要在跳转之前释放掉全部的资源

  · 使用forward时,request设置的属性依然能保留在下一个页面(setAttribute

  · 通过<jsp:param name="" value=""/>传递参数

2response.sendRedirect("地址") ;

  · 地址栏改变跳转 —— 客户端跳转

  · 所有代码执行完毕之后再跳转

  · 不能保存request属性 —— 地址改变了,客户端跳转

  · 通过对URL地址的重写传递参数

 

如:

<%@page contentType="text/html;charset=gb2312"%>

<h1>欢迎光临:responseDemo03.jsp</h1>

<%

       System.out.println("** 跳转之前...") ;

%>

<%

       // 进行跳转

       response.sendRedirect("responseDemo04.jsp?id=mldn") ;

%>

<!--jsp:forward page="responseDemo04.jsp"/-->

<%

       System.out.println("** 跳转之后...") ;

%>

-----------------------------------------------------------------------------------------

使用客户端跳转,可以通过重写URL的方式将内容传递过去

 

 

 

 

3、设置Cookie

 Cookie是服务器端保存在客户端的一组资源

 登陆时会问你是否记住密码?或XX长的时间不用再登陆

 此种功能的实现就是通过Cookie

 public void addCookie(Cookie cookie)

 

 

Cookie是通过服务器端设置到客户端上去的 —— response

 如果要在服务器端取得Cookie —— request

request对象中有public Cookie[] getCookies()方法

在使用request对象取得全部Cookie时,会出现以下的信息:

JSESSIONID -->

EED 6F 868DCC 7F 6FDB13D27D 672124A 81

JSessionID ——> 表示唯一的一个客户端在服务器上的编号 ——> 身份证编号 —— 自动获得

SESSION对象)

默认情况下,Cookie只针对当前浏览器有效,如果需要Cookie长留在本地计算机上,可以设置Cookie

的保存时间。

     Cookie是保存在客户端上的信息,安全性较差。不要把过多的隐秘信息保留在Cookie中,这样很不安全。

  

=====================================================

 

设置cookies

<%

       Cookie c1 = new Cookie("name","mldn") ;

       Cookie c2 = new Cookie("password","LXH") ;

 

       // 保存时间为60

       c1.setMaxAge(60) ;

       c2.setMaxAge(60) ;

%>

<%

       // 通过response对象将Cookie设置到客户端

       response.addCookie(c1) ;

       response.addCookie(c2) ;

%>

 

 

 

取的cookies

<%

       // 通过request对象,取得客户端设置的全部Cookie

       // 实际上客户端的Cookie是通过HTTP头信息发送到服务器端上的

       Cookie c[] = request.getCookies() ;

%>

<%

       for(int i=0;i<c.length;i++)

       {

              Cookie temp = c[i] ;

%>

              <h1><%=temp.getName()%> --> <%=temp.getValue()%></h1>

<%

       }

%>

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值