1.监听器的编写步骤
编写⼀个监听器类去实现监听器接口
重写监听器的方法
需要在web.xml中进行配置—注册
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
public class SessionListener implements HttpSessionListener {
@Override
public void sessionCreated(HttpSessionEvent httpSessionEvent) {
System.out.println("session创建");
}
@Override
public void sessionDestroyed(HttpSessionEvent httpSessionEvent) {
System.out.println("session销毁");
}
}
import javax.servlet.http.HttpSessionAttributeListener;
import javax.servlet.http.HttpSessionBindingEvent;
public class AttributeListener implements HttpSessionAttributeListener {
@Override
public void attributeAdded(HttpSessionBindingEvent httpSessionBindingEvent) {
System.out.println("session存值,"+httpSessionBindingEvent.getName()+","+httpSessionBindingEvent.getValue());
}
@Override
public void attributeRemoved(HttpSessionBindingEvent httpSessionBindingEvent) {
System.out.println("session移除数据");
}
@Override
public void attributeReplaced(HttpSessionBindingEvent httpSessionBindingEvent) {
}
}
XML配置如下:
<!--配置监听器-->
<listener>
<listener-class>util.SessionListener</listener-class>
</listener>
<listener>
<listener-class>util.AttributeListener</listener-class>
</listener>
2. 过滤器的语法格式
1.创建一个类实现Filter接口
2.重写接口中的方法
3.在web.xml文件中配置
import javax.servlet.*;
import java.io.IOException;
public class SecondFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
System.out.println("初始化2filter");//当服务器启动时执行init
}
@Override //请求和响应时都会执行这个方法
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("过滤器2开始");
//调取下一个过滤器,或者调取servlet
filterChain.doFilter(servletRequest, servletResponse);
System.out.println("过滤器2结束");
}
@Override
public void destroy() {
System.out.println("销毁2filter");
}
}
XML配置如下:
<filter>
<filter-name>f2</filter-name>
<filter-class>util.SecondFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>f2</filter-name>
<url-pattern>/login</url-pattern>
</filter-mapping>