ͳ¼ÆJAVAÍøÕ¾·ÃÎÊ´ÎÊý²¢»ñµÃ·ÃÎÊÕßIPµÄ·½·¨
¼òÑÔÖ®,Èç¹û²»ÓõÚÈý·½ÌṩµÄ½Ó¿Ú
ÄÇ×îºÃµÄ½â¾ö·½°¸Ó¦¸ÃÊǵ±SESSION½¨Á¢Ê±sessionCreated(),ÔÚ·ÃÎÊ×ÜÊýºÍµ±Ç°ÔÚÏßÈËÊýÉÏ+1
µ±SESSIONÏú»ÙʱsessionDistroyed(),ÔÚÏßÈËÊý-1
ºËÐÄ·½·¨ÊÇÀûÓÃListener¼àÌýµÄ¸÷ÖÖ½Ó¿Ú
ÎÒ°Ñ´úÂë(Ö÷Òª²¿·Ö)ÌùÔÚÏÂÃæ
´Ë¶Î´úÂëÎÒÇ××ÔʹÓùý,ûÓÐÎÊÌâ
µ«ÒòΪ¼Ì³ÐÁ˽ӿÚ,ÓÐЩδʹÓõķ½·¨Ò²Òª²¹³ä½øÈ¥,¾ßÌ巽ʽ±ÈÈçÔÚMyEclipseÖпÉÒÔ¿¿µã´íÎó,ADD UNIMPLEMENTED METHODʵÏÖ
¡¡¡¡package com.eaie.system;
¡¡¡¡import java.io.FileOutputStream;
¡¡¡¡import java.io.InputStream;
¡¡¡¡import java.io.PrintWriter;
¡¡¡¡import java.net.MalformedURLException;
¡¡¡¡import java.net.URL;
¡¡¡¡import java.util.Enumeration;
¡¡¡¡import java.util.Set;
¡¡¡¡import javax.servlet.RequestDispatcher;
¡¡¡¡import javax.servlet.Servlet;
¡¡¡¡import javax.servlet.ServletContext;
¡¡¡¡import javax.servlet.ServletContextEvent;
¡¡¡¡import javax.servlet.ServletException;
¡¡¡¡import javax.servlet.ServletRequestEvent;
¡¡¡¡import javax.servlet.ServletRequestListener;
¡¡¡¡import javax.servlet.http.HttpServletRequest;
¡¡¡¡import javax.servlet.http.HttpSessionActivationListener;
¡¡¡¡import javax.servlet.http.HttpSessionEvent;
¡¡¡¡import javax.servlet.http.HttpSessionListener;
¡¡¡¡public class SessionListener implements HttpSessionActivationListener,
¡¡¡¡HttpSessionListener, ServletContext, ServletRequestListener {
¡¡¡¡ServletContext context;
¡¡¡¡int onLineUserNum = 0;
¡¡¡¡int visitNum = 0;
¡¡¡¡HttpServletRequest request;
¡¡¡¡public void sessionDidActivate(HttpSessionEvent session) {
¡¡¡¡log("seesionDidActive("+session.getSession().getId()+")");
¡¡¡¡}
¡¡¡¡public void sessionWillPassivate(HttpSessionEvent session) {
¡¡¡¡log("seesionWillPassivate("+session.getSession().getId()+")");
¡¡¡¡}
¡¡¡¡public void sessionCreated(HttpSessionEvent event) {
¡¡¡¡onLineUserNum++;
¡¡¡¡visitNum ++;
¡¡¡¡String ip = request.getRemoteAddr();
¡¡¡¡log("sessionCreated('"+event.getSession().getId()+"'),-->IP:"+ip);
¡¡¡¡context.setAttribute("onLineUserNum", new Integer(onLineUserNum));
¡¡¡¡context.set
Ïà¹ØÎĵµ£º
ÔÚÎÒÃÇд³ÌÐòµÄʱºò,ÓÐʱ»áÒªÇó±£´æÒ»Ð©Êý¾Ý,±ÈÈçÓû§Ãû»òÕß±ðµÄ,µ«ÊÇÕâÑùÊý¾ÝÓÖ²»ÊDZ£´æÔÚ³ÌÐòͬһĿ¼ÏÂ,ÕâÑù×öÌ«Ã÷ÏÔÁË,Ò²²»Ì«°²È«,ÄÇÔõô°ìÄØ?Õâ¸öʱºò,Èç¹ûÄܰÑÊý¾Ý±£´æµ½×¢²á±íÀïÃæÈ¥,ÄǸöàºÃ,Ò»À´Òþ±Î,¶þÀ´·½±ã,²»ÖÁÓÚÔÚ³ÌÐòĿ¼ÏÂÉú³ÉÒ»´óƬÎļþ.
ÔÚJAVAÀïÃæ,¿ÉÒÔÀûÓÃjava.util.prefs.PreferencesÀ´¶Ô×¢²á±í½øÐ ......
£¨1£©Ctrl+M ££Çл»´°¿ÚµÄ´óС
£¨2£©Ctrl+Q ££Ìøµ½×îºóÒ»´ÎµÄ±à¼´¦
£¨3£©F2 ££µ±Êó±ê·ÅÔÚÒ»¸ö±ê¼Ç´¦³öÏÖTooltipʱºò°´F2Ôò°ÑÊó±êÒÆ¿ªÊ±Tooltip»¹»áÏÔʾ¼´Show Tooltip Description¡£
F3   ......
Æä¼¼ÇɾÍÊÇ£º¶¨ÒåÒ»¸ö¼òµ¥½Ó¿Ú£¬²¢ÔڸýӿÚÖÐÉùÃ÷ÎÒÃÇÒªµ÷Óõķ½·¨£¬Ò»°ã¿ÉÒÔÓ¦ÓÃÔÚ¼üÅÌÊó±êʼþ¸ú×Ù¡£
ÏÂÃæ¾ÙÒ»¸öÀý×Ó£º
¼Ù¶¨ÎÒÃÇÏ£ÍûÔÚij¸öʼþ·¢ÉúʱµÃµ½Í¨Öª¡£ÎÒÃÇ¿ÉÒÔ¶¨ÒåÒ»¸ö½Ó¿Ú£º
/*
* ÔÚij¸öʼþ·¢ÉúʱµÃµ½Í¨Öª£®
*/
public interface InterestingEvent {
¡¡¡¡ public void interestingEvent() ......
´´½¨Ò»¸öÀàµÄʵÀýʱ£¬
1.»áΪËüÒÔ¼°ËüµÄËùÓи¸ÀàµÄʵÀý±äÁ¿·ÖÅäÄÚ´æ¿Õ¼ä£¬Èç¹û·ÖÅä¿Õ¼ä³É¹¦£¬ÔòËùÓÐʵÀý±äÁ¿¶¼»á³õʼ»¯ÎªÄ¬ÈÏÖµ0¡¢false¡¢null
2.»áµÝ¹éµ÷Óø¸¹¹Ô캯Êý£¬µ«ÊÇÔݲ»Ö´Ðй¹Ô캯ÊýµÄÓï¾ä£»
3.¶Ô¸Ã¸¸¹¹Ô캯Êý¶ÔÓ¦µÄÀàµÄʵÀý±äÁ¿¸³Öµ
4.Ö´Ðи¸¹¹Ô캯ÊýµÄÆäËûÓï¾ä
5.¶ÔÓÚ×ÓÀִ࣬ÐÐ2-4²½Öè ......
1. ´´½¨Ị̈߳¨¼Ì³ÐThreadºÍʵÏÖrunnable½Ó¿Ú£© class SubThread {
private class InnerThread extends Thread {
@Override
public void run() {
System.out.println(Thread.currentThread().getName());
super.run();
}
}
public Thread getThread() {
return new InnerThread();
}
}
......