1. HttpSeesion概述
1.1什么是HttpSesssion
javax.servlet.http.HttpSession接口表示一个会话,我们可以吧一个会话需要的共享数据保存到HttpSession对象中!
1.2 Session的域方法
(1) void setAttribute(String name, Object value):用来存储一个对象,也可以称之为存储一个域属性,例如:session.setAttribute(“aaa”, “AAA”),在session中保存了一个域属性,域属性名称为aaa,域属性的值为AAA。
(2)Object getAttribute(String name):用来获取session中的数据,当前在获取之前需要先去存储才行,例如:String value = (String) session.getAttribute(“aaa”);,获取名为aaa的域属性。
(3)void removeAttribute(String name):用来移除HttpSession中的域属性,如果参数name指定的域属性不存在,那么本方法什么都不做。
2.登录实例
1.需要的页面:
login.jsp:登录页面,提供登录表单;
succeed.jsp:主页,显示当前用户名称,如果没有登录,显示您还没登录
Servlet:
LoginServlet:在login.jsp页面提交表单时,请求本Servlet。在本Servlet中获取用户名、密码进行校验,如果用户名、密码错误,显示“用户名或密码错误”,如果正确保存用户名session中,然后重定向到login.jsp;
项目目录结构:
2.代码
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 'login.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content=