一 XML
二:过滤器(Filter)
功能:
@WebFilter("/demo01.do")
public class Demo01Filter implements Filter {@Overridepublic void init(FilterConfig filterConfig) throws ServletException {}@Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {System.out.println("helloA");//表示放行 这句话之上是请求发过来的时候没有到servlet之前需要执行的,即请求过程中filterChain.doFilter(servletRequest,servletResponse);//之后表示 放行之后需要执行的代码,即响应过程中System.out.println("helloA2");}@Overridepublic void destroy() {}
}
1.Filter也属于servlet规范,其中三个方法:init(),dofilter,destory
2.配置fiter可以用注解 @WebFilter也可以使用XML文件
3.在配置时也可以使用通配符 *.do 表示所有以.do结尾的请求
4.过滤器链:
@WebFilter("*.do")
public class Filter01 implements Filter {@Overridepublic void init(FilterConfig filterConfig) throws ServletException {}@Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {System.out.println("A");//表示放行 这句话之上是请求发过来的时候没有到servlet之前需要执行的filterChain.doFilter(servletRequest,servletResponse);//之后表示 放行之后需要执行的代码System.out.println("A2");}@Overridepublic void destroy() {}
}@WebFilter("*.do")
public class Filter02 implements Filter {@Overridepublic void init(FilterConfig filterConfig) throws ServletException {}@Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {System.out.println("B");//表示放行 这句话之上是请求发过来的时候没有到servlet之前需要执行的filterChain.doFilter(servletRequest,servletResponse);//之后表示 放行之后需要执行的代码System.out.println("B2");}@Overridepublic void destroy() {}
}
@WebFilter("*.do")
public class Filter03 implements Filter {@Overridepublic void init(FilterConfig filterConfig) throws ServletException {}@Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {System.out.println("C");//表示放行 这句话之上是请求发过来的时候没有到servlet之前需要执行的filterChain.doFilter(servletRequest,servletResponse);//之后表示 放行之后需要执行的代码System.out.println("C2");}@Overridepublic void destroy() {}
}
3.事务管理