?? onlinecountlistener.java
字號(hào):
// ==================== Program Discription =====================
// 程序名稱:示例14-9 : EncodingFilter .java
// 程序目的:學(xué)習(xí)使用監(jiān)聽器
// ==============================================================
import javax.servlet.http.*;
import javax.servlet.*;
public class OnLineCountListener implements HttpSessionListener,ServletContextListener,ServletContextAttributeListener
{
private int count;
private ServletContext context = null;
public OnLineCountListener()
{
count=0;
//setContext();
}
//創(chuàng)建一個(gè)session時(shí)激發(fā)
public void sessionCreated(HttpSessionEvent se)
{
count++;
setContext(se);
}
//當(dāng)一個(gè)session失效時(shí)激發(fā)
public void sessionDestroyed(HttpSessionEvent se)
{
count--;
setContext(se);
}
//設(shè)置context的屬性,它將激發(fā)attributeReplaced或attributeAdded方法
public void setContext(HttpSessionEvent se)
{
se.getSession().getServletContext().setAttribute("onLine",new Integer(count));
}
//增加一個(gè)新的屬性時(shí)激發(fā)
public void attributeAdded(ServletContextAttributeEvent event) {
log("attributeAdded('" + event.getName() + "', '" +
event.getValue() + "')");
}
//刪除一個(gè)新的屬性時(shí)激發(fā)
public void attributeRemoved(ServletContextAttributeEvent event) {
log("attributeRemoved('" + event.getName() + "', '" +
event.getValue() + "')");
}
//屬性被替代時(shí)激發(fā)
public void attributeReplaced(ServletContextAttributeEvent event) {
log("attributeReplaced('" + event.getName() + "', '" +
event.getValue() + "')");
}
////context刪除時(shí)激發(fā)
public void contextDestroyed(ServletContextEvent event) {
log("contextDestroyed()");
this.context = null;
}
//context初始化時(shí)激發(fā)
public void contextInitialized(ServletContextEvent event) {
this.context = event.getServletContext();
log("contextInitialized()");
}
private void log(String message) {
System.out.println("ContextListener: " + message);
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -