wuheng 2 年之前
父节点
当前提交
800dfaa1fa

二进制
day12/Filter-day12.pdf


+ 31 - 0
day12/src/com/lovecoding/listener/RequestListener.java

@@ -0,0 +1,31 @@
+package com.lovecoding.listener;
+
+import javax.servlet.*;
+import javax.servlet.http.HttpSessionAttributeListener;
+import javax.servlet.http.HttpSessionEvent;
+import javax.servlet.http.HttpSessionListener;
+import javax.servlet.http.HttpSessionBindingEvent;
+
+public class RequestListener implements ServletRequestListener, ServletRequestAttributeListener {
+
+    public void requestDestroyed(ServletRequestEvent sre) {
+        System.out.println( "request 销毁" );
+    }
+
+    public void requestInitialized(ServletRequestEvent sre) {
+        System.out.println( "request 初始化" );
+    }
+
+    public void attributeAdded(ServletRequestAttributeEvent srae) {
+        System.out.println( "request 增加属性" );
+    }
+
+    public void attributeRemoved(ServletRequestAttributeEvent srae) {
+        System.out.println( "request 移出属性" );
+    }
+
+    public void attributeReplaced(ServletRequestAttributeEvent srae) {
+        System.out.println( "request 属性替换" );
+    }
+
+}

+ 17 - 0
day12/src/com/lovecoding/listener/ServletListener.java

@@ -0,0 +1,17 @@
+package com.lovecoding.listener;
+
+
+import javax.servlet.ServletContextAttributeListener;
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
+
+public class ServletListener implements ServletContextListener, ServletContextAttributeListener {
+
+    public void contextInitialized(ServletContextEvent sce) {
+        System.out.println( "Servlet Context 加载" );
+    }
+
+    public void contextDestroyed(ServletContextEvent sce) {
+        System.out.println( "Servlet Context 销毁" );
+    }
+}

+ 29 - 0
day12/src/com/lovecoding/listener/SessionListener.java

@@ -0,0 +1,29 @@
+package com.lovecoding.listener;
+
+
+import javax.servlet.http.*;
+
+public class SessionListener implements HttpSessionListener, HttpSessionAttributeListener, HttpSessionBindingListener, HttpSessionActivationListener {
+
+    public void sessionCreated(HttpSessionEvent se) {
+        System.out.println( "Session 创建完成" );
+    }
+
+    public void sessionDestroyed(HttpSessionEvent se) {
+        System.out.println( "Session 对象销毁" );
+    }
+
+    public void attributeAdded(HttpSessionBindingEvent se) {
+        System.out.println( "Session 存储对象" );
+    }
+
+    public void attributeRemoved(HttpSessionBindingEvent se) {
+        System.out.println( "Session 存储删除" );
+    }
+
+    public void attributeReplaced(HttpSessionBindingEvent se) {
+        System.out.println( "Session 存储更新" );
+    }
+
+
+}

+ 15 - 0
day12/web/WEB-INF/web.xml

@@ -5,6 +5,21 @@
          version="4.0">
 
 
+    
+    <listener>
+        <listener-class>com.lovecoding.listener.ServletListener</listener-class>
+    </listener>
+    
+    <listener>
+        <listener-class>com.lovecoding.listener.SessionListener</listener-class>
+    </listener>
+
+    <listener>
+        <listener-class>com.lovecoding.listener.RequestListener</listener-class>
+    </listener>
+    
+    
+    
 <filter>
     <filter-name>JSPFilter</filter-name>
     <filter-class>com.lovecoding.filter.JSPFilter</filter-class>

+ 1 - 0
day12/web/admin.jsp

@@ -17,6 +17,7 @@
 
     <%
 
+        session.invalidate();
         System.out.println( "run 2" );
 
     %>

+ 10 - 1
day12/web/index.jsp

@@ -11,6 +11,15 @@
     <title>$Title$</title>
   </head>
   <body>
-  $END$
+  <%
+
+    //此两行代码 可以出花 session 监听器
+    //session.setAttribute("test", 1);
+    //session.setAttribute("test", 2);
+
+    request.setAttribute("test", 1);
+    request.setAttribute("test", 2);
+
+  %>
   </body>
 </html>

+ 12 - 0
day12/web/login.jsp

@@ -12,5 +12,17 @@
 </head>
 <body>
 <h1>login JSP</h1>
+
+<%
+
+    //触发监听器
+    //session.removeAttribute("test");
+
+    //触发监听器
+    request.setAttribute("test", 3);
+    request.removeAttribute("test");
+
+%>
+
 </body>
 </html>