Skip to content

Latest commit

 

History

History
89 lines (64 loc) · 2.32 KB

README_zh_CN.md

File metadata and controls

89 lines (64 loc) · 2.32 KB

Au

Maven Central License GitHub release

Au是一个filter框架,它是在servlet-filter的基础上进行扩展,提供拦截器行为式的前置过滤与后置过滤,同时亦提供了对request的多次读取,以及对response的包装。

Architecture

Au的架构如下:

architecture_diagram

Environment

Au 环境依赖如下:

Au Java servlet-api
1.x 1.8+ javax.servlet-api:>=4.0.0
2.x 1.8+ jakarta.servlet-api:>=5.0.0
3.x 17+ jakarta.servlet-api:>=5.0.0

Quick Start

完整的使用案例可查看au-example

Maven dependency

<dependency>
  <groupId>com.lazycece.au</groupId>
  <artifactId>au-core</artifactId>
  <version>${au.core.version}</version>
</dependency>

Filter

定义filter,并且实现AuFilter:

public class SimpleAuFilter implements AuFilter {

    @Override
    public String name() {
        return "simple-filter";
    }

    @Override
    public boolean preHandle() throws Exception {
        // pre handle
        return true;
    }

    @Override
    public void postHandle() throws Exception {
        // post-handle
    }
}

注入AuFilter,同时可设置过滤器的相关策略:

    AuManager auManager = AuManager.getInstance();
    auManager.addAuFilter(SimpleAuFilter.class)
            .excludePatterns("/a/b")
            .includePatterns("/**")
            .order(1);
    auManager.setWrapper(true);

Enable Au

AuServletFilter注入到Servlet中,下面以在jetty中使用为例:

    ServletContextHandler contextHandler = new ServletContextHandler();
    contextHandler.setContextPath("/au");
    server.setHandler(contextHandler);
    contextHandler.addServlet(ExampleServlet.class, "/*");
    contextHandler.addFilter(AuServletFilter.class, "/*", EnumSet.of(DispatcherType.REQUEST));

License

Apache-2.0