• javaWeb:操作域属性的监听器


    当对域属性进行增、删、改时,执行的监听器一共有三个:

    l  ServletContextAttributeListener:在ServletContext域进行增、删、改属性时调用下面方法。

    • public void attributeAdded(ServletContextAttributeEvent evt)
    • public void attributeRemoved(ServletContextAttributeEvent evt)
    • public void attributeReplaced(ServletContextAttributeEvent evt)

    l  HttpSessionAttributeListener:在HttpSession域进行增、删、改属性时调用下面方法

    • public void attributeAdded(HttpSessionBindingEvent evt)
    • public void attributeRemoved (HttpSessionBindingEvent evt)
    • public void attributeReplaced (HttpSessionBindingEvent evt)

    l  ServletRequestAttributeListener:在ServletRequest域进行增、删、改属性时调用下面方法

    • public void attributeAdded(ServletRequestAttributeEvent evt)
    • public void attributeRemoved (ServletRequestAttributeEvent evt)
    • public void attributeReplaced (ServletRequestAttributeEvent evt)

    下面对这三个监听器的事件对象功能进行介绍:

    l  ServletContextAttributeEvent

    • String getName():获取当前操作的属性名;
    • Object getValue():获取当前操作的属性值;
    • ServletContext getServletContext():获取ServletContext对象。

    l  HttpSessionBindingEvent

    • String getName():获取当前操作的属性名;
    • Object getValue():获取当前操作的属性值;
    • HttpSession getSession():获取当前操作的session对象。

    l  ServletRequestAttributeEvent

    • String getName():获取当前操作的属性名;
    • Object getValue():获取当前操作的属性值;
    • ServletContext getServletContext():获取ServletContext对象;
    • ServletRequest getServletRequest():获取当前操作的ServletRequest对象。

    public class MyListener implements ServletContextAttributeListener,

           ServletRequestAttributeListener, HttpSessionAttributeListener {

        public void attributeAdded(HttpSessionBindingEvent evt) {

           System.out.println("向session中添加属性:" + evt.getName() + "=" + evt.getValue());

        }

     

        public void attributeRemoved(HttpSessionBindingEvent evt) {

           System.out.println("从session中移除属性:" + evt.getName() + "=" + evt.getValue());

        }

     

        public void attributeReplaced(HttpSessionBindingEvent evt) {

           System.out.println("修改session中的属性:" + evt.getName() + "=" + evt.getValue());

        }

     

        public void attributeAdded(ServletRequestAttributeEvent evt) {

           System.out.println("向request中添加属性:" + evt.getName() + "=" + evt.getValue());

        }

     

        public void attributeRemoved(ServletRequestAttributeEvent evt) {

           System.out.println("从request中移除属性:" + evt.getName() + "=" + evt.getValue());

        }

     

        public void attributeReplaced(ServletRequestAttributeEvent evt) {

           System.out.println("修改request中的属性:" + evt.getName() + "=" + evt.getValue());

        }

     

        public void attributeAdded(ServletContextAttributeEvent evt) {

           System.out.println("向context中添加属性:" + evt.getName() + "=" + evt.getValue());

        }

     

        public void attributeRemoved(ServletContextAttributeEvent evt) {

           System.out.println("从context中移除属性:" + evt.getName() + "=" + evt.getValue());

        }

     

        public void attributeReplaced(ServletContextAttributeEvent evt) {

           System.out.println("修改context中的属性:" + evt.getName() + "=" + evt.getValue());

        }

    }

    public class ListenerServlet extends BaseServlet {

        public String contextOperation(HttpServletRequest request, HttpServletResponse response)

               throws ServletException, IOException {

           ServletContext context = this.getServletContext();

           context.setAttribute("a", "a");

           context.setAttribute("a", "A");

           context.removeAttribute("a");

           return "/index.jsp";

        }

       

        ///////////////////////////////

       

        public String sessionOperation(HttpServletRequest request, HttpServletResponse response)

               throws ServletException, IOException {

           HttpSession session = request.getSession();

           session.setAttribute("a", "a");

           session.setAttribute("a", "A");

           session.removeAttribute("a");

           return "/index.jsp";

        }

     

        ///////////////////////////////

       

        public String requestOperation(HttpServletRequest request, HttpServletResponse response)

               throws ServletException, IOException {

           request.setAttribute("a", "a");

           request.setAttribute("a", "A");

           request.removeAttribute("a");

           return "/index.jsp";

        }

    }

      <body>

        <a href="<c:url value='/ListenerServlet?method=contextOperation'/>">SevletContext操作属性</a>

        <br/>

        <a href="<c:url value='/ListenerServlet?method=sessionOperation'/>">HttpSession操作属性</a>

        <br/>

        <a href="<c:url value='/ListenerServlet?method=requestOperation'/>">ServletRequest操作属性</a> |

      </body>

  • 相关阅读:
    终极解码 FinalCodecs 2020 春节版 V5
    AutoCAD 2019.0.1 Update 官方简体中文版
    Adobe Flash Player 29.0.0.140官方正式版
    VMware Pro 14.1.2 官方正式版及激活密钥
    Visual Studio 2015 Update 2
    世界工资研究报告与借鉴
    Microsoft .NET Framework 4.6.1
    推荐算法之去重策略
    推荐算法之加权采样
    推荐系统之构建排行榜
  • 原文地址:https://www.cnblogs.com/danyuzhu11/p/6738152.html
Copyright © 2020-2023  润新知