diff --git a/spring-mvc-basics-4/.gitignore b/spring-web-modules/spring-mvc-basics-4/.gitignore
similarity index 100%
rename from spring-mvc-basics-4/.gitignore
rename to spring-web-modules/spring-mvc-basics-4/.gitignore
diff --git a/spring-mvc-basics-4/README.md b/spring-web-modules/spring-mvc-basics-4/README.md
similarity index 90%
rename from spring-mvc-basics-4/README.md
rename to spring-web-modules/spring-mvc-basics-4/README.md
index 0da83540ad..d0bca4a303 100644
--- a/spring-mvc-basics-4/README.md
+++ b/spring-web-modules/spring-mvc-basics-4/README.md
@@ -1,7 +1,7 @@
## Spring MVC Basics with Java Configuration Example Project
### The Course
-The "REST With Spring" Classes: http://bit.ly/restwithspring
+The "REST With Spring" Classes: https://bit.ly/restwithspring
### Relevant Articles:
- [Quick Guide to Spring Controllers](https://www.baeldung.com/spring-controllers)
diff --git a/spring-mvc-basics-4/pom.xml b/spring-web-modules/spring-mvc-basics-4/pom.xml
similarity index 95%
rename from spring-mvc-basics-4/pom.xml
rename to spring-web-modules/spring-mvc-basics-4/pom.xml
index 8382cd03b8..07dddcde0c 100644
--- a/spring-mvc-basics-4/pom.xml
+++ b/spring-web-modules/spring-mvc-basics-4/pom.xml
@@ -11,7 +11,7 @@
com.baeldung
parent-boot-2
0.0.1-SNAPSHOT
- ../parent-boot-2
+ ../../parent-boot-2
diff --git a/spring-mvc-basics-4/src/main/java/com/baeldung/contexts/Greeting.java b/spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/contexts/Greeting.java
similarity index 100%
rename from spring-mvc-basics-4/src/main/java/com/baeldung/contexts/Greeting.java
rename to spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/contexts/Greeting.java
diff --git a/spring-mvc-basics-4/src/main/java/com/baeldung/contexts/config/AnnotationsBasedApplicationAndServletInitializer.java b/spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/contexts/config/AnnotationsBasedApplicationAndServletInitializer.java
similarity index 100%
rename from spring-mvc-basics-4/src/main/java/com/baeldung/contexts/config/AnnotationsBasedApplicationAndServletInitializer.java
rename to spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/contexts/config/AnnotationsBasedApplicationAndServletInitializer.java
diff --git a/spring-mvc-basics-4/src/main/java/com/baeldung/contexts/config/AnnotationsBasedApplicationInitializer.java b/spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/contexts/config/AnnotationsBasedApplicationInitializer.java
similarity index 100%
rename from spring-mvc-basics-4/src/main/java/com/baeldung/contexts/config/AnnotationsBasedApplicationInitializer.java
rename to spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/contexts/config/AnnotationsBasedApplicationInitializer.java
diff --git a/spring-mvc-basics-4/src/main/java/com/baeldung/contexts/config/ApplicationInitializer.java b/spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/contexts/config/ApplicationInitializer.java
similarity index 100%
rename from spring-mvc-basics-4/src/main/java/com/baeldung/contexts/config/ApplicationInitializer.java
rename to spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/contexts/config/ApplicationInitializer.java
diff --git a/spring-mvc-basics-4/src/main/java/com/baeldung/contexts/config/NormalWebAppConfig.java b/spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/contexts/config/NormalWebAppConfig.java
similarity index 100%
rename from spring-mvc-basics-4/src/main/java/com/baeldung/contexts/config/NormalWebAppConfig.java
rename to spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/contexts/config/NormalWebAppConfig.java
diff --git a/spring-mvc-basics-4/src/main/java/com/baeldung/contexts/config/RootApplicationConfig.java b/spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/contexts/config/RootApplicationConfig.java
similarity index 100%
rename from spring-mvc-basics-4/src/main/java/com/baeldung/contexts/config/RootApplicationConfig.java
rename to spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/contexts/config/RootApplicationConfig.java
diff --git a/spring-mvc-basics-4/src/main/java/com/baeldung/contexts/config/SecureAnnotationsBasedApplicationAndServletInitializer.java b/spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/contexts/config/SecureAnnotationsBasedApplicationAndServletInitializer.java
similarity index 100%
rename from spring-mvc-basics-4/src/main/java/com/baeldung/contexts/config/SecureAnnotationsBasedApplicationAndServletInitializer.java
rename to spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/contexts/config/SecureAnnotationsBasedApplicationAndServletInitializer.java
diff --git a/spring-mvc-basics-4/src/main/java/com/baeldung/contexts/config/SecureWebAppConfig.java b/spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/contexts/config/SecureWebAppConfig.java
similarity index 100%
rename from spring-mvc-basics-4/src/main/java/com/baeldung/contexts/config/SecureWebAppConfig.java
rename to spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/contexts/config/SecureWebAppConfig.java
diff --git a/spring-mvc-basics-4/src/main/java/com/baeldung/contexts/normal/HelloWorldController.java b/spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/contexts/normal/HelloWorldController.java
similarity index 100%
rename from spring-mvc-basics-4/src/main/java/com/baeldung/contexts/normal/HelloWorldController.java
rename to spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/contexts/normal/HelloWorldController.java
diff --git a/spring-mvc-basics-4/src/main/java/com/baeldung/contexts/secure/HelloWorldSecureController.java b/spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/contexts/secure/HelloWorldSecureController.java
similarity index 100%
rename from spring-mvc-basics-4/src/main/java/com/baeldung/contexts/secure/HelloWorldSecureController.java
rename to spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/contexts/secure/HelloWorldSecureController.java
diff --git a/spring-mvc-basics-4/src/main/java/com/baeldung/contexts/services/ApplicationContextUtilService.java b/spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/contexts/services/ApplicationContextUtilService.java
similarity index 100%
rename from spring-mvc-basics-4/src/main/java/com/baeldung/contexts/services/ApplicationContextUtilService.java
rename to spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/contexts/services/ApplicationContextUtilService.java
diff --git a/spring-mvc-basics-4/src/main/java/com/baeldung/contexts/services/GreeterService.java b/spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/contexts/services/GreeterService.java
similarity index 100%
rename from spring-mvc-basics-4/src/main/java/com/baeldung/contexts/services/GreeterService.java
rename to spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/contexts/services/GreeterService.java
diff --git a/spring-mvc-basics-4/src/main/java/com/baeldung/controller/config/StudentControllerConfig.java b/spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/controller/config/StudentControllerConfig.java
similarity index 100%
rename from spring-mvc-basics-4/src/main/java/com/baeldung/controller/config/StudentControllerConfig.java
rename to spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/controller/config/StudentControllerConfig.java
diff --git a/spring-mvc-basics-4/src/main/java/com/baeldung/controller/config/WebConfig.java b/spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/controller/config/WebConfig.java
similarity index 100%
rename from spring-mvc-basics-4/src/main/java/com/baeldung/controller/config/WebConfig.java
rename to spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/controller/config/WebConfig.java
diff --git a/spring-mvc-basics-4/src/main/java/com/baeldung/controller/controller/PassParametersController.java b/spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/controller/controller/PassParametersController.java
similarity index 100%
rename from spring-mvc-basics-4/src/main/java/com/baeldung/controller/controller/PassParametersController.java
rename to spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/controller/controller/PassParametersController.java
diff --git a/spring-mvc-basics-4/src/main/java/com/baeldung/controller/controller/RestAnnotatedController.java b/spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/controller/controller/RestAnnotatedController.java
similarity index 100%
rename from spring-mvc-basics-4/src/main/java/com/baeldung/controller/controller/RestAnnotatedController.java
rename to spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/controller/controller/RestAnnotatedController.java
diff --git a/spring-mvc-basics-4/src/main/java/com/baeldung/controller/controller/RestController.java b/spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/controller/controller/RestController.java
similarity index 100%
rename from spring-mvc-basics-4/src/main/java/com/baeldung/controller/controller/RestController.java
rename to spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/controller/controller/RestController.java
diff --git a/spring-mvc-basics-4/src/main/java/com/baeldung/controller/controller/TestController.java b/spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/controller/controller/TestController.java
similarity index 100%
rename from spring-mvc-basics-4/src/main/java/com/baeldung/controller/controller/TestController.java
rename to spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/controller/controller/TestController.java
diff --git a/spring-mvc-basics-4/src/main/java/com/baeldung/controller/student/Student.java b/spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/controller/student/Student.java
similarity index 100%
rename from spring-mvc-basics-4/src/main/java/com/baeldung/controller/student/Student.java
rename to spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/controller/student/Student.java
diff --git a/spring-mvc-basics-4/src/main/java/com/baeldung/jsonparams/config/JsonParamsConfig.java b/spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/jsonparams/config/JsonParamsConfig.java
similarity index 100%
rename from spring-mvc-basics-4/src/main/java/com/baeldung/jsonparams/config/JsonParamsConfig.java
rename to spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/jsonparams/config/JsonParamsConfig.java
diff --git a/spring-mvc-basics-4/src/main/java/com/baeldung/jsonparams/config/JsonParamsInit.java b/spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/jsonparams/config/JsonParamsInit.java
similarity index 100%
rename from spring-mvc-basics-4/src/main/java/com/baeldung/jsonparams/config/JsonParamsInit.java
rename to spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/jsonparams/config/JsonParamsInit.java
diff --git a/spring-mvc-basics-4/src/main/java/com/baeldung/jsonparams/controller/ProductController.java b/spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/jsonparams/controller/ProductController.java
similarity index 100%
rename from spring-mvc-basics-4/src/main/java/com/baeldung/jsonparams/controller/ProductController.java
rename to spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/jsonparams/controller/ProductController.java
diff --git a/spring-mvc-basics-4/src/main/java/com/baeldung/jsonparams/model/Product.java b/spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/jsonparams/model/Product.java
similarity index 100%
rename from spring-mvc-basics-4/src/main/java/com/baeldung/jsonparams/model/Product.java
rename to spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/jsonparams/model/Product.java
diff --git a/spring-mvc-basics-4/src/main/java/com/baeldung/jsonparams/propertyeditor/ProductEditor.java b/spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/jsonparams/propertyeditor/ProductEditor.java
similarity index 100%
rename from spring-mvc-basics-4/src/main/java/com/baeldung/jsonparams/propertyeditor/ProductEditor.java
rename to spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/jsonparams/propertyeditor/ProductEditor.java
diff --git a/spring-mvc-basics-4/src/main/java/com/baeldung/optionalpathvars/Article.java b/spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/optionalpathvars/Article.java
similarity index 100%
rename from spring-mvc-basics-4/src/main/java/com/baeldung/optionalpathvars/Article.java
rename to spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/optionalpathvars/Article.java
diff --git a/spring-mvc-basics-4/src/main/java/com/baeldung/optionalpathvars/ArticleViewerController.java b/spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/optionalpathvars/ArticleViewerController.java
similarity index 100%
rename from spring-mvc-basics-4/src/main/java/com/baeldung/optionalpathvars/ArticleViewerController.java
rename to spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/optionalpathvars/ArticleViewerController.java
diff --git a/spring-mvc-basics-4/src/main/java/com/baeldung/optionalpathvars/ArticleViewerWithMapParamController.java b/spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/optionalpathvars/ArticleViewerWithMapParamController.java
similarity index 100%
rename from spring-mvc-basics-4/src/main/java/com/baeldung/optionalpathvars/ArticleViewerWithMapParamController.java
rename to spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/optionalpathvars/ArticleViewerWithMapParamController.java
diff --git a/spring-mvc-basics-4/src/main/java/com/baeldung/optionalpathvars/ArticleViewerWithOptionalParamController.java b/spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/optionalpathvars/ArticleViewerWithOptionalParamController.java
similarity index 100%
rename from spring-mvc-basics-4/src/main/java/com/baeldung/optionalpathvars/ArticleViewerWithOptionalParamController.java
rename to spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/optionalpathvars/ArticleViewerWithOptionalParamController.java
diff --git a/spring-mvc-basics-4/src/main/java/com/baeldung/optionalpathvars/ArticleViewerWithRequiredAttributeController.java b/spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/optionalpathvars/ArticleViewerWithRequiredAttributeController.java
similarity index 100%
rename from spring-mvc-basics-4/src/main/java/com/baeldung/optionalpathvars/ArticleViewerWithRequiredAttributeController.java
rename to spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/optionalpathvars/ArticleViewerWithRequiredAttributeController.java
diff --git a/spring-mvc-basics-4/src/main/java/com/baeldung/optionalpathvars/ArticleViewerWithTwoSeparateMethodsController.java b/spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/optionalpathvars/ArticleViewerWithTwoSeparateMethodsController.java
similarity index 100%
rename from spring-mvc-basics-4/src/main/java/com/baeldung/optionalpathvars/ArticleViewerWithTwoSeparateMethodsController.java
rename to spring-web-modules/spring-mvc-basics-4/src/main/java/com/baeldung/optionalpathvars/ArticleViewerWithTwoSeparateMethodsController.java
diff --git a/spring-mvc-basics-4/src/main/resources/application.properties b/spring-web-modules/spring-mvc-basics-4/src/main/resources/application.properties
similarity index 100%
rename from spring-mvc-basics-4/src/main/resources/application.properties
rename to spring-web-modules/spring-mvc-basics-4/src/main/resources/application.properties
diff --git a/spring-mvc-basics-4/src/main/resources/logback.xml b/spring-web-modules/spring-mvc-basics-4/src/main/resources/logback.xml
similarity index 100%
rename from spring-mvc-basics-4/src/main/resources/logback.xml
rename to spring-web-modules/spring-mvc-basics-4/src/main/resources/logback.xml
diff --git a/spring-mvc-basics-4/src/main/resources/test-mvc.xml b/spring-web-modules/spring-mvc-basics-4/src/main/resources/test-mvc.xml
similarity index 100%
rename from spring-mvc-basics-4/src/main/resources/test-mvc.xml
rename to spring-web-modules/spring-mvc-basics-4/src/main/resources/test-mvc.xml
diff --git a/spring-mvc-basics-4/src/main/webapp/WEB-INF/greeting.xml b/spring-web-modules/spring-mvc-basics-4/src/main/webapp/WEB-INF/greeting.xml
similarity index 100%
rename from spring-mvc-basics-4/src/main/webapp/WEB-INF/greeting.xml
rename to spring-web-modules/spring-mvc-basics-4/src/main/webapp/WEB-INF/greeting.xml
diff --git a/spring-mvc-basics-4/src/main/webapp/WEB-INF/index.jsp b/spring-web-modules/spring-mvc-basics-4/src/main/webapp/WEB-INF/index.jsp
similarity index 100%
rename from spring-mvc-basics-4/src/main/webapp/WEB-INF/index.jsp
rename to spring-web-modules/spring-mvc-basics-4/src/main/webapp/WEB-INF/index.jsp
diff --git a/spring-mvc-basics-4/src/main/webapp/WEB-INF/normal-webapp-servlet.xml b/spring-web-modules/spring-mvc-basics-4/src/main/webapp/WEB-INF/normal-webapp-servlet.xml
similarity index 100%
rename from spring-mvc-basics-4/src/main/webapp/WEB-INF/normal-webapp-servlet.xml
rename to spring-web-modules/spring-mvc-basics-4/src/main/webapp/WEB-INF/normal-webapp-servlet.xml
diff --git a/spring-mvc-basics-4/src/main/webapp/WEB-INF/rootApplicationContext.xml b/spring-web-modules/spring-mvc-basics-4/src/main/webapp/WEB-INF/rootApplicationContext.xml
similarity index 100%
rename from spring-mvc-basics-4/src/main/webapp/WEB-INF/rootApplicationContext.xml
rename to spring-web-modules/spring-mvc-basics-4/src/main/webapp/WEB-INF/rootApplicationContext.xml
diff --git a/spring-mvc-basics-4/src/main/webapp/WEB-INF/secure-webapp-servlet.xml b/spring-web-modules/spring-mvc-basics-4/src/main/webapp/WEB-INF/secure-webapp-servlet.xml
similarity index 100%
rename from spring-mvc-basics-4/src/main/webapp/WEB-INF/secure-webapp-servlet.xml
rename to spring-web-modules/spring-mvc-basics-4/src/main/webapp/WEB-INF/secure-webapp-servlet.xml
diff --git a/spring-mvc-basics-4/src/main/webapp/WEB-INF/secure/view/welcome.jsp b/spring-web-modules/spring-mvc-basics-4/src/main/webapp/WEB-INF/secure/view/welcome.jsp
similarity index 100%
rename from spring-mvc-basics-4/src/main/webapp/WEB-INF/secure/view/welcome.jsp
rename to spring-web-modules/spring-mvc-basics-4/src/main/webapp/WEB-INF/secure/view/welcome.jsp
diff --git a/spring-mvc-basics-4/src/main/webapp/WEB-INF/view/sample.jsp b/spring-web-modules/spring-mvc-basics-4/src/main/webapp/WEB-INF/view/sample.jsp
similarity index 100%
rename from spring-mvc-basics-4/src/main/webapp/WEB-INF/view/sample.jsp
rename to spring-web-modules/spring-mvc-basics-4/src/main/webapp/WEB-INF/view/sample.jsp
diff --git a/spring-mvc-basics-4/src/main/webapp/WEB-INF/view/scopesExample.jsp b/spring-web-modules/spring-mvc-basics-4/src/main/webapp/WEB-INF/view/scopesExample.jsp
similarity index 100%
rename from spring-mvc-basics-4/src/main/webapp/WEB-INF/view/scopesExample.jsp
rename to spring-web-modules/spring-mvc-basics-4/src/main/webapp/WEB-INF/view/scopesExample.jsp
diff --git a/spring-mvc-basics-4/src/main/webapp/WEB-INF/view/viewPage.html b/spring-web-modules/spring-mvc-basics-4/src/main/webapp/WEB-INF/view/viewPage.html
similarity index 100%
rename from spring-mvc-basics-4/src/main/webapp/WEB-INF/view/viewPage.html
rename to spring-web-modules/spring-mvc-basics-4/src/main/webapp/WEB-INF/view/viewPage.html
diff --git a/spring-mvc-basics-4/src/main/webapp/WEB-INF/view/welcome.jsp b/spring-web-modules/spring-mvc-basics-4/src/main/webapp/WEB-INF/view/welcome.jsp
similarity index 100%
rename from spring-mvc-basics-4/src/main/webapp/WEB-INF/view/welcome.jsp
rename to spring-web-modules/spring-mvc-basics-4/src/main/webapp/WEB-INF/view/welcome.jsp
diff --git a/spring-mvc-basics-4/src/main/webapp/WEB-INF/web-old.xml b/spring-web-modules/spring-mvc-basics-4/src/main/webapp/WEB-INF/web-old.xml
similarity index 100%
rename from spring-mvc-basics-4/src/main/webapp/WEB-INF/web-old.xml
rename to spring-web-modules/spring-mvc-basics-4/src/main/webapp/WEB-INF/web-old.xml
diff --git a/spring-mvc-basics-4/src/main/webapp/WEB-INF/welcome.jsp b/spring-web-modules/spring-mvc-basics-4/src/main/webapp/WEB-INF/welcome.jsp
similarity index 100%
rename from spring-mvc-basics-4/src/main/webapp/WEB-INF/welcome.jsp
rename to spring-web-modules/spring-mvc-basics-4/src/main/webapp/WEB-INF/welcome.jsp
diff --git a/spring-mvc-basics-4/src/main/webapp/index.jsp b/spring-web-modules/spring-mvc-basics-4/src/main/webapp/index.jsp
similarity index 100%
rename from spring-mvc-basics-4/src/main/webapp/index.jsp
rename to spring-web-modules/spring-mvc-basics-4/src/main/webapp/index.jsp
diff --git a/spring-mvc-basics-4/src/test/java/com/baeldung/controller/ControllerAnnotationIntegrationTest.java b/spring-web-modules/spring-mvc-basics-4/src/test/java/com/baeldung/controller/ControllerAnnotationIntegrationTest.java
similarity index 100%
rename from spring-mvc-basics-4/src/test/java/com/baeldung/controller/ControllerAnnotationIntegrationTest.java
rename to spring-web-modules/spring-mvc-basics-4/src/test/java/com/baeldung/controller/ControllerAnnotationIntegrationTest.java
diff --git a/spring-mvc-basics-4/src/test/java/com/baeldung/controller/ControllerIntegrationTest.java b/spring-web-modules/spring-mvc-basics-4/src/test/java/com/baeldung/controller/ControllerIntegrationTest.java
similarity index 100%
rename from spring-mvc-basics-4/src/test/java/com/baeldung/controller/ControllerIntegrationTest.java
rename to spring-web-modules/spring-mvc-basics-4/src/test/java/com/baeldung/controller/ControllerIntegrationTest.java
diff --git a/spring-mvc-basics-4/src/test/java/com/baeldung/controller/PassParametersControllerIntegrationTest.java b/spring-web-modules/spring-mvc-basics-4/src/test/java/com/baeldung/controller/PassParametersControllerIntegrationTest.java
similarity index 100%
rename from spring-mvc-basics-4/src/test/java/com/baeldung/controller/PassParametersControllerIntegrationTest.java
rename to spring-web-modules/spring-mvc-basics-4/src/test/java/com/baeldung/controller/PassParametersControllerIntegrationTest.java
diff --git a/spring-mvc-basics-4/src/test/java/com/baeldung/jsonparams/JsonParamsIntegrationTest.java b/spring-web-modules/spring-mvc-basics-4/src/test/java/com/baeldung/jsonparams/JsonParamsIntegrationTest.java
similarity index 100%
rename from spring-mvc-basics-4/src/test/java/com/baeldung/jsonparams/JsonParamsIntegrationTest.java
rename to spring-web-modules/spring-mvc-basics-4/src/test/java/com/baeldung/jsonparams/JsonParamsIntegrationTest.java
diff --git a/spring-mvc-basics-4/src/test/java/com/baeldung/optionalpathvars/ArticleViewerControllerIntegrationTest.java b/spring-web-modules/spring-mvc-basics-4/src/test/java/com/baeldung/optionalpathvars/ArticleViewerControllerIntegrationTest.java
similarity index 100%
rename from spring-mvc-basics-4/src/test/java/com/baeldung/optionalpathvars/ArticleViewerControllerIntegrationTest.java
rename to spring-web-modules/spring-mvc-basics-4/src/test/java/com/baeldung/optionalpathvars/ArticleViewerControllerIntegrationTest.java
diff --git a/spring-mvc-basics-4/src/test/java/com/baeldung/optionalpathvars/ArticleViewerControllerWithOptionalParamIntegrationTest.java b/spring-web-modules/spring-mvc-basics-4/src/test/java/com/baeldung/optionalpathvars/ArticleViewerControllerWithOptionalParamIntegrationTest.java
similarity index 100%
rename from spring-mvc-basics-4/src/test/java/com/baeldung/optionalpathvars/ArticleViewerControllerWithOptionalParamIntegrationTest.java
rename to spring-web-modules/spring-mvc-basics-4/src/test/java/com/baeldung/optionalpathvars/ArticleViewerControllerWithOptionalParamIntegrationTest.java
diff --git a/spring-mvc-basics-4/src/test/java/com/baeldung/optionalpathvars/ArticleViewerControllerWithRequiredAttributeIntegrationTest.java b/spring-web-modules/spring-mvc-basics-4/src/test/java/com/baeldung/optionalpathvars/ArticleViewerControllerWithRequiredAttributeIntegrationTest.java
similarity index 100%
rename from spring-mvc-basics-4/src/test/java/com/baeldung/optionalpathvars/ArticleViewerControllerWithRequiredAttributeIntegrationTest.java
rename to spring-web-modules/spring-mvc-basics-4/src/test/java/com/baeldung/optionalpathvars/ArticleViewerControllerWithRequiredAttributeIntegrationTest.java
diff --git a/spring-mvc-basics-4/src/test/java/com/baeldung/optionalpathvars/ArticleViewerWithMapParamIntegrationTest.java b/spring-web-modules/spring-mvc-basics-4/src/test/java/com/baeldung/optionalpathvars/ArticleViewerWithMapParamIntegrationTest.java
similarity index 100%
rename from spring-mvc-basics-4/src/test/java/com/baeldung/optionalpathvars/ArticleViewerWithMapParamIntegrationTest.java
rename to spring-web-modules/spring-mvc-basics-4/src/test/java/com/baeldung/optionalpathvars/ArticleViewerWithMapParamIntegrationTest.java
diff --git a/spring-mvc-basics-4/src/test/java/com/baeldung/optionalpathvars/ArticleViewerWithTwoSeparateMethodsIntegrationTest.java b/spring-web-modules/spring-mvc-basics-4/src/test/java/com/baeldung/optionalpathvars/ArticleViewerWithTwoSeparateMethodsIntegrationTest.java
similarity index 100%
rename from spring-mvc-basics-4/src/test/java/com/baeldung/optionalpathvars/ArticleViewerWithTwoSeparateMethodsIntegrationTest.java
rename to spring-web-modules/spring-mvc-basics-4/src/test/java/com/baeldung/optionalpathvars/ArticleViewerWithTwoSeparateMethodsIntegrationTest.java
diff --git a/spring-mvc-basics-4/src/test/resources/test-mvc.xml b/spring-web-modules/spring-mvc-basics-4/src/test/resources/test-mvc.xml
similarity index 100%
rename from spring-mvc-basics-4/src/test/resources/test-mvc.xml
rename to spring-web-modules/spring-mvc-basics-4/src/test/resources/test-mvc.xml