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