﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-stargazers</title><link>http://www.blogjava.net/lzj520/</link><description /><language>zh-cn</language><lastBuildDate>Sun, 12 Apr 2026 15:17:16 GMT</lastBuildDate><pubDate>Sun, 12 Apr 2026 15:17:16 GMT</pubDate><ttl>60</ttl><item><title>091118求杨辉三角中的项</title><link>http://www.blogjava.net/lzj520/archive/2009/11/18/302812.html</link><dc:creator>lzj520</dc:creator><author>lzj520</author><pubDate>Wed, 18 Nov 2009 08:11:00 GMT</pubDate><guid>http://www.blogjava.net/lzj520/archive/2009/11/18/302812.html</guid><description><![CDATA[public static int recursion(int l,int n){<br />
&nbsp;&nbsp;int r=0;<br />
&nbsp;&nbsp;if(l==1|n==1|l==n){<br />
&nbsp;&nbsp;&nbsp;return 1;<br />
&nbsp;&nbsp;}else{<br />
&nbsp;&nbsp;return recursion(l-1,n-1)+recursion(l-1,n);<br />
&nbsp;&nbsp;}<br />
&nbsp;}<br />
<br />
public static void main(String[] args){<br />
System.out.println(recursion(7,4));<br />
}
<img src ="http://www.blogjava.net/lzj520/aggbug/302812.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lzj520/" target="_blank">lzj520</a> 2009-11-18 16:11 <a href="http://www.blogjava.net/lzj520/archive/2009/11/18/302812.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>090505 james邮件自动跑去spam box下面的问题</title><link>http://www.blogjava.net/lzj520/archive/2009/05/05/269027.html</link><dc:creator>lzj520</dc:creator><author>lzj520</author><pubDate>Tue, 05 May 2009 09:18:00 GMT</pubDate><guid>http://www.blogjava.net/lzj520/archive/2009/05/05/269027.html</guid><wfw:comment>http://www.blogjava.net/lzj520/comments/269027.html</wfw:comment><comments>http://www.blogjava.net/lzj520/archive/2009/05/05/269027.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lzj520/comments/commentRss/269027.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lzj520/services/trackbacks/269027.html</trackback:ping><description><![CDATA[<p>解决用james收邮件时邮件自己跑去了spam box下面的问题，把下面这段注释掉就可以了。</p>
<p>&lt;mailet match="InSpammerBlacklist=dnsbl.njabl.org."<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class="ToProcessor"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;processor&gt; spam &lt;/processor&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;notice&gt;550 Requested action not taken: rejected - see http://njabl.org/ &lt;/notice&gt;<br />
&lt;/mailet&gt;<br />
</p>
<img src ="http://www.blogjava.net/lzj520/aggbug/269027.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lzj520/" target="_blank">lzj520</a> 2009-05-05 17:18 <a href="http://www.blogjava.net/lzj520/archive/2009/05/05/269027.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>090310 Exercise 1.12 Pascal's triangle</title><link>http://www.blogjava.net/lzj520/archive/2009/03/10/258890.html</link><dc:creator>lzj520</dc:creator><author>lzj520</author><pubDate>Tue, 10 Mar 2009 11:21:00 GMT</pubDate><guid>http://www.blogjava.net/lzj520/archive/2009/03/10/258890.html</guid><wfw:comment>http://www.blogjava.net/lzj520/comments/258890.html</wfw:comment><comments>http://www.blogjava.net/lzj520/archive/2009/03/10/258890.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lzj520/comments/commentRss/258890.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lzj520/services/trackbacks/258890.html</trackback:ping><description><![CDATA[(define (Pascal x y)<br />
&nbsp; (cond ((&gt; y x) (display "error input"))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ((= x 1) 1)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ((= x 2) 1)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ((= y 1) 1)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ((= x y) 1)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (+ (Pascal(- x 1) y) (Pascal (- x 1) (- y 1))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ))))
<img src ="http://www.blogjava.net/lzj520/aggbug/258890.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lzj520/" target="_blank">lzj520</a> 2009-03-10 19:21 <a href="http://www.blogjava.net/lzj520/archive/2009/03/10/258890.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>090310 RHEL 下安装带mod_prox模块的apache</title><link>http://www.blogjava.net/lzj520/archive/2009/03/10/258885.html</link><dc:creator>lzj520</dc:creator><author>lzj520</author><pubDate>Tue, 10 Mar 2009 11:06:00 GMT</pubDate><guid>http://www.blogjava.net/lzj520/archive/2009/03/10/258885.html</guid><wfw:comment>http://www.blogjava.net/lzj520/comments/258885.html</wfw:comment><comments>http://www.blogjava.net/lzj520/archive/2009/03/10/258885.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lzj520/comments/commentRss/258885.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lzj520/services/trackbacks/258885.html</trackback:ping><description><![CDATA[./configure --enable-modes-shared=proxy<br />
make<br />
make install<br />
<br />
或是不重新安装的情况下：<br />
make WITH_PROXY_MODULE=yes
 <img src ="http://www.blogjava.net/lzj520/aggbug/258885.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lzj520/" target="_blank">lzj520</a> 2009-03-10 19:06 <a href="http://www.blogjava.net/lzj520/archive/2009/03/10/258885.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>090310 RHEL 下挂载windows文件目录</title><link>http://www.blogjava.net/lzj520/archive/2009/03/10/258883.html</link><dc:creator>lzj520</dc:creator><author>lzj520</author><pubDate>Tue, 10 Mar 2009 11:04:00 GMT</pubDate><guid>http://www.blogjava.net/lzj520/archive/2009/03/10/258883.html</guid><wfw:comment>http://www.blogjava.net/lzj520/comments/258883.html</wfw:comment><comments>http://www.blogjava.net/lzj520/archive/2009/03/10/258883.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lzj520/comments/commentRss/258883.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lzj520/services/trackbacks/258883.html</trackback:ping><description><![CDATA[访问：<br />
