diff --git a/spring-mvc-basics-3/README.md b/spring-web-modules/spring-mvc-basics-3/README.md
similarity index 100%
rename from spring-mvc-basics-3/README.md
rename to spring-web-modules/spring-mvc-basics-3/README.md
diff --git a/spring-mvc-basics-3/pom.xml b/spring-web-modules/spring-mvc-basics-3/pom.xml
similarity index 98%
rename from spring-mvc-basics-3/pom.xml
rename to spring-web-modules/spring-mvc-basics-3/pom.xml
index a929337b25..c6b7763d64 100644
--- a/spring-mvc-basics-3/pom.xml
+++ b/spring-web-modules/spring-mvc-basics-3/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-3/src/main/java/com/baeldung/boot/Application.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/Application.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/boot/Application.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/Application.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/boot/config/WebConfig.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/config/WebConfig.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/boot/config/WebConfig.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/config/WebConfig.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/boot/controller/GenericEntityController.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/controller/GenericEntityController.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/boot/controller/GenericEntityController.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/controller/GenericEntityController.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/boot/converter/GenericBigDecimalConverter.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/converter/GenericBigDecimalConverter.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/boot/converter/GenericBigDecimalConverter.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/converter/GenericBigDecimalConverter.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/boot/converter/StringToAbstractEntityConverterFactory.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/converter/StringToAbstractEntityConverterFactory.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/boot/converter/StringToAbstractEntityConverterFactory.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/converter/StringToAbstractEntityConverterFactory.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/boot/converter/StringToEmployeeConverter.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/converter/StringToEmployeeConverter.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/boot/converter/StringToEmployeeConverter.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/converter/StringToEmployeeConverter.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/boot/converter/StringToEnumConverter.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/converter/StringToEnumConverter.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/boot/converter/StringToEnumConverter.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/converter/StringToEnumConverter.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/boot/converter/StringToLocalDateTimeConverter.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/converter/StringToLocalDateTimeConverter.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/boot/converter/StringToLocalDateTimeConverter.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/converter/StringToLocalDateTimeConverter.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/boot/converter/controller/AbstractEntityController.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/converter/controller/AbstractEntityController.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/boot/converter/controller/AbstractEntityController.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/converter/controller/AbstractEntityController.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/boot/converter/controller/StringToEmployeeConverterController.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/converter/controller/StringToEmployeeConverterController.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/boot/converter/controller/StringToEmployeeConverterController.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/converter/controller/StringToEmployeeConverterController.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/boot/domain/AbstractEntity.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/domain/AbstractEntity.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/boot/domain/AbstractEntity.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/domain/AbstractEntity.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/boot/domain/Bar.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/domain/Bar.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/boot/domain/Bar.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/domain/Bar.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/boot/domain/Employee.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/domain/Employee.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/boot/domain/Employee.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/domain/Employee.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/boot/domain/Foo.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/domain/Foo.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/boot/domain/Foo.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/domain/Foo.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/boot/domain/GenericEntity.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/domain/GenericEntity.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/boot/domain/GenericEntity.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/domain/GenericEntity.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/boot/domain/Modes.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/domain/Modes.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/boot/domain/Modes.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/domain/Modes.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/boot/repository/GenericEntityRepository.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/repository/GenericEntityRepository.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/boot/repository/GenericEntityRepository.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/repository/GenericEntityRepository.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/boot/web/resolver/HeaderVersionArgumentResolver.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/web/resolver/HeaderVersionArgumentResolver.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/boot/web/resolver/HeaderVersionArgumentResolver.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/web/resolver/HeaderVersionArgumentResolver.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/boot/web/resolver/Version.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/web/resolver/Version.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/boot/web/resolver/Version.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/boot/web/resolver/Version.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/cachedrequest/CachedBodyHttpServletRequest.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/cachedrequest/CachedBodyHttpServletRequest.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/cachedrequest/CachedBodyHttpServletRequest.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/cachedrequest/CachedBodyHttpServletRequest.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/cachedrequest/CachedBodyServletInputStream.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/cachedrequest/CachedBodyServletInputStream.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/cachedrequest/CachedBodyServletInputStream.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/cachedrequest/CachedBodyServletInputStream.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/cachedrequest/ContentCachingFilter.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/cachedrequest/ContentCachingFilter.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/cachedrequest/ContentCachingFilter.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/cachedrequest/ContentCachingFilter.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/cachedrequest/HttpRequestDemoConfig.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/cachedrequest/HttpRequestDemoConfig.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/cachedrequest/HttpRequestDemoConfig.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/cachedrequest/HttpRequestDemoConfig.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/cachedrequest/Person.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/cachedrequest/Person.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/cachedrequest/Person.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/cachedrequest/Person.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/cachedrequest/PersonController.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/cachedrequest/PersonController.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/cachedrequest/PersonController.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/cachedrequest/PersonController.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/cachedrequest/PrintRequestContentFilter.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/cachedrequest/PrintRequestContentFilter.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/cachedrequest/PrintRequestContentFilter.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/cachedrequest/PrintRequestContentFilter.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/exclude_urls_filter/Application.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/exclude_urls_filter/Application.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/exclude_urls_filter/Application.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/exclude_urls_filter/Application.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/exclude_urls_filter/controller/FAQController.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/exclude_urls_filter/controller/FAQController.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/exclude_urls_filter/controller/FAQController.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/exclude_urls_filter/controller/FAQController.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/exclude_urls_filter/controller/Ping.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/exclude_urls_filter/controller/Ping.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/exclude_urls_filter/controller/Ping.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/exclude_urls_filter/controller/Ping.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/exclude_urls_filter/filter/FilterRegistrationConfig.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/exclude_urls_filter/filter/FilterRegistrationConfig.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/exclude_urls_filter/filter/FilterRegistrationConfig.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/exclude_urls_filter/filter/FilterRegistrationConfig.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/exclude_urls_filter/filter/HeaderValidatorFilter.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/exclude_urls_filter/filter/HeaderValidatorFilter.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/exclude_urls_filter/filter/HeaderValidatorFilter.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/exclude_urls_filter/filter/HeaderValidatorFilter.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/exclude_urls_filter/filter/LogFilter.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/exclude_urls_filter/filter/LogFilter.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/exclude_urls_filter/filter/LogFilter.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/exclude_urls_filter/filter/LogFilter.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/exclude_urls_filter/service/FAQService.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/exclude_urls_filter/service/FAQService.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/exclude_urls_filter/service/FAQService.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/exclude_urls_filter/service/FAQService.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/exclude_urls_filter/service/FAQServiceImpl.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/exclude_urls_filter/service/FAQServiceImpl.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/exclude_urls_filter/service/FAQServiceImpl.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/exclude_urls_filter/service/FAQServiceImpl.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/flash_attributes/Application.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/flash_attributes/Application.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/flash_attributes/Application.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/flash_attributes/Application.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/flash_attributes/controllers/PoemSubmission.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/flash_attributes/controllers/PoemSubmission.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/flash_attributes/controllers/PoemSubmission.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/flash_attributes/controllers/PoemSubmission.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/flash_attributes/model/Poem.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/flash_attributes/model/Poem.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/flash_attributes/model/Poem.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/flash_attributes/model/Poem.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/form_submission/Application.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/form_submission/Application.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/form_submission/Application.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/form_submission/Application.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/form_submission/controllers/FeedbackForm.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/form_submission/controllers/FeedbackForm.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/form_submission/controllers/FeedbackForm.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/form_submission/controllers/FeedbackForm.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/form_submission/model/Feedback.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/form_submission/model/Feedback.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/form_submission/model/Feedback.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/form_submission/model/Feedback.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/interpolation/MyMessageInterpolator.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/interpolation/MyMessageInterpolator.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/interpolation/MyMessageInterpolator.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/interpolation/MyMessageInterpolator.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/interpolation/NotNullRequest.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/interpolation/NotNullRequest.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/interpolation/NotNullRequest.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/interpolation/NotNullRequest.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/interpolation/ValidationController.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/interpolation/ValidationController.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/interpolation/ValidationController.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/interpolation/ValidationController.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/interpolation/ValidationExamples.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/interpolation/ValidationExamples.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/interpolation/ValidationExamples.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/interpolation/ValidationExamples.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/spring/Application.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/spring/Application.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/spring/Application.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/spring/Application.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/spring/config/MvcConfig.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/spring/config/MvcConfig.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/spring/config/MvcConfig.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/spring/config/MvcConfig.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/spring/config/converter/StringToEnumConverter.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/spring/config/converter/StringToEnumConverter.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/spring/config/converter/StringToEnumConverter.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/spring/config/converter/StringToEnumConverter.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/spring/enums/EnumController.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/spring/enums/EnumController.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/spring/enums/EnumController.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/spring/enums/EnumController.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/spring/exceptions/GlobalControllerExceptionHandler.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/spring/exceptions/GlobalControllerExceptionHandler.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/spring/exceptions/GlobalControllerExceptionHandler.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/spring/exceptions/GlobalControllerExceptionHandler.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/spring/headers/controller/ReadHeaderRestController.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/spring/headers/controller/ReadHeaderRestController.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/spring/headers/controller/ReadHeaderRestController.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/spring/headers/controller/ReadHeaderRestController.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/spring/model/Modes.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/spring/model/Modes.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/spring/model/Modes.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/spring/model/Modes.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/spring/slash/Application.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/spring/slash/Application.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/spring/slash/Application.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/spring/slash/Application.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/spring/slash/SlashParsingController.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/spring/slash/SlashParsingController.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/spring/slash/SlashParsingController.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/spring/slash/SlashParsingController.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/validation/listvalidation/SpringListValidationApplication.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/validation/listvalidation/SpringListValidationApplication.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/validation/listvalidation/SpringListValidationApplication.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/validation/listvalidation/SpringListValidationApplication.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/validation/listvalidation/constraint/MaxSizeConstraint.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/validation/listvalidation/constraint/MaxSizeConstraint.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/validation/listvalidation/constraint/MaxSizeConstraint.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/validation/listvalidation/constraint/MaxSizeConstraint.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/validation/listvalidation/constraint/MaxSizeConstraintValidator.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/validation/listvalidation/constraint/MaxSizeConstraintValidator.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/validation/listvalidation/constraint/MaxSizeConstraintValidator.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/validation/listvalidation/constraint/MaxSizeConstraintValidator.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/validation/listvalidation/controller/MovieController.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/validation/listvalidation/controller/MovieController.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/validation/listvalidation/controller/MovieController.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/validation/listvalidation/controller/MovieController.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/validation/listvalidation/exception/ConstraintViolationExceptionHandler.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/validation/listvalidation/exception/ConstraintViolationExceptionHandler.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/validation/listvalidation/exception/ConstraintViolationExceptionHandler.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/validation/listvalidation/exception/ConstraintViolationExceptionHandler.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/validation/listvalidation/model/Movie.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/validation/listvalidation/model/Movie.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/validation/listvalidation/model/Movie.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/validation/listvalidation/model/Movie.java
diff --git a/spring-mvc-basics-3/src/main/java/com/baeldung/validation/listvalidation/service/MovieService.java b/spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/validation/listvalidation/service/MovieService.java
similarity index 100%
rename from spring-mvc-basics-3/src/main/java/com/baeldung/validation/listvalidation/service/MovieService.java
rename to spring-web-modules/spring-mvc-basics-3/src/main/java/com/baeldung/validation/listvalidation/service/MovieService.java
diff --git a/spring-mvc-basics-3/src/main/resources/application.properties b/spring-web-modules/spring-mvc-basics-3/src/main/resources/application.properties
similarity index 100%
rename from spring-mvc-basics-3/src/main/resources/application.properties
rename to spring-web-modules/spring-mvc-basics-3/src/main/resources/application.properties
diff --git a/spring-mvc-basics-3/src/main/resources/templates/feedback.html b/spring-web-modules/spring-mvc-basics-3/src/main/resources/templates/feedback.html
similarity index 100%
rename from spring-mvc-basics-3/src/main/resources/templates/feedback.html
rename to spring-web-modules/spring-mvc-basics-3/src/main/resources/templates/feedback.html
diff --git a/spring-mvc-basics-3/src/main/resources/templates/submit.html b/spring-web-modules/spring-mvc-basics-3/src/main/resources/templates/submit.html
similarity index 100%
rename from spring-mvc-basics-3/src/main/resources/templates/submit.html
rename to spring-web-modules/spring-mvc-basics-3/src/main/resources/templates/submit.html
diff --git a/spring-mvc-basics-3/src/main/resources/templates/success.html b/spring-web-modules/spring-mvc-basics-3/src/main/resources/templates/success.html
similarity index 100%
rename from spring-mvc-basics-3/src/main/resources/templates/success.html
rename to spring-web-modules/spring-mvc-basics-3/src/main/resources/templates/success.html
diff --git a/spring-mvc-basics-3/src/test/java/com/baeldung/AppContextIntegrationTest.java b/spring-web-modules/spring-mvc-basics-3/src/test/java/com/baeldung/AppContextIntegrationTest.java
similarity index 100%
rename from spring-mvc-basics-3/src/test/java/com/baeldung/AppContextIntegrationTest.java
rename to spring-web-modules/spring-mvc-basics-3/src/test/java/com/baeldung/AppContextIntegrationTest.java
diff --git a/spring-mvc-basics-3/src/test/java/com/baeldung/SpringBootApplicationIntegrationTest.java b/spring-web-modules/spring-mvc-basics-3/src/test/java/com/baeldung/SpringBootApplicationIntegrationTest.java
similarity index 100%
rename from spring-mvc-basics-3/src/test/java/com/baeldung/SpringBootApplicationIntegrationTest.java
rename to spring-web-modules/spring-mvc-basics-3/src/test/java/com/baeldung/SpringBootApplicationIntegrationTest.java
diff --git a/spring-mvc-basics-3/src/test/java/com/baeldung/SpringBootJPAIntegrationTest.java b/spring-web-modules/spring-mvc-basics-3/src/test/java/com/baeldung/SpringBootJPAIntegrationTest.java
similarity index 100%
rename from spring-mvc-basics-3/src/test/java/com/baeldung/SpringBootJPAIntegrationTest.java
rename to spring-web-modules/spring-mvc-basics-3/src/test/java/com/baeldung/SpringBootJPAIntegrationTest.java
diff --git a/spring-mvc-basics-3/src/test/java/com/baeldung/SpringBootMailIntegrationTest.java b/spring-web-modules/spring-mvc-basics-3/src/test/java/com/baeldung/SpringBootMailIntegrationTest.java
similarity index 100%
rename from spring-mvc-basics-3/src/test/java/com/baeldung/SpringBootMailIntegrationTest.java
rename to spring-web-modules/spring-mvc-basics-3/src/test/java/com/baeldung/SpringBootMailIntegrationTest.java
diff --git a/spring-mvc-basics-3/src/test/java/com/baeldung/cachedrequest/CachedBodyHttpServletRequestUnitTest.java b/spring-web-modules/spring-mvc-basics-3/src/test/java/com/baeldung/cachedrequest/CachedBodyHttpServletRequestUnitTest.java
similarity index 100%
rename from spring-mvc-basics-3/src/test/java/com/baeldung/cachedrequest/CachedBodyHttpServletRequestUnitTest.java
rename to spring-web-modules/spring-mvc-basics-3/src/test/java/com/baeldung/cachedrequest/CachedBodyHttpServletRequestUnitTest.java
diff --git a/spring-mvc-basics-3/src/test/java/com/baeldung/cachedrequest/CachedBodyServletInputStreamUnitTest.java b/spring-web-modules/spring-mvc-basics-3/src/test/java/com/baeldung/cachedrequest/CachedBodyServletInputStreamUnitTest.java
similarity index 100%
rename from spring-mvc-basics-3/src/test/java/com/baeldung/cachedrequest/CachedBodyServletInputStreamUnitTest.java
rename to spring-web-modules/spring-mvc-basics-3/src/test/java/com/baeldung/cachedrequest/CachedBodyServletInputStreamUnitTest.java
diff --git a/spring-mvc-basics-3/src/test/java/com/baeldung/cachedrequest/ContentCachingFilterUnitTest.java b/spring-web-modules/spring-mvc-basics-3/src/test/java/com/baeldung/cachedrequest/ContentCachingFilterUnitTest.java
similarity index 100%
rename from spring-mvc-basics-3/src/test/java/com/baeldung/cachedrequest/ContentCachingFilterUnitTest.java
rename to spring-web-modules/spring-mvc-basics-3/src/test/java/com/baeldung/cachedrequest/ContentCachingFilterUnitTest.java
diff --git a/spring-mvc-basics-3/src/test/java/com/baeldung/cachedrequest/PersonControllerIntegrationTest.java b/spring-web-modules/spring-mvc-basics-3/src/test/java/com/baeldung/cachedrequest/PersonControllerIntegrationTest.java
similarity index 100%
rename from spring-mvc-basics-3/src/test/java/com/baeldung/cachedrequest/PersonControllerIntegrationTest.java
rename to spring-web-modules/spring-mvc-basics-3/src/test/java/com/baeldung/cachedrequest/PersonControllerIntegrationTest.java
diff --git a/spring-mvc-basics-3/src/test/java/com/baeldung/cachedrequest/PrintRequestContentFilterUnitTest.java b/spring-web-modules/spring-mvc-basics-3/src/test/java/com/baeldung/cachedrequest/PrintRequestContentFilterUnitTest.java
similarity index 100%
rename from spring-mvc-basics-3/src/test/java/com/baeldung/cachedrequest/PrintRequestContentFilterUnitTest.java
rename to spring-web-modules/spring-mvc-basics-3/src/test/java/com/baeldung/cachedrequest/PrintRequestContentFilterUnitTest.java
diff --git a/spring-mvc-basics-3/src/test/java/com/baeldung/headers/controller/ReadHeaderRestControllerIntegrationTest.java b/spring-web-modules/spring-mvc-basics-3/src/test/java/com/baeldung/headers/controller/ReadHeaderRestControllerIntegrationTest.java
similarity index 100%
rename from spring-mvc-basics-3/src/test/java/com/baeldung/headers/controller/ReadHeaderRestControllerIntegrationTest.java
rename to spring-web-modules/spring-mvc-basics-3/src/test/java/com/baeldung/headers/controller/ReadHeaderRestControllerIntegrationTest.java
diff --git a/spring-mvc-basics-3/src/test/java/com/baeldung/spring/slash/SlashParsingControllerIntTest.java b/spring-web-modules/spring-mvc-basics-3/src/test/java/com/baeldung/spring/slash/SlashParsingControllerIntTest.java
similarity index 100%
rename from spring-mvc-basics-3/src/test/java/com/baeldung/spring/slash/SlashParsingControllerIntTest.java
rename to spring-web-modules/spring-mvc-basics-3/src/test/java/com/baeldung/spring/slash/SlashParsingControllerIntTest.java
diff --git a/spring-mvc-basics-3/src/test/java/com/baeldung/validation/listvalidation/MovieControllerIntegrationTest.java b/spring-web-modules/spring-mvc-basics-3/src/test/java/com/baeldung/validation/listvalidation/MovieControllerIntegrationTest.java
similarity index 100%
rename from spring-mvc-basics-3/src/test/java/com/baeldung/validation/listvalidation/MovieControllerIntegrationTest.java
rename to spring-web-modules/spring-mvc-basics-3/src/test/java/com/baeldung/validation/listvalidation/MovieControllerIntegrationTest.java