<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>新闻信息管理系统</title>
<!-- 让超链接后的页面在显示页面的右下部分显示 -->
<!--<base target="rightFrame"/>-->
<link type="text/css" rel="stylesheet" href="../../css/common.css"/>
<script type="text/javascript">
  function close(){
     window.location="<%=request.getContextPath() %>/jsp/listener/doOut.jsp";   
  }
</script>
</head><body onunload="close();">
<!--页面顶部-->
<jsp:include page="/jsp/listener/online.jsp"></jsp:include>
<jsp:include page="adminTop.jsp"></jsp:include>
<!--页面中部-->
<div id="content" class="main-content clearfix">
<jsp:include page="adminSidebar.jsp"></jsp:include>
<jsp:include page="adminRightbar.jsp"></jsp:include>
</div>
<!--页面底部-->
<jsp:include page="adminBottom.jsp"></jsp:include>
</body>
</html>
doOut.jsp页面如下 :<%@page language="java" contentType="text/html; utf-8" pageEncoding="utf-8"%><%
   session.invalidate();//使session失效,同时执行User类中的valueUnbound()方法
   response.sendRedirect("login.jsp");
 %>

解决方案 »

  1.   

    这个会话对象已经在servlet中创建了,所以不用再这样写了(request.getSession().invalidate();)
    通过超链的方式是可以关闭会话的,我问的是怎么让它关闭jsp页面的时候关才会话?
      

  2.   

    在jsp中session是内置的对象,不用再创建
      

  3.   

    页面关闭时   调用session.abandon() 
    或是当全部打开的IE窗口关闭时     session会自动失效 
      

  4.   


    楼主这个问题是否已经解决了呢?我最近也遇到了类似的需求,我找到了另一种思路来实现这个功能不过这个方法也是不尽人意啊 实现不了跳转总与逻辑相驳。我贴出我的代码(也是在网上搜的)window.onload = function(){
    var is_asked = false;
     
    window.onbeforeunload = function (ev) {
        var e = ev || window.event;
        windowFocus();
        if (!is_asked){
          is_asked = true;
          var showstr = "CUSTOM_MESSAGE";
          if (e) {  //for ie and firefox
            e.returnValue = showstr;
          }
          return showstr; //for safari and chrome
        }
      };
     
    var windowFocus = function (ev){
    alert(ev||is_asked);
        if (is_asked){
          window.location.href = "http://www.google.com";
        }
    };
    };