smbclient -L 192.168.0.11 -U administrator <br />
挂载：<br />
mount -t smbfs -o username=administrator,password=pwdabc,iocharset=cpq36 //192.168.0.11/share /mnt/11share
 <img src ="http://www.blogjava.net/lzj520/aggbug/258883.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lzj520/" target="_blank">lzj520</a> 2009-03-10 19:04 <a href="http://www.blogjava.net/lzj520/archive/2009/03/10/258883.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>090310 Exercise 1.11. recursive process and iterative</title><link>http://www.blogjava.net/lzj520/archive/2009/03/10/258516.html</link><dc:creator>lzj520</dc:creator><author>lzj520</author><pubDate>Tue, 10 Mar 2009 00:51:00 GMT</pubDate><guid>http://www.blogjava.net/lzj520/archive/2009/03/10/258516.html</guid><wfw:comment>http://www.blogjava.net/lzj520/comments/258516.html</wfw:comment><comments>http://www.blogjava.net/lzj520/archive/2009/03/10/258516.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lzj520/comments/commentRss/258516.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lzj520/services/trackbacks/258516.html</trackback:ping><description><![CDATA[<p><strong>Exercise 1.11.</strong>&nbsp;&nbsp;A function <em>f</em> is defined by the rule that <em>f</em>(<em>n</em>) = <em>n</em> if <em>n</em>&lt;3 and <em>f</em>(<em>n</em>) = <em>f</em>(<em>n</em> - 1) + 2<em>f</em>(<em>n</em> - 2) + 3<em>f</em>(<em>n</em> - 3) if <em>n</em><u>&gt;</u> 3. Write a procedure that computes <em>f</em> by means of a recursive process. Write a procedure that computes <em>f</em> by means of an iterative process. <br />
<br />
recursive:<br />
<br />
(define (fn n)<br />
&nbsp; (cond ((&gt;= n 3) (+ (+ (fn (- n 1)) (* 2 (fn (- n 2)))) (* 3 (fn (- n 3)))))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ((&lt; n 3) n)<br />
&nbsp;&nbsp; ))</p>
<p><br />
&nbsp;iterative:<br />
<br />
(define (re n)<br />
&nbsp; (if (&lt; n 3)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; n <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (iter 2 1 0 n)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )) <br />
(define (iter a b c n)<br />
(if(= n 3)<br />
&nbsp;&nbsp; (ca a b c)<br />
&nbsp;&nbsp; (iter (ca a b c) a b (- n 1))<br />
&nbsp;&nbsp; ) <br />
)<br />
(define (ca a b c)<br />
&nbsp; (+ a (* 2 b) (* 3 c) )<br />
)</p>
 <img src ="http://www.blogjava.net/lzj520/aggbug/258516.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lzj520/" target="_blank">lzj520</a> 2009-03-10 08:51 <a href="http://www.blogjava.net/lzj520/archive/2009/03/10/258516.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>090306 Exercise 1.8 cube-root procedures</title><link>http://www.blogjava.net/lzj520/archive/2009/03/06/258241.html</link><dc:creator>lzj520</dc:creator><author>lzj520</author><pubDate>Fri, 06 Mar 2009 08:22:00 GMT</pubDate><guid>http://www.blogjava.net/lzj520/archive/2009/03/06/258241.html</guid><wfw:comment>http://www.blogjava.net/lzj520/comments/258241.html</wfw:comment><comments>http://www.blogjava.net/lzj520/archive/2009/03/06/258241.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lzj520/comments/commentRss/258241.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lzj520/services/trackbacks/258241.html</trackback:ping><description><![CDATA[Exercise 1.8.&nbsp; Newton's method for cube roots is based on the fact that if y is an approximation to<br />
