JavaWeb从入门到入土第十九天

it2024-08-17  37

Filter:过滤器

快速入门: 步骤: 1.定义一个类,实现接口Filter 2.复写方法 3.配置拦截路径

过滤器细节

web.xml配置 <filter> <filter-name>demo1</filter-name> <filter-class>cn.itcast.web.filter.FilterDemo1</filter-class> </filter> <filter-mapping> <filter-name>demo1</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 过滤器执行流程 (1)执行过滤器 (2)执行放行后的资源 (3)回来执行过滤器放行代码下边的代码过滤器生命周期方法 (1)init:在服务器启动后,会创建Filter对象,然后调用init方法。只执行一次,用于加载资源。 (2)doFilter:每一次请求被拦截资源时,会执行,执行多次 (3)destroy:在服务器关闭后,Filter对象被销毁。如果服务器是正常关闭的,则会执行destroy方法,只执行一次,用于释放资源过滤器配置详解 (1)拦截路径的配置: 具体资源路径:/index.jsp 只有访问index.jsp资源时,过滤器才会被执行 拦截目录:/user/* 访问/user下的所有资源时,过滤器都会被执行 后缀名拦截:.jsp 访问所有后缀名为jsp资源时,过滤器都会被执行 拦截所有资源:/ (2)拦截方式的配置:资源被访问的方式 注解配置:设置dispatcherTypes属性 REQUEST:默认值。浏览器直接请求资源 FORWORD:转发访问资源 INCLUDE:包含访问资源 ERROR:错误跳转资源 ASYNC:异步访问资源

web.xml配置 设置标签即可

过滤器链(配置多个过滤器) 1.注解配置:按照类名的字符串比较规则比较,值小的先执行 如:AFilter和BFileter,AFilter就先执行了 2.web.xml配置:<filter-mapping>谁定义在上边,谁先执行

监听器

事件监听机制: 事件:一件事情 事件源:事情发生的地方 监听器:一个对象 注册监听:将事件、事件源、监听器绑定在一起。当事件源上发生某个事件后,执行监听器代码

ServletContextListener:监听ServletContext对象的创建和销毁: void contextDestroyed(ServletContextEvent sce):ServletContext对象被销毁之前会调用该方法 void contextInitialized(ServletContextEvent):ServletContext对象创建后会调用该方法

步骤: 1.定义一个类,实现ServletContextListenner接口 2.复写方法 3.配置: (1)web.xml

<listener> <listener-class>cn.itcast.web.listener.ContextLoaderListener</listener-class> </listener>

(2)注解 @WebListener

最新回复(0)