diff --git a/pom.xml b/pom.xml
index 67fa58293b..352d61660d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -664,7 +664,6 @@
spring-mvc-java-2
spring-mvc-velocity
- spring-mvc-xml
spring-protobuf
spring-quartz
@@ -1130,7 +1129,6 @@
spring-mvc-java-2
spring-mvc-velocity
- spring-mvc-xml
spring-protobuf
spring-quartz
diff --git a/spring-mvc-xml/src/main/resources/messages.properties b/spring-mvc-xml/src/main/resources/messages.properties
deleted file mode 100644
index 2a3cccf76c..0000000000
--- a/spring-mvc-xml/src/main/resources/messages.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-required.name = Name is required!
-NotEmpty.person.password = Password is required!
\ No newline at end of file
diff --git a/spring-web-modules/pom.xml b/spring-web-modules/pom.xml
index c28ffbeab8..d9e7e8012d 100644
--- a/spring-web-modules/pom.xml
+++ b/spring-web-modules/pom.xml
@@ -22,6 +22,7 @@
spring-mvc-forms-jsp
spring-mvc-views
spring-mvc-webflow
+ spring-mvc-xml
spring-rest-angular
spring-rest-http
spring-resttemplate-2
diff --git a/spring-mvc-xml/.gitignore b/spring-web-modules/spring-mvc-xml/.gitignore
similarity index 100%
rename from spring-mvc-xml/.gitignore
rename to spring-web-modules/spring-mvc-xml/.gitignore
diff --git a/spring-mvc-xml/README.md b/spring-web-modules/spring-mvc-xml/README.md
similarity index 100%
rename from spring-mvc-xml/README.md
rename to spring-web-modules/spring-mvc-xml/README.md
diff --git a/spring-mvc-xml/pom.xml b/spring-web-modules/spring-mvc-xml/pom.xml
similarity index 100%
rename from spring-mvc-xml/pom.xml
rename to spring-web-modules/spring-mvc-xml/pom.xml
diff --git a/spring-mvc-xml/src/main/java/com/baeldung/jsp/ExampleOne.java b/spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/jsp/ExampleOne.java
similarity index 100%
rename from spring-mvc-xml/src/main/java/com/baeldung/jsp/ExampleOne.java
rename to spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/jsp/ExampleOne.java
diff --git a/spring-mvc-xml/src/main/java/com/baeldung/jsp/ExampleThree.java b/spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/jsp/ExampleThree.java
similarity index 100%
rename from spring-mvc-xml/src/main/java/com/baeldung/jsp/ExampleThree.java
rename to spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/jsp/ExampleThree.java
diff --git a/spring-mvc-xml/src/main/java/com/baeldung/spring/ClientWebConfig.java b/spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/ClientWebConfig.java
similarity index 100%
rename from spring-mvc-xml/src/main/java/com/baeldung/spring/ClientWebConfig.java
rename to spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/ClientWebConfig.java
diff --git a/spring-mvc-xml/src/main/java/com/baeldung/spring/ClientWebConfigJava.java b/spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/ClientWebConfigJava.java
similarity index 100%
rename from spring-mvc-xml/src/main/java/com/baeldung/spring/ClientWebConfigJava.java
rename to spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/ClientWebConfigJava.java
diff --git a/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/ConstraintViolationExceptionHandler.java b/spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/ConstraintViolationExceptionHandler.java
similarity index 100%
rename from spring-mvc-xml/src/main/java/com/baeldung/spring/controller/ConstraintViolationExceptionHandler.java
rename to spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/ConstraintViolationExceptionHandler.java
diff --git a/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/ErrorController.java b/spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/ErrorController.java
similarity index 100%
rename from spring-mvc-xml/src/main/java/com/baeldung/spring/controller/ErrorController.java
rename to spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/ErrorController.java
diff --git a/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/GeoIPTestController.java b/spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/GeoIPTestController.java
similarity index 100%
rename from spring-mvc-xml/src/main/java/com/baeldung/spring/controller/GeoIPTestController.java
rename to spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/GeoIPTestController.java
diff --git a/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/GreetingController.java b/spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/GreetingController.java
similarity index 100%
rename from spring-mvc-xml/src/main/java/com/baeldung/spring/controller/GreetingController.java
rename to spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/GreetingController.java
diff --git a/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/HelloController.java b/spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/HelloController.java
similarity index 100%
rename from spring-mvc-xml/src/main/java/com/baeldung/spring/controller/HelloController.java
rename to spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/HelloController.java
diff --git a/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/HelloGuestController.java b/spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/HelloGuestController.java
similarity index 100%
rename from spring-mvc-xml/src/main/java/com/baeldung/spring/controller/HelloGuestController.java
rename to spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/HelloGuestController.java
diff --git a/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/HelloWorldController.java b/spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/HelloWorldController.java
similarity index 100%
rename from spring-mvc-xml/src/main/java/com/baeldung/spring/controller/HelloWorldController.java
rename to spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/HelloWorldController.java
diff --git a/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/ImageController.java b/spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/ImageController.java
similarity index 97%
rename from spring-mvc-xml/src/main/java/com/baeldung/spring/controller/ImageController.java
rename to spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/ImageController.java
index fc46c07e06..c02e76d4c0 100644
--- a/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/ImageController.java
+++ b/spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/ImageController.java
@@ -1,61 +1,61 @@
-package com.baeldung.spring.controller;
-
-import org.apache.commons.io.IOUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.core.io.Resource;
-import org.springframework.http.*;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.context.support.ServletContextResource;
-
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.io.InputStream;
-
-@Controller
-public class ImageController {
-
- @Autowired
- private ServletContext servletContext;
-
- @RequestMapping(value = "/image-view", method = RequestMethod.GET)
- public String imageView() throws IOException {
- return "image-download";
- }
-
- @RequestMapping(value = "/image-manual-response", method = RequestMethod.GET)
- public void getImageAsByteArray(HttpServletResponse response) throws IOException {
- final InputStream in = servletContext.getResourceAsStream("/WEB-INF/images/image-example.jpg");
- response.setContentType(MediaType.IMAGE_JPEG_VALUE);
- IOUtils.copy(in, response.getOutputStream());
- }
-
- @RequestMapping(value = "/image-byte-array", method = RequestMethod.GET)
- @ResponseBody
- public byte[] getImageAsByteArray() throws IOException {
- final InputStream in = servletContext.getResourceAsStream("/WEB-INF/images/image-example.jpg");
- return IOUtils.toByteArray(in);
- }
-
- @RequestMapping(value = "/image-response-entity", method = RequestMethod.GET)
- public ResponseEntity getImageAsResponseEntity() throws IOException {
- ResponseEntity responseEntity;
- final HttpHeaders headers = new HttpHeaders();
- final InputStream in = servletContext.getResourceAsStream("/WEB-INF/images/image-example.jpg");
- byte[] media = IOUtils.toByteArray(in);
- headers.setCacheControl(CacheControl.noCache().getHeaderValue());
- responseEntity = new ResponseEntity<>(media, headers, HttpStatus.OK);
- return responseEntity;
- }
-
- @RequestMapping(value = "/image-resource", method = RequestMethod.GET)
- @ResponseBody
- public ResponseEntity getImageAsResource() {
- final HttpHeaders headers = new HttpHeaders();
- Resource resource = new ServletContextResource(servletContext, "/WEB-INF/images/image-example.jpg");
- return new ResponseEntity<>(resource, headers, HttpStatus.OK);
- }
-}
+package com.baeldung.spring.controller;
+
+import org.apache.commons.io.IOUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.io.Resource;
+import org.springframework.http.*;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.context.support.ServletContextResource;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.InputStream;
+
+@Controller
+public class ImageController {
+
+ @Autowired
+ private ServletContext servletContext;
+
+ @RequestMapping(value = "/image-view", method = RequestMethod.GET)
+ public String imageView() throws IOException {
+ return "image-download";
+ }
+
+ @RequestMapping(value = "/image-manual-response", method = RequestMethod.GET)
+ public void getImageAsByteArray(HttpServletResponse response) throws IOException {
+ final InputStream in = servletContext.getResourceAsStream("/WEB-INF/images/image-example.jpg");
+ response.setContentType(MediaType.IMAGE_JPEG_VALUE);
+ IOUtils.copy(in, response.getOutputStream());
+ }
+
+ @RequestMapping(value = "/image-byte-array", method = RequestMethod.GET)
+ @ResponseBody
+ public byte[] getImageAsByteArray() throws IOException {
+ final InputStream in = servletContext.getResourceAsStream("/WEB-INF/images/image-example.jpg");
+ return IOUtils.toByteArray(in);
+ }
+
+ @RequestMapping(value = "/image-response-entity", method = RequestMethod.GET)
+ public ResponseEntity getImageAsResponseEntity() throws IOException {
+ ResponseEntity responseEntity;
+ final HttpHeaders headers = new HttpHeaders();
+ final InputStream in = servletContext.getResourceAsStream("/WEB-INF/images/image-example.jpg");
+ byte[] media = IOUtils.toByteArray(in);
+ headers.setCacheControl(CacheControl.noCache().getHeaderValue());
+ responseEntity = new ResponseEntity<>(media, headers, HttpStatus.OK);
+ return responseEntity;
+ }
+
+ @RequestMapping(value = "/image-resource", method = RequestMethod.GET)
+ @ResponseBody
+ public ResponseEntity getImageAsResource() {
+ final HttpHeaders headers = new HttpHeaders();
+ Resource resource = new ServletContextResource(servletContext, "/WEB-INF/images/image-example.jpg");
+ return new ResponseEntity<>(resource, headers, HttpStatus.OK);
+ }
+}
diff --git a/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/PersonController.java b/spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/PersonController.java
similarity index 100%
rename from spring-mvc-xml/src/main/java/com/baeldung/spring/controller/PersonController.java
rename to spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/PersonController.java
diff --git a/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/RequestAndPathVariableValidationController.java b/spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/RequestAndPathVariableValidationController.java
similarity index 100%
rename from spring-mvc-xml/src/main/java/com/baeldung/spring/controller/RequestAndPathVariableValidationController.java
rename to spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/RequestAndPathVariableValidationController.java
diff --git a/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/WelcomeController.java b/spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/WelcomeController.java
similarity index 100%
rename from spring-mvc-xml/src/main/java/com/baeldung/spring/controller/WelcomeController.java
rename to spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/controller/WelcomeController.java
diff --git a/spring-mvc-xml/src/main/java/com/baeldung/spring/form/GeoIP.java b/spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/form/GeoIP.java
similarity index 100%
rename from spring-mvc-xml/src/main/java/com/baeldung/spring/form/GeoIP.java
rename to spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/form/GeoIP.java
diff --git a/spring-mvc-xml/src/main/java/com/baeldung/spring/form/Person.java b/spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/form/Person.java
similarity index 100%
rename from spring-mvc-xml/src/main/java/com/baeldung/spring/form/Person.java
rename to spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/form/Person.java
diff --git a/spring-mvc-xml/src/main/java/com/baeldung/spring/service/RawDBDemoGeoIPLocationService.java b/spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/service/RawDBDemoGeoIPLocationService.java
similarity index 100%
rename from spring-mvc-xml/src/main/java/com/baeldung/spring/service/RawDBDemoGeoIPLocationService.java
rename to spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/service/RawDBDemoGeoIPLocationService.java
diff --git a/spring-mvc-xml/src/main/java/com/baeldung/spring/validator/PersonValidator.java b/spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/validator/PersonValidator.java
similarity index 96%
rename from spring-mvc-xml/src/main/java/com/baeldung/spring/validator/PersonValidator.java
rename to spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/validator/PersonValidator.java
index f7625bacd9..cda756cdfc 100644
--- a/spring-mvc-xml/src/main/java/com/baeldung/spring/validator/PersonValidator.java
+++ b/spring-web-modules/spring-mvc-xml/src/main/java/com/baeldung/spring/validator/PersonValidator.java
@@ -1,22 +1,22 @@
-package com.baeldung.spring.validator;
-
-import com.baeldung.spring.form.Person;
-import org.springframework.stereotype.Component;
-import org.springframework.validation.Errors;
-import org.springframework.validation.ValidationUtils;
-import org.springframework.validation.Validator;
-
-@Component
-public class PersonValidator implements Validator {
-
- @Override
- public boolean supports(final Class calzz) {
- return Person.class.isAssignableFrom(calzz);
- }
-
- @Override
- public void validate(final Object obj, final Errors errors) {
-
- ValidationUtils.rejectIfEmptyOrWhitespace(errors, "name", "required.name");
- }
+package com.baeldung.spring.validator;
+
+import com.baeldung.spring.form.Person;
+import org.springframework.stereotype.Component;
+import org.springframework.validation.Errors;
+import org.springframework.validation.ValidationUtils;
+import org.springframework.validation.Validator;
+
+@Component
+public class PersonValidator implements Validator {
+
+ @Override
+ public boolean supports(final Class calzz) {
+ return Person.class.isAssignableFrom(calzz);
+ }
+
+ @Override
+ public void validate(final Object obj, final Errors errors) {
+
+ ValidationUtils.rejectIfEmptyOrWhitespace(errors, "name", "required.name");
+ }
}
\ No newline at end of file
diff --git a/spring-mvc-xml/src/main/resources/contentManagementWebMvcConfig.xml b/spring-web-modules/spring-mvc-xml/src/main/resources/contentManagementWebMvcConfig.xml
similarity index 100%
rename from spring-mvc-xml/src/main/resources/contentManagementWebMvcConfig.xml
rename to spring-web-modules/spring-mvc-xml/src/main/resources/contentManagementWebMvcConfig.xml
diff --git a/spring-mvc-xml/src/main/resources/logback.xml b/spring-web-modules/spring-mvc-xml/src/main/resources/logback.xml
similarity index 100%
rename from spring-mvc-xml/src/main/resources/logback.xml
rename to spring-web-modules/spring-mvc-xml/src/main/resources/logback.xml
diff --git a/spring-web-modules/spring-mvc-xml/src/main/resources/messages.properties b/spring-web-modules/spring-mvc-xml/src/main/resources/messages.properties
new file mode 100644
index 0000000000..8d886c8449
--- /dev/null
+++ b/spring-web-modules/spring-mvc-xml/src/main/resources/messages.properties
@@ -0,0 +1,2 @@
+required.name = Name is required!
+NotEmpty.person.password = Password is required!
\ No newline at end of file
diff --git a/spring-mvc-xml/src/main/resources/webMvcConfig.xml b/spring-web-modules/spring-mvc-xml/src/main/resources/webMvcConfig.xml
similarity index 100%
rename from spring-mvc-xml/src/main/resources/webMvcConfig.xml
rename to spring-web-modules/spring-mvc-xml/src/main/resources/webMvcConfig.xml
diff --git a/spring-mvc-xml/src/main/webapp/GeoIpTest.jsp b/spring-web-modules/spring-mvc-xml/src/main/webapp/GeoIpTest.jsp
similarity index 100%
rename from spring-mvc-xml/src/main/webapp/GeoIpTest.jsp
rename to spring-web-modules/spring-mvc-xml/src/main/webapp/GeoIpTest.jsp
diff --git a/spring-mvc-xml/src/main/webapp/WEB-INF/crash/commands/message.groovy b/spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/crash/commands/message.groovy
similarity index 100%
rename from spring-mvc-xml/src/main/webapp/WEB-INF/crash/commands/message.groovy
rename to spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/crash/commands/message.groovy
diff --git a/spring-mvc-xml/src/main/webapp/WEB-INF/crash/commands/message2.java b/spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/crash/commands/message2.java
similarity index 100%
rename from spring-mvc-xml/src/main/webapp/WEB-INF/crash/commands/message2.java
rename to spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/crash/commands/message2.java
diff --git a/spring-mvc-xml/src/main/webapp/WEB-INF/crash/crash.properties b/spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/crash/crash.properties
similarity index 100%
rename from spring-mvc-xml/src/main/webapp/WEB-INF/crash/crash.properties
rename to spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/crash/crash.properties
diff --git a/spring-mvc-xml/src/main/webapp/WEB-INF/crash/telnet.properties b/spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/crash/telnet.properties
similarity index 100%
rename from spring-mvc-xml/src/main/webapp/WEB-INF/crash/telnet.properties
rename to spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/crash/telnet.properties
diff --git a/spring-mvc-xml/src/main/webapp/WEB-INF/images/image-example.jpg b/spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/images/image-example.jpg
similarity index 100%
rename from spring-mvc-xml/src/main/webapp/WEB-INF/images/image-example.jpg
rename to spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/images/image-example.jpg
diff --git a/spring-mvc-xml/src/main/webapp/WEB-INF/mvc-servlet.xml b/spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/mvc-servlet.xml
similarity index 100%
rename from spring-mvc-xml/src/main/webapp/WEB-INF/mvc-servlet.xml
rename to spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/mvc-servlet.xml
diff --git a/spring-mvc-xml/src/main/webapp/WEB-INF/view/error.jsp b/spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/view/error.jsp
similarity index 100%
rename from spring-mvc-xml/src/main/webapp/WEB-INF/view/error.jsp
rename to spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/view/error.jsp
diff --git a/spring-mvc-xml/src/main/webapp/WEB-INF/view/errorPage.jsp b/spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/view/errorPage.jsp
similarity index 100%
rename from spring-mvc-xml/src/main/webapp/WEB-INF/view/errorPage.jsp
rename to spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/view/errorPage.jsp
diff --git a/spring-mvc-xml/src/main/webapp/WEB-INF/view/greeting.jsp b/spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/view/greeting.jsp
similarity index 100%
rename from spring-mvc-xml/src/main/webapp/WEB-INF/view/greeting.jsp
rename to spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/view/greeting.jsp
diff --git a/spring-mvc-xml/src/main/webapp/WEB-INF/view/hello.jsp b/spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/view/hello.jsp
similarity index 100%
rename from spring-mvc-xml/src/main/webapp/WEB-INF/view/hello.jsp
rename to spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/view/hello.jsp
diff --git a/spring-mvc-xml/src/main/webapp/WEB-INF/view/helloworld.jsp b/spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/view/helloworld.jsp
similarity index 100%
rename from spring-mvc-xml/src/main/webapp/WEB-INF/view/helloworld.jsp
rename to spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/view/helloworld.jsp
diff --git a/spring-mvc-xml/src/main/webapp/WEB-INF/view/image-download.jsp b/spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/view/image-download.jsp
similarity index 100%
rename from spring-mvc-xml/src/main/webapp/WEB-INF/view/image-download.jsp
rename to spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/view/image-download.jsp
diff --git a/spring-mvc-xml/src/main/webapp/WEB-INF/view/personForm.jsp b/spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/view/personForm.jsp
similarity index 100%
rename from spring-mvc-xml/src/main/webapp/WEB-INF/view/personForm.jsp
rename to spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/view/personForm.jsp
diff --git a/spring-mvc-xml/src/main/webapp/WEB-INF/view/personView.jsp b/spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/view/personView.jsp
similarity index 100%
rename from spring-mvc-xml/src/main/webapp/WEB-INF/view/personView.jsp
rename to spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/view/personView.jsp
diff --git a/spring-mvc-xml/src/main/webapp/WEB-INF/view/sample.jsp b/spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/view/sample.jsp
similarity index 100%
rename from spring-mvc-xml/src/main/webapp/WEB-INF/view/sample.jsp
rename to spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/view/sample.jsp
diff --git a/spring-mvc-xml/src/main/webapp/WEB-INF/view/welcome.jsp b/spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/view/welcome.jsp
similarity index 100%
rename from spring-mvc-xml/src/main/webapp/WEB-INF/view/welcome.jsp
rename to spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/view/welcome.jsp
diff --git a/spring-mvc-xml/src/main/webapp/WEB-INF/web.xml b/spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/web.xml
similarity index 100%
rename from spring-mvc-xml/src/main/webapp/WEB-INF/web.xml
rename to spring-web-modules/spring-mvc-xml/src/main/webapp/WEB-INF/web.xml
diff --git a/spring-mvc-xml/src/main/webapp/index.jsp b/spring-web-modules/spring-mvc-xml/src/main/webapp/index.jsp
similarity index 100%
rename from spring-mvc-xml/src/main/webapp/index.jsp
rename to spring-web-modules/spring-mvc-xml/src/main/webapp/index.jsp
diff --git a/spring-mvc-xml/src/main/webapp/jsp/ExampleThree.jsp b/spring-web-modules/spring-mvc-xml/src/main/webapp/jsp/ExampleThree.jsp
similarity index 100%
rename from spring-mvc-xml/src/main/webapp/jsp/ExampleThree.jsp
rename to spring-web-modules/spring-mvc-xml/src/main/webapp/jsp/ExampleThree.jsp
diff --git a/spring-mvc-xml/src/main/webapp/jsp/ExampleTwo.jsp b/spring-web-modules/spring-mvc-xml/src/main/webapp/jsp/ExampleTwo.jsp
similarity index 100%
rename from spring-mvc-xml/src/main/webapp/jsp/ExampleTwo.jsp
rename to spring-web-modules/spring-mvc-xml/src/main/webapp/jsp/ExampleTwo.jsp
diff --git a/spring-mvc-xml/src/main/webapp/jsp/index.jsp b/spring-web-modules/spring-mvc-xml/src/main/webapp/jsp/index.jsp
similarity index 100%
rename from spring-mvc-xml/src/main/webapp/jsp/index.jsp
rename to spring-web-modules/spring-mvc-xml/src/main/webapp/jsp/index.jsp
diff --git a/spring-mvc-xml/src/main/webapp/spring-handler-index.jsp b/spring-web-modules/spring-mvc-xml/src/main/webapp/spring-handler-index.jsp
similarity index 100%
rename from spring-mvc-xml/src/main/webapp/spring-handler-index.jsp
rename to spring-web-modules/spring-mvc-xml/src/main/webapp/spring-handler-index.jsp
diff --git a/spring-mvc-xml/src/test/java/com/baeldung/geoip/GeoIpIntegrationTest.java b/spring-web-modules/spring-mvc-xml/src/test/java/com/baeldung/geoip/GeoIpIntegrationTest.java
similarity index 100%
rename from spring-mvc-xml/src/test/java/com/baeldung/geoip/GeoIpIntegrationTest.java
rename to spring-web-modules/spring-mvc-xml/src/test/java/com/baeldung/geoip/GeoIpIntegrationTest.java
diff --git a/spring-mvc-xml/src/test/java/com/baeldung/spring/controller/RequestAndPathVariableValidationControllerIntegrationTest.java b/spring-web-modules/spring-mvc-xml/src/test/java/com/baeldung/spring/controller/RequestAndPathVariableValidationControllerIntegrationTest.java
similarity index 100%
rename from spring-mvc-xml/src/test/java/com/baeldung/spring/controller/RequestAndPathVariableValidationControllerIntegrationTest.java
rename to spring-web-modules/spring-mvc-xml/src/test/java/com/baeldung/spring/controller/RequestAndPathVariableValidationControllerIntegrationTest.java
diff --git a/spring-mvc-xml/src/test/java/org/baeldung/SpringContextTest.java b/spring-web-modules/spring-mvc-xml/src/test/java/org/baeldung/SpringContextTest.java
similarity index 96%
rename from spring-mvc-xml/src/test/java/org/baeldung/SpringContextTest.java
rename to spring-web-modules/spring-mvc-xml/src/test/java/org/baeldung/SpringContextTest.java
index 62e34859ee..27dcb83bd4 100644
--- a/spring-mvc-xml/src/test/java/org/baeldung/SpringContextTest.java
+++ b/spring-web-modules/spring-mvc-xml/src/test/java/org/baeldung/SpringContextTest.java
@@ -1,4 +1,4 @@
-package com.baeldung;
+package org.baeldung;
import org.junit.Test;
import org.junit.runner.RunWith;