the cube root of x, then a better approximation is given by the value <br />
(x/y2+2y)/3<br />
Use this formula to implement a cube-root procedure analogous to the square-root procedure. (In<br />
section 1.3.4 we will see how to implement Newton's method in general as an abstraction of these<br />
square-root and cube-root procedures.) <br />
<br />
(define (cube x)<br />
&nbsp; (* x x x))<br />
(define (square x)<br />
&nbsp; (* x x ))<br />
(define (result x y)<br />
&nbsp;(/ (+ (/ x (square y)) (* 2 y)) 3))<br />
(define (improve&nbsp; x guess)<br />
&nbsp; (result&nbsp;&nbsp; x guess))<br />
(define (good-enough?&nbsp; x guess)<br />
&nbsp; (&lt; (abs (- (* guess guess guess ) x))0.001))<br />
(define (sqrt-iter x&nbsp; guess)<br />
&nbsp; (if (good-enough?&nbsp; x guess)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; guess<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (sqrt-iter x (improve&nbsp; x guess)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )))
 <img src ="http://www.blogjava.net/lzj520/aggbug/258241.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lzj520/" target="_blank">lzj520</a> 2009-03-06 16:22 <a href="http://www.blogjava.net/lzj520/archive/2009/03/06/258241.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>090306 Exercise 1.6 Square Roots by Newton's Method</title><link>http://www.blogjava.net/lzj520/archive/2009/03/06/258214.html</link><dc:creator>lzj520</dc:creator><author>lzj520</author><pubDate>Fri, 06 Mar 2009 07:19:00 GMT</pubDate><guid>http://www.blogjava.net/lzj520/archive/2009/03/06/258214.html</guid><wfw:comment>http://www.blogjava.net/lzj520/comments/258214.html</wfw:comment><comments>http://www.blogjava.net/lzj520/archive/2009/03/06/258214.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lzj520/comments/commentRss/258214.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lzj520/services/trackbacks/258214.html</trackback:ping><description><![CDATA[Exercise 1.6.&nbsp; Alyssa P. Hacker doesn't see why if needs to be provided as a special form. ``Why<br />
can't I just define it as an ordinary procedure in terms of cond?'' she asks. Alyssa's friend Eva Lu<br />
Ator claims this can indeed be done, and she defines a new version of if: <br />
(define (new-if predicate then-clause else-clause)<br />
&nbsp; (cond (predicate then-clause)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (else else-clause)))<br />
Eva demonstrates the program for Alyssa: <br />
(new-if (= 2 3) 0 5)<br />
5<br />
(new-if (= 1 1) 0 5)<br />
0<br />
Delighted, Alyssa uses new-if to rewrite the square-root program: <br />
32(define (sqrt-iter guess x)<br />
&nbsp; (new-if (good-enough? guess x)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; guess<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (sqrt-iter (improve guess x)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x)))<br />
What happens when Alyssa attempts to use this to compute square roots? Explain. <br />
<br />
<br />
<p>(define (new-if predicate then-clause else-clause)<br />
(cond (predicate then-clause)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (else-clause)))<br />
(define (average x y)<br />
&nbsp; (/ (+ x y) 2))<br />
(define (improve guess x)<br />
&nbsp; (average guess (/ x guess)))<br />
(define (good-enough? guess x)<br />
&nbsp; (&lt; (abs (- (square guess) x))0.001))<br />
(define (square x)<br />
&nbsp; (* x x))<br />
(define (sqrt-iter guess x)<br />
&nbsp; (new-if (good-enough? guess x)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; guess<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (sqrt-iter (improve guess x)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x)))<br />
<br />
sqrt-iter (improve guess x)作为参数来传递给new-if，在执行new-if的时候，就总是会执行sqrt-iter (improve guess x)，造成了死循环。<br />
</p>
  <img src ="http://www.blogjava.net/lzj520/aggbug/258214.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lzj520/" target="_blank">lzj520</a> 2009-03-06 15:19 <a href="http://www.blogjava.net/lzj520/archive/2009/03/06/258214.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>090305 Exercise 1.3 returns the sum of the squares of the two larger numbers</title><link>http://www.blogjava.net/lzj520/archive/2009/03/05/258058.html</link><dc:creator>lzj520</dc:creator><author>lzj520</author><pubDate>Thu, 05 Mar 2009 11:56:00 GMT</pubDate><guid>http://www.blogjava.net/lzj520/archive/2009/03/05/258058.html</guid><wfw:comment>http://www.blogjava.net/lzj520/comments/258058.html</wfw:comment><comments>http://www.blogjava.net/lzj520/archive/2009/03/05/258058.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lzj520/comments/commentRss/258058.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lzj520/services/trackbacks/258058.html</trackback:ping><description><![CDATA[Define a procedure that takes three numbers as arguments and returns the sum of the squares of the two larger numbers. <br />
