response对象

response对象主要功能是服务器端向客户端发送信息,例如HTTP的头信息和COOKIE信息等

response对象的主要使用1.设置HTTP头信息,2重定向,3 设置COOKie

request对象:服务器端用于接收语法内容的所属接口:javax.servlet.httpHttpServletRequest

HttpServletRequestServletRequest接口的子接口

而且ServeletRequest也只有一个子接口—HttpServletRequest

主要是因为:现在原J2EEWEB程序主要是以HTTP协议为主要协议

 

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

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

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

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

 

1.       设置头信息

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

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

 

<%!

//带有叹号,此处为全局变量,初始化

int i=0;

%>

<%

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

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

%>

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

新的需求:

两秒钟跳转到responseDeom02.jsp页面上

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

 

2秒后跳转页面

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

<%!

              //此处为全局变量,初始化

              int i=0;

%>

<%

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

       response.setHeader("refresh","2;URL=responseDemo02.jsp");

%>

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

两秒后跳转到欢迎页!!!<br>

如果没有跳转,请按<a href="responseDemo02.jsp">这里</a>

setHeader 可以实现跳转功能

2,response进行跳转悲为喜---重定向

response.sendRedirect(跳转路径)

 

两种跳转的区别:

1,<jps:forward page=”跳转页面”/>

地址栏不会改变就跳转到其它页面服务器端跳转

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

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

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

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

 

2,response.sendRedirect(“跳转的页”);

地址栏改变跳转 –客户端跳转

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

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

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

 

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

内容:response.sendRedirect("responseDemo04.jsp?id=meng");

接收:<h1>hello <%=request.getParameter("id")%></h1>

responseDemo03.jsp

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

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

<%

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

%>

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

 

<%//进行跳转

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

%>

<%

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

%>

responseDemo03.jsp

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

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

<h1>hello <%=request.getParameter("id")%></h1>

 

3,设置Cookie

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

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

此种功能是通过Cookie实现的

 void

addCookie(Cookie cookie) 
          Adds the specified cookie to the response

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

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

 Cookie[]

getCookies() 
          Returns an array containing all of the Cookie objects the client sent with this request.

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

JSESSIONID-->E6DDAAA207FE2C5CBA448A0802403E6F

JessionID:表示唯一的一个客户端在服务器上的编号à身份证编号自动获得

默认情况下,Cookie只针对当前浏览器有效,如果需要Cookie长留在本地上,可以设置Cookie的保存时间

 void

setMaxAge(int expiry) 
          Sets the maximum age of the cookie in seconds.

设置最大的保存时间

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

Cookie可以设置最大保留时间表—setMaxAge

 

服务器端在客户端第一次访问之后,会设置一个默认的Cookie在客户端上:JSESSIONID

posted @ 2016-09-07 16:30  穷途末路丶  阅读(715)  评论(0编辑  收藏  举报