Java Servlet3.0动态注册Filter

yzmm
631 阅读

Servlet3.0 API允许用户在代码里面动态注册Servlet和Filter,Tomcat7默认支持3.0。

配置:

<listener>
<listener-class>org.javaweb.filter.TestListener</listener-class>
</listener>

TestListener内容:

package org.javaweb.filter;
import java.util.EnumSet;
import java.util.logging.Logger;
import javax.servlet.DispatcherType;
import javax.servlet.FilterRegistration;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class TestListener implements ServletContextListener{
	private Logger logger = Logger.getLogger("javaweb");
	public void contextDestroyed(ServletContextEvent arg0) {
		logger.info("Context Destroyed......");
	}
	public void contextInitialized(ServletContextEvent sce) {
		ServletContext sc = sce.getServletContext();
		FilterRegistration.Dynamic filter = sc.addFilter("TestFilter","org.javaweb.test.filter.TestFilter");
		EnumSet<DispatcherType> disps = EnumSet.of(DispatcherType.REQUEST,DispatcherType.FORWARD);
		filter.addMappingForUrlPatterns(disps, true, "/*");
	}
}

评论 (0)

发表评论