<br />
(define (compare x y) (- x y))<br />
(define (sumsquares x y)(+(* x x)(* y y)))<br />
(define (returnlarge a b c)<br />
&nbsp; (cond ((and (&gt;= (compare a b) 0) (&gt;= (compare c b) 0)) (sumsquares a c)) <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ((and (&gt;= (compare a c) 0) (&gt;= (compare b c) 0)) (sumsquares a b)) <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ((and (&gt;= (compare c a) 0) (&gt;= (compare b a) 0)) (sumsquares b c)) <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br />
&nbsp; )<br />
(returnlarge 3 3 2)<br />
<br />
&gt;18
   <img src ="http://www.blogjava.net/lzj520/aggbug/258058.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lzj520/" target="_blank">lzj520</a> 2009-03-05 19:56 <a href="http://www.blogjava.net/lzj520/archive/2009/03/05/258058.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>090213 集群内用jsessionid共享session</title><link>http://www.blogjava.net/lzj520/archive/2009/02/13/254575.html</link><dc:creator>lzj520</dc:creator><author>lzj520</author><pubDate>Fri, 13 Feb 2009 08:46:00 GMT</pubDate><guid>http://www.blogjava.net/lzj520/archive/2009/02/13/254575.html</guid><wfw:comment>http://www.blogjava.net/lzj520/comments/254575.html</wfw:comment><comments>http://www.blogjava.net/lzj520/archive/2009/02/13/254575.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lzj520/comments/commentRss/254575.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lzj520/services/trackbacks/254575.html</trackback:ping><description><![CDATA[可以采用cookies和sessionid的做法，这里是使用sessionid的做法。<br />
使用HttpSessionListener来监听session的创建和销毁，集群内部的tomcat开启session复制。2个应用都试用HttpSessionListener来监听<br />
<br />
web.xml：<br />
<br />
&nbsp; &lt;listener&gt;<br />
&nbsp; &lt;listener-class&gt;com.com.ActiveUserListener2&lt;/listener-class&gt;<br />
&nbsp;&lt;/listener&gt;<br />
<br />
&lt;distributable/&gt; <br />
<br />
ActiveUserListener2.java<br />
<br />
<p>package com.com;</p>
<p>import java.util.HashMap;<br />
import java.util.Map;<br />
import javax.servlet.http.HttpSession;<br />
import javax.servlet.http.HttpSessionEvent;<br />
import javax.servlet.http.HttpSessionListener;</p>
<p>public class ActiveUserListener2 implements HttpSessionListener {<br />
&nbsp;&nbsp;&nbsp; private static int sessionCount2 = 0;<br />
&nbsp;&nbsp;&nbsp; private static Map sessionMaps2 = new HashMap(); //存放session的集合类</p>
<p>&nbsp; public void sessionCreated(HttpSessionEvent arg0) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HttpSession session = arg0.getSession();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String sessionId = session.getId();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("Create a session:" + sessionId);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sessionMaps2.put(sessionId, session);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sessionCount2++;<br />
&nbsp;}</p>
<p>&nbsp; public void sessionDestroyed(HttpSessionEvent arg0) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sessionCount2--;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String sessionId = arg0.getSession().getId();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sessionMaps2.remove(sessionId);//利用会话ID标示特定会话<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("Destroy a session:" + sessionId);<br />
&nbsp;}<br />
&nbsp;public static int getSessionCount() {<br />
&nbsp; return sessionCount2;<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; public static Map getSessionMaps() {<br />
&nbsp;&nbsp;&nbsp;&nbsp; return sessionMaps2;<br />
&nbsp;&nbsp;&nbsp; }<br />
}<br />
<br />
传递sessionid，?jsessionid=&lt;%=session.getId()%&gt;<br />
<br />
测试效果：<br />
&lt;% <br />
Map activeSessions = ActiveUserListener2.getSessionMaps();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.println(activeSessions.get("CB55ABC39DD5B917D65F456C28FC25E6.tomcat1"));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out.println(activeSessions);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
%&gt;</p>
<img src ="http://www.blogjava.net/lzj520/aggbug/254575.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lzj520/" target="_blank">lzj520</a> 2009-02-13 16:46 <a href="http://www.blogjava.net/lzj520/archive/2009/02/13/254575.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>