jsp/servlet第五章第一节Response对象

来源:互联网 发布:阿里java面试题2016 编辑:程序博客网 时间:2024/05/17 23:43

Response内置对象和request对象是相对应的,reponse内置对象用于相应客户请求,向客户端输出信息;
Javax.servlet.HttpServletResponse接口

功能一:页面刷新

<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>response页面刷新</title></head><body><%//设置页面每隔一秒刷新一次response.setHeader("refresh", "1");Date date = new Date();//非内置对象需要导包%>当前时间:<%=date.toLocaleString() %></body></html>

这里写图片描述
不光时间会刷新,页面也在一直刷新

功能二:重定向(客户端跳转)

response02.jsp

<%   //重定向,客户端跳转     response.sendRedirect("index.html");   %>

index.html

<body>hello!<br>response02.jsp重定向过来的!</body>

这里写图片描述
与服务器端跳转的区别:
客户端跳转:转过后的页面会显示在地址栏!
且不可以传递参数!

功能三:cookie应用
(Cookie是Web网站放在您的硬盘上的程序。它守在您的电脑里,搜集您的信息以及您在因特网上所做的任何事情,当Web站点需要的时候它能够下载所有这些搜集到的信息。)
post get方法比较:
post放在数据包 ,get 放在Url后面 get数据量小,不安全;

cookie与session的比较:
cookie信息存在客户端,session信息是存在服务器;

response03.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>response的cookie操作</title><script>   function resetValue(){       document.getElementById("userName").value="";       document.getElementById("pwd").value="";   }</script></head><body>    <%  //读取cookie值       String userName = null;       String pwd = null;       Cookie [] cookies = request.getCookies();       for(int i = 0; cookies != null && i < cookies.length ; i++){           if(cookies[i].getName().equals("userNameAndPwd")){               userName = cookies[i].getValue().split("-")[0];  //split返回的是一个数组               pwd = cookies[i].getValue().split("-")[1];  //split返回的是一个数组           }       }    %>    <form action="userLogin.jsp" method="post">       <table>           <tr>              <td>用户名:</td>              <td><input type="text" id="userName" name="userName" value="<%=userName %>"/></td>           </tr>            <tr>              <td>密码:</td>              <td><input type="password" id="pwd" name="pwd" value="<%=pwd %>"/></td>           </tr>           <tr>              <td>记住密码:</td>              <td><input type="checkbox" id="remember" name="remember" value="remember-me"/></td>           </tr>           <tr>              <td><input type="submit"  value="登录"/></td>              <td><input type="button"  value="重置" onclick="resetValue()"/></td>           </tr>       </table>    </form></body></html>

userLogin.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%>    <%--导入该包,使得cookie可以使用 --%><%@ page import="javax.servlet.http.*" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>userLogin.jsp</title></head><body>   <%      String userName = request.getParameter("userName");  //获取用户名      String pwd = request.getParameter("pwd");            //获取密码      String remember = request.getParameter("remember");  //获取记住密码      /*                      把获取到的信息,传输到控制台      */      System.out.println("用户名:"+userName);      System.out.println("密码:"+pwd);      System.out.println("记住密码:"+remember);   %>   <%       /*                    点上记住密码;会获取多选框value值remember-me!!不点则是null!      */     if("remember-me".equals(remember)){         Cookie userNameAndPwd = new Cookie("userNameAndPwd",userName+"-"+pwd);//键值对形式         userNameAndPwd.setMaxAge(1*60*60*24*7); //cookie保存一个星期         response.addCookie(userNameAndPwd);         System.out.println("设置cookie成功");     }       response.sendRedirect("response03.jsp");   %></body></html>
原创粉丝点击