jsp---->response

来源:互联网 发布:淘宝店铺导航联盟 编辑:程序博客网 时间:2024/06/01 07:52

response 对象:服务器端回应客户端的请求
 所属的接口:javax.servlet.http.HttpServletResponse

response 的主要功能:
 1、设置头信息:
 最有用的一个头信息:refresh:刷新
 response.setHeader("头信息内容","头信息参数") ;
 response.setHeader("refresh","2;URL=页面名称") ;

<%! // 此处为全局变量,初始化一次 int i = 0 ; %> <% // 一秒种刷新一次,每次使i 自增 response.setHeader("refresh","1") ; %> <h1><%=i++%></h1>

setHeader 可以实现跳转功能两秒种跳转到 responseDemo02.jsp 页面上
 response.setHeader("refresh","2;URL=页面名称") ;
 

2、response 进行跳转—— 重定向
 

response.sendRedirect(跳转路径) ;此语句执行之后,页面地址也变为跳转后的地址
 
面试中较为常见的问题:两种跳转的区别
 1、<jsp:forward page=""/>
 · 地址栏不改变跳转—— 服务器端跳转
 · 执行到跳转语句后无条件立刻跳转—— 之后的代码不再被执行
 · 注意:如果使用forward 跳转,则一定要在跳转之前释放掉全部的资源
 · 使用 forward 时,request 设置的属性依然能保留在下一个页面(setAttribute)
 · 通过<jsp:param name="" value=""/>传递参数
 2、response.sendRedirect("地址") ;
 · 地址栏改变跳转—— 客户端跳转
 · 所有代码执行完毕之后再跳转
 · 不能保存 request 属性—— 地址改变了,客户端跳转
 · 通过对 URL 地址的重写传递参数
 使用客户端跳转,可以通过重写 URL 的方式将内容传递过去
 
responsedemo3.jsp

<%@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("** 跳转之后...") ; %>

responsedemo4.jsp

<%@page contentType="text/html;charset=gb2312"%> <h1>欢迎光临:responseDemo04.jsp</h1> <h1>Hello :<%=request.getParameter("id")%></h1>

3、设置Cookie

Cookie 是服务器端保存在客户端的一组资源
 登陆时会问你是否记住密码?或 XX 长的时间不用再登陆,此种功能的实现就是通过 Cookie
 public void addCookie(Cookie cookie)
 Cookie 是通过服务器端设置到客户端上去的—— response
 如果要在服务器端取得 Cookie —— request对象中有public Cookie[] getCookies()方法,在使用 request 对象取得全部Cookie 时,会出现以下的信息

JSESSIONID --> DBB82481EDA4FFBB3BB4A9EABE9CB450

 Cookie 可以设置最大保留时间—— setMaxAge
cookiedemo1.jsp

<%  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) ; %>

cookiedemo2.jsp

<%  // 通过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> <%  } %>


 

原创粉丝点击