今天看了一下别人写的代码,发现下面程序的变量session没定义, 就可以使用session.getAttributeNames();这是为什么呢?  
这段程序还能不能写简单些呢?
<%@ page contentType="text/html;charset=gb2312" %><%@page import="java.util.Enumeration"%>
<%
    java.util.Vector vect = new java.util.Vector();
    Enumeration sessionItems = session.getAttributeNames();
    String s = null;
    try {
        while(sessionItems.hasMoreElements())
        {
            s = (String)sessionItems.nextElement();
            vect.add(s);
        }
    }
    catch(Exception e) {
        System.out.println("e="+e);
    }
    for (int i=0; i< vect.size();i++ ) {
        session.removeAttribute(vect.get(i).toString());
       
    }
%>
<html>
<head>
<title>用户退出</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<SCRIPT language="javascript">
function this_win(){    top.location.href="login.jsp";
}
</SCRIPT>
</head>
<body onload="this_win();">
</body>
</html>