JAVAWEB实训O2O商城Demo(六)——监听器

ServletContext域监听器

不知道为什么我实现ServletContextListener 接口的时候他并没有报错让我去覆盖他

原因:因为监听器里面的方法是default的(这样避免每一次在新增个方法在接口的时候就会对其他所实现这个接口的类进行修改)

处理方法:在{}的内部快捷键alt+/(代码补全)一般都是在最下面往下面翻 或者直接ctrl按住点击实现的接口 进入接口里面复制代码

代码

第一步:实现ServletContextListener接口

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

//监听服务器
public class Servletcontext implements ServletContextListener {
    public void contextInitialized(ServletContextEvent sce) {
        //服务器启动的时候
        System.out.println("服务器启动");
    }

    public void contextDestroyed(ServletContextEvent sce) {
        System.out.println("服务器销毁");
    }
}

第二步在web.xml添加监听器

<listener>
    <listener-class>com.xiaonuolen.Servletcontext</listener-class>//你自己的类
</listener>

Session域的监听

package com.xiaonuolen.listerner;



import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;

public class HttpSessionListenerTest implements HttpSessionListener {

    @Override
    public void sessionCreated(HttpSessionEvent se) {
        System.out.println("session创建");
    }

    @Override
    public void sessionDestroyed(HttpSessionEvent se) {
        System.out.println("session销毁");
    }
}

在tomcat中的context.xml 取消这个注释 实现关闭服务器session就销毁

第二步在web.xml添加监听器

request域的监听

public class RequestListenerTest implements ServletRequestListener {
    @Override
    public void requestInitialized(ServletRequestEvent sre) {
        System.out.println("request创建");
    }

    @Override
    public void requestDestroyed(ServletRequestEvent sre) {
        System.out.println("request销毁");
    }
}

第二步在web.xml添加监听器

第三部 sre.getServletRequest();可以获取源

检测Session的事件其他的也类似

@WebServlet("/ServletTest")
public class ServletTest extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        HttpSession session = request.getSession();
        session.setAttribute("info","sgw");
        session.setAttribute("info","sss");
        System.out.println("sgw123");
        session.invalidate();
    }
}

猜你喜欢

转载自blog.csdn.net/qq_40632760/article/details/86302165
今日推荐