Kela's Blog

                      前面的路很坎坷,但畢竟是條路.也許走過這一段就會發(fā)現(xiàn),走過去就是夢想中的地方.因此堅持成為此刻唯一能做且必須去做的事情.
          posts - 9, comments - 27, trackbacks - 0, articles - 15
          說明:A 表1為Servlet Life-Cycle Events,內(nèi)容摘抄自“ The JavaTrademarked EE 5 Tutorial”的“Chapter 3: Java Servlet Technology
          B WebContextListener.java SessionListenter.java RequestListenter.java分別為實(shí)現(xiàn)例子
          C web.xml 為配置文件片段

          表1 Servlet Life-Cycle Events
          Object
          Event
          Listener Interface and Event Class
          Web context
          (see Accessing the Web Context)
          Initialization and destruction
          Attribute added, removed, or replaced
          Creation, invalidation, activation, passivation, and timeout
          Attribute added, removed, or replaced
          Request
          A servlet request has started being processed by web components
          Attribute added, removed, or replaced

          -- WebContextListener.java

          public class WebContextListener implements ServletContextListener, ServletContextAttributeListener {
          /*
          * ServletContextListener and servletContextEvent
          * Web context Destruction
          */
          public void contextDestroyed(ServletContextEvent arg0) {
          System.out.println("[INFO]:Web context 銷毀... ...");
          }

          /*
          * ServletContextListener and servletContextEvent
          * Web context Initialization
          */
          public void contextInitialized(ServletContextEvent servletContextEvent) {
          System.out.println("[INFO]:Web context 初始化 ... ..." );
          }

          /*
          * ServletContextAttributeListener and ServletContextAttributeEvent
          * Web context Attribute Added
          *
          * ServletContext servletContext = this.getServletContext();
          * - Added
          * servletContext.setAttribute("name", "Kela");
          * - Replaced
          * servletContext.setAttribute("name", "KANGFENG");
          * - Removed
          * servletContext.removeAttribute("name");
          *
          */
          public void attributeAdded(ServletContextAttributeEvent arg0) {
          System.out.println("[INFO]:Web context's attribute added");
          System.out.println("[INFO]:name is " + arg0.getServletContext().getAttribute("name"));
          }

          public void attributeRemoved(ServletContextAttributeEvent arg0) {
          System.out.println("[INFO]:Web context's attribute removed");
          System.out.println("[INFO]:name is " + arg0.getServletContext().getAttribute("name"));
          }

          public void attributeReplaced(ServletContextAttributeEvent arg0) {
          System.out.println("[INFO]:Web context's attribute replaced");
          System.out.println("[INFO]:name is " + arg0.getServletContext().getAttribute("name"));
          }
          }

          -- SessionListenter.java
          public class SessionListenter implements HttpSessionListener, HttpSessionActivationListener, HttpSessionAttributeListener {

          /*
          * 創(chuàng)建Session
          * HttpSession session = request.getSession();
          * 新增Attribute
          * session.setAttribute("userName", "kela");
          * 修改Attribute
          * session.setAttribute("userName", "KangFeng");
          * 刪除Attribute
          * session.removeAttribute("userName");
          * 銷毀Session
          * session.invalidate();
          */
          public void sessionCreated(HttpSessionEvent arg0) {
          System.out.println("[INFO]: HttpSession 對象被創(chuàng)建... ...");

          }

          public void sessionDestroyed(HttpSessionEvent arg0) {
          System.out.println("[INFO]: HttpSession 對象被摧毀... ...");
          }

          public void sessionDidActivate(HttpSessionEvent arg0) {
          System.out.println("::::::::::::");
          }

          public void sessionWillPassivate(HttpSessionEvent arg0) {
          System.out.println("::::::::::::");
          }

          public void attributeAdded(HttpSessionBindingEvent arg0) {
          System.out.println("[INFO]: 新增 HttpSession's attribute");
          System.out.println("[INFO]: userName = " + arg0.getSession().getAttribute("userName"));
          }

          public void attributeRemoved(HttpSessionBindingEvent arg0) {
          System.out.println("[INFO]: 移除 HttpSession's attribute");
          System.out.println("[INFO]: userName = " + arg0.getSession().getAttribute("userName"));

          }

          public void attributeReplaced(HttpSessionBindingEvent arg0) {
          System.out.println("[INFO]: 修改 HttpSession's attribute");
          System.out.println("[INFO]: userName = " + arg0.getSession().getAttribute("userName"));
          }
          }

          -- RequestListenter.java
          public class RequestListenter implements ServletRequestListener, ServletRequestAttributeListener {

          public void requestDestroyed(ServletRequestEvent arg0) {
          System.out.println("[INFO]: A servlet request 對象被銷毀... ...");
          }

          public void requestInitialized(ServletRequestEvent arg0) {
          System.out.println("[INFO]: A servlet request 對象被創(chuàng)建... ...");
          }

          /*
          * 新增
          * request.setAttribute("requUserName", "Kela");
          * 修改
          * request.setAttribute("requUserName", "KangFeng");
          * 移除
          * request.removeAttribute("requUserName");
          */
          public void attributeAdded(ServletRequestAttributeEvent arg0) {
          System.out.println("[INFO]: A servlet request'attribute 新增... ...");
          System.out.println("[INFO]: requUserName = " + arg0.getServletRequest().getAttribute("requUserName"));
          }

          public void attributeRemoved(ServletRequestAttributeEvent arg0) {
          System.out.println("[INFO]: A servlet request'attribute 移除... ...");
          System.out.println("[INFO]: requUserName = " + arg0.getServletRequest().getAttribute("requUserName"));
          }

          public void attributeReplaced(ServletRequestAttributeEvent arg0) {
          System.out.println("[INFO]: A servlet request'attribute 修改... ...");
          System.out.println("[INFO]: requUserName = " + arg0.getServletRequest().getAttribute("requUserName"));
          }
          }

          -- web.xml
          <listener>
              <listener-class>com.kela.web.listeners.WebContextListener</listener-class>
            </listener>
            <listener>
              <listener-class>com.kela.web.listeners.SessionListenter</listener-class>
            </listener>
            <listener>
              <listener-class>com.kela.web.listeners.RequestListenter</listener-class>
            </listener>

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          分享到:
          主站蜘蛛池模板: 沾化县| 北川| 绥芬河市| 汉川市| 古田县| 津南区| 铜梁县| 壶关县| 海城市| 清流县| 泰顺县| 邻水| 安图县| 通州市| 隆尧县| 民丰县| 柯坪县| 邹平县| 邢台市| 沈丘县| 阜阳市| 麻栗坡县| 全椒县| 易门县| 葫芦岛市| 施秉县| 广平县| 定远县| 上林县| 离岛区| 泗阳县| 通山县| 昭苏县| 滨海县| 永定县| 莱西市| 成武县| 林口县| 进贤县| 阳曲县| 高邑县|