1g内存vps 开电影网站代理商加盟项目网站

当前位置: 首页 > news >正文

1g内存vps 开电影网站,代理商加盟项目网站,企业网站 下载,网站怎样注册备案目录 监听器Listener 1.功能 2.监听器分类 3.监听器的配置 4.ServletContext监听 5.HttpSession监听 6.ServletRequest监听 监听器Listener 1.功能 用于监听域对象ServletContext、HttpSession和ServletRequest的创建#xff0c;与销毁事件监听一个对象的事件#x… 目录 监听器Listener 1.功能 2.监听器分类 3.监听器的配置 4.ServletContext监听 5.HttpSession监听 6.ServletRequest监听 监听器Listener 1.功能 用于监听域对象ServletContext、HttpSession和ServletRequest的创建与销毁事件监听一个对象的事件如果发生了某事件则可以执行相应的代码 默认的优先级别ListenerFilterServlet 2.监听器分类 由于事件的复杂性监听器也有许多对应的监听器。总体上按照作用域可以分为以下三类 Servlet上下文相关监听接口包括ServletContextListener、ServletAttributeListenerHTTP会话监听接口包括HttpSessionListener、HttpActivationListener等Servlet请求监听接口包括ServletRequestListener、ServletRequestAttributeListener 3.监听器的配置 1.通过xml配置 listener !– 在listener-class中输入具体的类的位置–listener-classcom.company.Listener.ListenerDemo1/listener-class/listener 2.通过注解类配置 WebListener 只需要填写WebListener即可  4.ServletContext监听 通过实现ServletContext接口实现监听器功能 1.生命周期监听 ServletContext的生命周期监听监听ServletContext对象的创建与销毁方法如下 方法名描述contextInitialized()当ServletContext对象被创建时容器会自动调用该方法。在这个方法中你可以执行一些初始化操作比如加载配置文件、建立数据库连接等。contextDestroyed()当ServletContext对象被销毁时容器会自动调用该方法。在这个方法中你可以执行一些清理操作比如释放资源、关闭数据库连接等。 package com.company.Listener;import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import javax.servlet.annotation.WebListener; //使用注解类配置 WebListener public class ListenerDemo1 implements ServletContextListener {// 在创建出ServletContext对象时候自动调用函数Overridepublic void contextInitialized(ServletContextEvent servletContextEvent) {System.out.println(监听到有ServletContext对象创建);} // 检测到ServletContext对象被销毁Overridepublic void contextDestroyed(ServletContextEvent servletContextEvent) {System.out.println(监听到有ServletContext对象被销毁);} }具体案例代码: 创建ServletContext对象代码 package com.company;import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException;WebServlet(/ServletContextDemo1) public class ServletContextDemo1 extends HttpServlet{Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // 创建ServletContext对象ServletContext context req.getServletContext();System.out.println(ServletContextDemo1被调用);} // 实现方法统一Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {this.doPost(req, resp);} }2.属性监听 通过实现ServletContextAttributeListener接口实现监听属性的添加、替换、修改的功能,方法如下 方法名描述attributeAdded()当向ServletContext、HttpSession或ServletRequest添加属性时容器会自动调用该方法。在这个方法中你可以对添加的属性进行处理。attributeReplaced()当ServletContext、HttpSession或ServletRequest中的属性被替换时容器会自动调用该方法。在这个方法中你可以对替换后的属性进行处理。attributeRemoved()当ServletContext、HttpSession或ServletRequest中的属性被移除时容器会自动调用该方法。在这个方法中你可以对移除的属性进行处理 案例代码 监听器类代码 package com.company.Listener;import javax.servlet.ServletContext; import javax.servlet.ServletContextAttributeEvent; import javax.servlet.ServletContextAttributeListener; import javax.servlet.annotation.WebListener;WebListener public class ListenerDemo2 implements ServletContextAttributeListener { // 当新创建一个ServletContext对象时候调用Overridepublic void attributeAdded(ServletContextAttributeEvent servletContextAttributeEvent) { // 获取域对象ServletContext context servletContextAttributeEvent.getServletContext(); // 获取新增的域 名和值String name servletContextAttributeEvent.getName();Object value servletContextAttributeEvent.getValue(); // 输出修改对象System.out.println(域对象context范围内增加了name值为value);} // 当ServletContext对象被移除的时候执行Overridepublic void attributeRemoved(ServletContextAttributeEvent servletContextAttributeEvent) {ServletContext context servletContextAttributeEvent.getServletContext();String name servletContextAttributeEvent.getName();Object value servletContextAttributeEvent.getValue();System.out.println(域对象context范围内删除了name值为value);}Overridepublic void attributeReplaced(ServletContextAttributeEvent servletContextAttributeEvent) {ServletContext context servletContextAttributeEvent.getServletContext();String name servletContextAttributeEvent.getName();Object value servletContextAttributeEvent.getValue();System.out.println(域对象context范围内替换了name值为value);} }Servlet属性类代码 package com.company;import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException;WebServlet(/ServletContextDemo3) public class ServletContextDemo3 extends HttpServlet{Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{ServletContext context req.getServletContext(); // 创建context域对象值context.setAttribute(msg,Hello); // 替换对象内容context.setAttribute(msg,你好); // 销毁对象context.removeAttribute(msg);}Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {this.doPost(req, resp);} }5.HttpSession监听 通过实现接口HttpSessionListener实现HttpSession。HttpSession对象监听有三种方式1.生命周期监听、2.属性监听、3.session监听 1.生命周期监听 方法名描述sessionCreated()当一个新的HttpSession对象被创建时容器会自动调用该方法。在这个方法中你可以对新创建的HttpSession对象进行处理。sessionDestroyed()当一个HttpSession对象被销毁时容器会自动调用该方法。在这个方法中你可以对销毁的HttpSession对象进行处理。 监听类代码 package com.company.Listener;import javax.servlet.annotation.WebListener; import javax.servlet.http.HttpSessionEvent; import javax.servlet.http.HttpSessionListener; WebListener public class ListenerDemo3 implements HttpSessionListener { // 当session被创建时候调用Overridepublic void sessionCreated(HttpSessionEvent httpSessionEvent) {System.out.println(监听到有session的创建);} // 当session被销毁时候调用Overridepublic void sessionDestroyed(HttpSessionEvent httpSessionEvent) {System.out.println(session已被销毁);} }Servlet实现代码 package com.company;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException;WebServlet(/SessionListenerDemo1) public class SessionListenerDemo1 extends HttpServlet{Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // 创建sessionHttpSession session req.getSession();session.setAttribute(name,AlphaMilk); // 销毁sessionsession.invalidate();}Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {this.doPost(req, resp);} }2.属性监听 方法名描述attributeAdded()当一个属性被添加到HttpSession对象中时容器会自动调用该方法。在这个方法中你可以对新添加的属性进行处理。attributeReplaced()当一个属性在HttpSession对象中被替换时容器会自动调用该方法。在这个方法中你可以对替换的属性进行处理。attributeRemoved()当一个属性从HttpSession对象中被移除时容器会自动调用该方法。在这个方法中你可以对被移除的属性进行处理 案例代码 监听类 package com.company.Listener;import javax.servlet.annotation.WebListener; import javax.servlet.http.HttpSessionAttributeListener; import javax.servlet.http.HttpSessionBindingEvent;WebListener public class ListenerDemo4 implements HttpSessionAttributeListener { // 当session属性增加时候调用Overridepublic void attributeAdded(HttpSessionBindingEvent httpSessionBindingEvent) {System.out.println(Session添加了一个新的属性);} // 当session属性销毁时候调用Overridepublic void attributeRemoved(HttpSessionBindingEvent httpSessionBindingEvent) {System.out.println(Session销毁了一个属性);} // 当session属性替换时候调用Overridepublic void attributeReplaced(HttpSessionBindingEvent httpSessionBindingEvent) {System.out.println(Session替换了一个属性);} }Servlet实现类 package com.company;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.io.IOException;WebServlet(/SessionDemo5) public class SessionDemo5 extends HttpServlet{Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {HttpSession session req.getSession(); // 增加属性session.setAttribute(userName,AlphaMilk); // 属性覆盖session.setAttribute(userName,alpha); // 属性删除session.removeAttribute(userName);}Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {this.doPost(req, resp);} }6.ServletRequest监听 与上述几个接口类似分别由生命周期监听与属性监听 1.生命周期监听 方法名描述requestInitialized()当一个ServletRequest对象被创建并初始化时容器会自动调用该方法。在这个方法中你可以对新创建的ServletRequest对象进行处理。requestDestroyed()当一个ServletRequest对象被销毁时容器会自动调用该方法。在这个方法中你可以对销毁的ServletRequest对象进行处理。 2.属性监听 方法名描述attributeAdded()当一个属性被添加到ServletRequest对象中时容器会自动调用该方法。在这个方法中你可以对新添加的属性进行处理。attributeReplaced()当一个属性在ServletRequest对象中被替换时容器会自动调用该方法。在这个方法中你可以对替换的属性进行处理。attributeRemoved()当一个属性从ServletRequest对象中被移除时容器会自动调用该方法。在这个方法中你可以对被移除的属性进行处理