可以简单的将session对象理解为用于区分不同的用户,每一个session就表示一个用户。
session在实际的操作中常用的方法:
public void setAttribute(String name,Object value)-----------------------------------设置属性
public Object getAttribute(String name)--------------------------------------------------取得属性
public void setValue(String name,Object value)----------------------------------------设置属性
public Object getValue(String name)-------------------------------------------------------取得属性
public void removeAttribute(String name)-------------------------------------------------删除属性
public void removeValue(String name)----------------------------------------------------删除属性
public boolean isNew()-------------------------------------------------------------------------判断是否为新的session
public String getId()-------------------------------------------------------------------------------返回sessionid
public void invalidate()----------------------------------------------------------------------------让session失效
对于一个服务器来说,每一个登录者是靠session id进行区分的,此session id在用户第一次链接到服务器上的时候有服务器自行分配,不能手工设置
<%@ page contentType="text/html;charset=GBK"%>
<h1><%=session.getId%></h1>
每次执行invalidate()方法的时候,就表示session失效
<%@ page contentType="text/html;charset=GBK"%>
<h1><%=session.getId%></h1>
<%
session.invalidate();
%>
二:session的主要功能在于系统登录上
<%@ page contentType="text/html;charset=GBK"%>
<h1></h1>
<form action="login.jsp" method="post">
用户名:<input type="text" name="userName"/><br/>
密 码<input type="password" name="pwd"><br/>
<input type="submit" value="登录">
</form>
<%
String name = request.getParameter("name");
String pwd = request.getparameter("pwd");
if(!(("").equals(name)||name==null)&&("").equals(pwd)||pwd==null))){
if("root".equals(name)&&"123".equals(pwd)){
session.setAttrubute("name",name);
response.sendRedirect("welcome.jsp");
}else{
%>
<h3>错误的用户名或密码</h3>
<%}
}
%>
welcome.jsp
<%@ page contentType="text/html;charset=GBK"%>
<%
if(session.getAttribute("name")!=null){
%>
<h1>欢迎光临</h1>
} else{
%>
<h1>请先<a href="login.jsp">登录</a></h1>
<%
}
%>
为程序加入注销功能的页面
logout.jsp
<%@page contentType="text/html;charset=GBK"%>
<%
session.invalidate();
%>
三:判断是否为新的session
当用户第一次链接到服务器的时候,可以通过isNew()方法判断此用户是否是新的用户
<%@page contentType="text/html;charset=GBK"%>
<%
if(session.isNew()){
%>
<h2>欢迎新的用户</h2>
<%
}else{ %>
<h2>你已经访问过本页了</h2>
<%}
%>