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>