public class MyServletContextListener implements ServletContextListener{
@Override
public void contextInitialized(ServletContextEvent sce) {
System.out.println("ServletContext对象被创建了...");
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
System.out.println("ServletContext对象被销毁了...");
}
}
配置
<web-app>
<listener>
<listener-class>
life.listeners.MyServletContextListener
</listener-class>
</listener>
<servlet/>
<servlet-mapping/>
</web-app>
需要创建一个Filter实现类,继承javax.servlet.Filter接口。且必须实现这个接口的三个方法.
filter和servlet除了filterchain这一点不同之外,servlet还有几个封装的实现类可以使用,如HttpServlet和GenericServlet,而filter却没有它具体的实现类和接口,需要我们自己封装一个类似于HttpFilter的实现类供我们以后使用.
配置:
<filter>
<filter-name>过滤器名称</filter-name>
<filter-class>过滤器完整类名</filter-class>
<init-param>
<description>描述信息,可以省略</description>
<param-name>参数名称</param-name>
<param-value>参数值</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>过滤器名称</filter-name>
<url-pattern>URL</url-pattern>
<dispatcher>[REQUEST|INCLUDE|FORWARD|ERROR]</dispatcher>
</filter-mapping>
类型 | 作用 |
REQUEST | 用户直接访问页面时,web容器会调用该过滤器 |
FORWARD | 目标资源是通过RequestDispatcher的forward方法访问时,过滤器将被调用 |
INCLUDE | 目标资源是通过RequestDispatcher的include方法调用时,过滤器将被调用 |
ERROR | 目标资源是通过声明式异常处理机制调用时,过滤器被将被调用 |
ASYNC(Servlet3.0新增加) | 支持异步处理 |
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |