科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件Java中finalize()的另类用法(3)

Java中finalize()的另类用法(3)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

通过使用finalize(),就可以在垃圾收集器运行期间进行一些特殊的工作。而本文举例说明了finalize()的一种巧妙用法……

作者:李炳容 来源:xxol.net  2007年9月2日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
[-1-]:程序的if(actionType.equals("login")){…}部分处理login。[-1.1-]前后部分先通过session.getAttribute("testSession");取得session中保存的会话变量ts(一个testSession对象实例)。如果ts为空,表示当前用户还没有login,否则用户已经login了,则先logout再重新login,并将新testSession对象保存到session里。application.getAttribute("app_vts");所取得的变量app_vts中保存了所有当前登录用户的user信息。每个用户login成功时,即往app_vts中添加一个user对象,这是通过testSession的addappses方法完成的。而当用户注销时,先从session.getAttribute("testSession")中取到当前用户的testSession对象,该对象已含有application.getAttribute("app_vts")对象的引用,通过testSession的logout方法进行注销处理(见[-2-]标记前后)。TestSession.logout最终是通过调用removeappses方法从全局对象app_vts中移除用户信息的。总结来说,程序利用应用全局对象application来保存跟踪用户连接信息的对象(例中为app_vts),该对象记录着应用中所有用户的连接、退出信息。

JavaScript/" target="_blank">JSP页面运行的界面如图:



当我们输入用户testuser_1并按<登录>按钮,按钮下面的文本框显示"testuser_1 login success"。我们利用viewSessiones.jsp来观察结果,显示如下:

testuser_1 sessionId=A16DCE950C2C664D0AA93E05B27D8E00

viewSessiones.jsp文件的内容如下:

<%@ page import="com.testSession, com.user,

java.util.Vector"%>

<%@ page contentType="text/html; charset=GBK"%>

<% request.setCharacterEncoding(response.

getCharacterEncoding()); %>

<%

Vector l_vts=(Vector)application.getAttribute("app_vts");

user l_us;

if(l_vts!=null){

for(int i=0;i<l_vts.size();i++){

l_us=(user)l_vts.get(i);

out.println(l_us.name+" sessionId="+l_us.sessionId);

out.println("<br>");

}

}

%>

viewSessiones.jsp文件的作用是将app_vts中的用户信息显示出来。

当我们从桌面再启动一个IE程序,输入用户testuser_2并按<登录>按钮,按钮下面的文本框显示"testuser_2 login success"。我们利用viewSessiones.jsp来观察结果,显示如下:

testuser_1 sessionId=A16DCE950C2C664D0AA93E05B27D8E00

testuser_2 sessionId=34B0AF3F1F2573F1C1DD12D62DF06F91

而当我们在第一个IE中按下按钮<注销>,logintest.jsp的显示为:



刷新viewSessiones.jsp来观察结果,显示如下:

testuser_2 sessionId=BC487C6A9FD663EA27E797A420B41051

我们在第二个IE中按下按钮<注销>,按钮下面的文本框显示"testuser_2 login success", 刷新viewSessiones.jsp来观察结果,显示出已经没有连接的用户信息。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章