Servlet监听器入门

提前阅读:https://blog.csdn.net/Su_Levi_Wei/article/details/50665835

        
        

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■↓↓↓↓↓↓↓↓↓ Servlet监听器 ↓↓↓↓↓↓↓↓↓↓↓■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
        

        Servlet监听器;
                为什么要有?
                    当个别用户进行恶意的破坏服务器的操作的时候,
                            如何获取到是这个用户在什么时候进行破坏?
                    因为每一次进行而已破坏需要是需要发送请求道服务器的
                            
                            
                是什么?
                    是Servlet的三大组件之一,是SUN公司定义的一个标准
                    
                    
                作用;
                    用于监听web开发中常用对象的动作,如;创建,销毁等。。。。
                        可以根据监听到的数据进行某些逻辑代码操作
                    使得开发web项目的灵活性,可变性更大。。。。。。
                    
                    例如;垃圾文件的发送等。。。
                    
                    
                特点;
                    是类似JavaScript中需要事件来触发的。
                    
                    ◆每一个事件都会封装成为一个对象
        
    
    
    


-----------------------------------↓↓↓↓↓↓↓Servlet监听器 —— 事件↓↓↓↓↓↓↓------------------------------------------------                                    
                    
    
        Servlet监听器_事件;
                    Servlet监听器是监听某些对象的动作,
                        那么这些动态是如何发生的,则是通过事件。。。。。。
                        
                    
        完成事件机制三个要求;
                    1.事件源;事件发送源头   ---> 如;用户请求
                    2.事件;对这个源头需要触发什么事件 ---> 发送请求给服务器
                    3.监听器;事件触发后需做什么   ---> 如;进行后台验证、跳转等.....

              
              wbe开发事件机制;
                常用事件源;ServletContext/ServletSession/Servletrequest
                发生的事件;创建、销毁、添加、修改、验证。。。。。。
                    监听器;也称为,对象的监听器。 属性的修改等。。。。。。
                    
                    
        
            ◆◆◆◆◆注;每一个web事件都会被封装成对应的对象
            


    


---------------------------------↓↓↓↓↓↓↓Servlet监听器 —— 开发步骤↓↓↓↓↓↓↓------------------------------------------------                                    
    
        
        Servlet监听器_开发步骤;
                    1.编译一个类实现某一个监听器或多个监听器
                        
                        a_)重写对应的方法
                        b_)在所需的方法中写业务代码逻辑
                        
                        
                    2.在web.xml文件中配置监听器
                        <listener>
                            <listener-class>包名+类名</listener-class>
                        </listener>
        
        
        
                
        
        
--------------------------------↓↓↓↓↓↓↓Servlet监听器 —— 常用监听器↓↓↓↓↓↓↓------------------------------------------------                                    
                    
                    
          Web对象              事件对象                    监听器
        
        ServletContext        ServletContextEvent           ServletContextListener
        
                        ↓↓↓↓↓↓↓    创建,销毁           ↓↓↓↓↓↓↓创建,销毁
                    获取到事件触发后的某些数据       监听事件发生后触发的操作后,
                        如;源事件对象等.              执行对应的业务
                
                    ServletContextAttributeEvent       ServletContextAttributeListener
                    
                        ↓↓↓↓↓↓↓    (C/D/U)               ↓↓↓↓↓↓↓(C/D/U)
                    获取到属性事件触发后某些数据       监听属性事件发生触发后的操作       
                        如;属性的值等.....                  执行对应的业务
        
        
        ServletContext解析;
                    ServletContext是在服务器启动的时候,
                        就创建了对象了,而服务器关闭的时候则销毁对象
                            而这个创建和销毁的事件则···封装成了ServletContextEvent对象
                            
                    而在触发ServletContextEvent对象事件的时候,
                        可以通过ServletContextListener对象的对应的事件方法,
                            进行监听这个事件的创建和销毁从而执行某些需求的逻辑代码。
                  
                  
               ◆案例;在这个事件创建的时候向数据库写入一条创建信息,
                              在这个事件销毁的时候也写入一条创建信息,从而做到日志功能。        
                                        
                ■■■■■■■ ServletContextAttribute是同样的原理                        
            
            
            
        
            
                        
        HttpSession        HttpSessionEvnet           HttpSessionListener
        
                        ↓↓↓↓↓↓↓创建,销毁           ↓↓↓↓↓↓↓
                    获取到事件触发后的某些数据       监听事件发生后触发的操作后
                        如;源事件对象等...                执行对应的业务
                        
                    HttpSessionAttributeEvent       HttpSessionAttributeListener
            
                        ↓↓↓↓↓↓↓(C/D/U)               ↓↓↓↓↓↓↓(C/D/U)
                    获取到属性时间触发后某些数据        监听事件发生后触发的操作后
                        如;属性的值等.....                执行对应的业务
        
        
        HttpSession解析;
                   当用户访问Jsp【内置对象】页面的时候就会创建Session对象,
                       当到了最大的存活时间时,用户没有对数据库进行任何的访问,
                           或服务器关闭,则会将这个创建了的Session对象进行销毁。
                               而在这个创建和销毁的两个事件Java将其封装成了
                                   HttpSessionEvent这个类,从而可以通过
                                       这个类的方法获取到某些信息,如源事件对象等....            
                    而在触发HttpSessionEvent事件后,
                        可以通过HttpSessionListener接口的,
                            对应方法监听这个事件触发后的对应过程
               
               ◆案例;因为HttpSession对象是唯一标识每一个访问的用户的,
                               从而可以做一个当前网站的访问人数的案例
                      或者是当前网站登录用户管理的案例            
                                               
                ■■■■■■■ HttpServlet是同样的原理
            
        
        
                    
        SerlvetRequest        ServletRequestEvnet           ServletRequestListener
        
                        ↓↓↓↓↓↓↓创建、销毁           ↓↓↓↓↓↓↓(C/D/U)
                    获取到事件触发后的某些数据       监听事件发生后触发的操作后
                        如;源事件对象等...                执行对应的业务
        
                    ServletRequestAttributeEvnet       ServletRequestAttributeListener    
                                        
                        ↓↓↓↓↓↓↓(C/D/U)               ↓↓↓↓↓↓↓(C/D/U)
                    获取到事件触发后的某些数据       监听事件发生后触发的操作后
                        如;源事件对象等...                执行对应的业务

        ServletRequest解析;
                   当用户给服务器发送一个请求的时候,
                       而这个请求的创建开始和销毁的事件
                           Java将其封装成了一个ServletReqeustEvnet对象
                           
                   而在触发ServletRequestEvent对象后
                       可以通过ServletReqeustListener监听接口
                           监听这个servletReuqestEvent事件触发的过程
                           
               ◆案例;可以通过这个做一个用户在某一个时间内,
                       发送数据到服务器的个数不可以超过多少个
                                   超过了则服务器不在进行接收,
                                       只有过了这个事件才再次进行接口,
                                           从而对服务器起到一个保护的作用    
        
                ■■■■■■■ ServletRequest是同样的原理
                    
        
        
        
            ◆◆◆◆◆注;事件一般都是类,而监听都是接口

            

发布了103 篇原创文章 · 获赞 34 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/Su_Levi_Wei/article/details/104814497