Filter
1.过滤器(拦截器),如生活中净水器.....
2.在web中的过滤器,当访问服务器的资源的时候,过滤器可以将对应的请求地址
进行拦截下来,来进行完成一些特殊的功能
3.一般情况下,如功能,登陆验证,字符编码格式的统一.....
入门:
public class Test_Filter01 implements Filter{
@Override
public void init(FilterConfig filterConfig) throws ServletException {
System.out.println("初始化的方法--只会进行执行一次");
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,
FilterChain filterChain) throws IOException, ServletException {
System.out.println("执行业务逻辑的");
//进行放行的,不进行过滤的
filterChain.doFilter(servletRequest,servletResponse);
}
@Override
public void destroy() {
System.out.println("进行销毁的");
}
}
之前的版本
需要在web.xml文件进行配置
<filter>
<filter-name>myIsFilter</filter-name>
<filter-class>com.java.filter.Test_Filter01</filter-class>
</filter>
<filter-mapping>
<filter-name>myIsFilter</filter-name>
<!--拦截所有的-->
<url-pattern>/*</url-pattern>
</filter-mapping> 现在都是使用注解版的,
@WebFilter("/*")
public class Test_Filter01 implements Filter{
}
参数的描述
* public enum DispatcherType {
* FORWARD, 转发访问的资源
* INCLUDE, 包含了访问资源
* REQUEST, 默认的值,浏览器直接进行请求的资源
* ASYNC, 异步访问的资源
* ERROR; 错误访问的资源
* 可以在该注解中进行配置多个
* dispatcherTypes ={DispatcherType.ASYNC,DispatcherType.ERROR}
-------------------------- 监听器
对某个事件进行监听
需要3个必要的机制
事件 事件源(事件发生的地方) 监听器(创建的一个监听对象)
入门
创建一个类实现监听器
public class Test_Listtener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent servletContextEvent) {
System.out.println("ServletContext对象,创建后会进行调用的方法,初始化监听器");
}
@Override
public void contextDestroyed(ServletContextEvent servletContextEvent) {
System.out.println("ServletContext对象,被销毁之后,会调动的方法");
}
} 在来进行配置,之前的方式
web.xml中
<listener>
<listener-class>com.java.listener.Test_Listtener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/appliactionContext.xml</param-value>
</context-param>
可以使用注解的方式类进行配置
@WebListener
public class Test_Listtener implements ServletContextListener {

京公网安备 11010502036488号