关于作用域的对比:
page<request<session<application
其中page的作用域是当前页面
request的作用域是一次请求(即可以跳转页面)
session的作用域是一次会话(N次请求)
application的作用域是整个应用(N次会话)
Cookie的作用:
对特定对象的追踪
统计网页浏览次数
简化登陆
<%
Cookie[] cookies = request.getCookies();
if(cookies!=null){
for(int i=0;i<cookies.length;i++){
if(cookies[i].getName().equals("uname")){
response.sendRedirect(path+"/welcome.jsp");
}
}
}
%>
简单登陆 注销
login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'do.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<form action="/Day02_02/do.jsp" method="post">
<input name="uname"/>
<input name="upwd" type="password"/>
<input type="submit" value="Login"/>
</form>
</body>
</html>
do.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<%
request.setCharacterEncoding("utf-8");
String uname = request.getParameter("uname");
String upwd = request.getParameter("upwd");
if ("admin".equals(uname) && "admin".equals(upwd)) {
session.setAttribute("uname", uname);
request.getRequestDispatcher("success.jsp").forward(request,
response);
} else {
response.sendRedirect("login.jsp");
}
session.setAttribute("uname", uname);
Cookie cookie = new Cookie("uname", uname);
Cookie cookiepwd = new Cookie("uname", upwd);
response.addCookie(cookie);
response.addCookie(cookiepwd);
%>
sussece.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<%
request.setCharacterEncoding("utf-8");
String uname = request.getParameter("uname");
String upwd = request.getParameter("upwd");
if ("admin".equals(uname) && "admin".equals(upwd)) {
session.setAttribute("uname", uname);
request.getRequestDispatcher("success.jsp").forward(request,
response);
} else {
response.sendRedirect("login.jsp");
}
session.setAttribute("uname", uname);
Cookie cookie = new Cookie("uname", uname);
Cookie cookiepwd = new Cookie("uname", upwd);
response.addCookie(cookie);
response.addCookie(cookiepwd);
%>
效果图如下: