Kela's Blog

                      前面的路很坎坷,但畢竟是條路.也許走過這一段就會發現,走過去就是夢想中的地方.因此堅持成為此刻唯一能做且必須去做的事情.
          posts - 9, comments - 27, trackbacks - 0, articles - 15
          說明:A 表1為Servlet Life-Cycle Events,內容摘抄自“ The JavaTrademarked EE 5 Tutorial”的“Chapter 3: Java Servlet Technology
          B WebContextListener.java SessionListenter.java RequestListenter.java分別為實現例子
          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 {

          /*
          * 創建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 對象被創建... ...");

          }

          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 對象被創建... ...");
          }

          /*
          * 新增
          * 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>

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


          網站導航:
           
          分享到:
          主站蜘蛛池模板: 桦甸市| 庆城县| 南丰县| 凉山| 休宁县| 尼勒克县| 泉州市| 长海县| 吐鲁番市| 修武县| 灵石县| 天峨县| 城步| 天台县| 宝兴县| 武安市| 阿荣旗| 福清市| 惠来县| 天门市| 清远市| 淳化县| 晋宁县| 三穗县| 汝阳县| 榆树市| 共和县| 田东县| 赣州市| 福海县| 雅安市| 象山县| 子长县| 石城县| 兴安盟| 墨脱县| 侯马市| 炎陵县| 金塔县| 七台河市| 兖州市|