zoukankan      html  css  js  c++  java
  • jsp>response

    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>
     <%
      }
     %>


     

  • 相关阅读:
    面向对象一: 数据加载器完成缓存
    软件开发模式总结
    失业求职随便接个单
    恭喜蓝网5巨头输了
    mysql安装及改端口
    解决NAVICAT 无法连接MYSQL8.0.12_可视化工具无法连接 MYSQL 8.0
    c#截取两个指定字符串中间的字符串
    匹配2关键字得结果
    怎么才能更好伪原创
    AntiCrawlerSolution(反爬解决方案)
  • 原文地址:https://www.cnblogs.com/xqzt/p/5637258.html
Copyright © 2011-2022 走看看