diff --git a/pom.xml b/pom.xml
index cdee542d12..f142d7bd96 100644
--- a/pom.xml
+++ b/pom.xml
@@ -345,7 +345,6 @@
apache-poi-2
apache-rocketmq
apache-spark
- apache-tapestry
apache-thrift
apache-tika
apache-velocity
@@ -362,8 +361,6 @@
azure
bazel
- blade
- bootique
cdi
checker-plugin
@@ -384,7 +381,6 @@
disruptor
dozer
drools
- dropwizard
dubbo
@@ -394,7 +390,6 @@
geotools
google-cloud
- google-web-toolkit
graphql-modules
@@ -413,18 +408,13 @@
java-blockchain
javafx
java-jdi
- java-lite
java-rmi
java-spi
java-vavr-stream
java-websocket
- javax-servlets
- javax-servlets-2
javax-sound
javaxval
jaxb
- jee-7
- jakarta-ee
jersey
jgit
jgroups
@@ -433,7 +423,6 @@
jmeter
jmh
java-native
- jooby
jsf
json-modules
jsoup
@@ -459,7 +448,6 @@
libraries-server
libraries-server-2
libraries-testing
- linkrest
logging-modules
lombok-modules
lucene
@@ -477,7 +465,6 @@
netflix-modules
netty
- ninja
orika
osgi
@@ -493,10 +480,7 @@
rabbitmq
- ratpack
reactor-core
- resteasy
- restx
rsocket
rule-engines
rxjava-modules
@@ -504,6 +488,7 @@
reactive-systems
security-modules
slack
+ web-modules
@@ -550,7 +535,6 @@
saas
- spark-java
spf4j
spring-4
@@ -634,7 +618,6 @@
static-analysis
stripe
- struts-2
tensorflow-java
testing-modules
@@ -647,10 +630,8 @@
vertx
vertx-and-rxjava
video-tutorials
- vraptor
webrtc
- wicket
wildfly
xml
xstream
@@ -763,7 +744,6 @@
apache-poi-2
apache-rocketmq
apache-spark
- apache-tapestry
apache-thrift
apache-tika
apache-velocity
@@ -780,8 +760,6 @@
azure
bazel
- blade
- bootique
cdi
checker-plugin
@@ -802,7 +780,6 @@
disruptor
dozer
drools
- dropwizard
dubbo
@@ -812,7 +789,6 @@
geotools
google-cloud
- google-web-toolkit
graphql-modules
@@ -831,18 +807,13 @@
java-blockchain
javafx
java-jdi
- java-lite
java-rmi
java-spi
java-vavr-stream
java-websocket
- javax-servlets
- javax-servlets-2
javax-sound
javaxval
jaxb
- jee-7
- jakarta-ee
jersey
jgit
jgroups
@@ -851,7 +822,6 @@
jmeter
jmh
java-native
- jooby
jsf
json-modules
jsoup
@@ -879,7 +849,6 @@
libraries-server
libraries-server-2
libraries-testing
- linkrest
logging-modules
lombok-modules
lucene
@@ -897,7 +866,6 @@
netflix-modules
netty
- ninja
orika
osgi
@@ -913,10 +881,7 @@
rabbitmq
- ratpack
reactor-core
- resteasy
- restx
rsocket
rule-engines
rxjava-modules
@@ -924,6 +889,7 @@
reactive-systems
security-modules
slack
+ web-modules
@@ -962,7 +928,6 @@
saas
- spark-java
spf4j
spring-4
@@ -1047,7 +1012,6 @@
static-analysis
stripe
- struts-2
tensorflow-java
testing-modules
@@ -1060,10 +1024,8 @@
vertx
vertx-and-rxjava
video-tutorials
- vraptor
webrtc
- wicket
wildfly
xml
xml-2
diff --git a/web-modules/README.md b/web-modules/README.md
new file mode 100644
index 0000000000..1329ce18db
--- /dev/null
+++ b/web-modules/README.md
@@ -0,0 +1,3 @@
+## Web
+
+This module contains web modules.
diff --git a/apache-tapestry/README.md b/web-modules/apache-tapestry/README.md
similarity index 100%
rename from apache-tapestry/README.md
rename to web-modules/apache-tapestry/README.md
diff --git a/apache-tapestry/pom.xml b/web-modules/apache-tapestry/pom.xml
similarity index 99%
rename from apache-tapestry/pom.xml
rename to web-modules/apache-tapestry/pom.xml
index 201b807d9f..d70af20a59 100644
--- a/apache-tapestry/pom.xml
+++ b/web-modules/apache-tapestry/pom.xml
@@ -10,7 +10,7 @@
com.baeldung
- parent-modules
+ web-modules
1.0.0-SNAPSHOT
diff --git a/apache-tapestry/src/main/java/com/baeldung/tapestry/components/Layout.java b/web-modules/apache-tapestry/src/main/java/com/baeldung/tapestry/components/Layout.java
similarity index 100%
rename from apache-tapestry/src/main/java/com/baeldung/tapestry/components/Layout.java
rename to web-modules/apache-tapestry/src/main/java/com/baeldung/tapestry/components/Layout.java
diff --git a/apache-tapestry/src/main/java/com/baeldung/tapestry/pages/Error404.java b/web-modules/apache-tapestry/src/main/java/com/baeldung/tapestry/pages/Error404.java
similarity index 100%
rename from apache-tapestry/src/main/java/com/baeldung/tapestry/pages/Error404.java
rename to web-modules/apache-tapestry/src/main/java/com/baeldung/tapestry/pages/Error404.java
diff --git a/apache-tapestry/src/main/java/com/baeldung/tapestry/pages/Home.java b/web-modules/apache-tapestry/src/main/java/com/baeldung/tapestry/pages/Home.java
similarity index 100%
rename from apache-tapestry/src/main/java/com/baeldung/tapestry/pages/Home.java
rename to web-modules/apache-tapestry/src/main/java/com/baeldung/tapestry/pages/Home.java
diff --git a/apache-tapestry/src/main/java/com/baeldung/tapestry/pages/Index.java b/web-modules/apache-tapestry/src/main/java/com/baeldung/tapestry/pages/Index.java
similarity index 100%
rename from apache-tapestry/src/main/java/com/baeldung/tapestry/pages/Index.java
rename to web-modules/apache-tapestry/src/main/java/com/baeldung/tapestry/pages/Index.java
diff --git a/apache-tapestry/src/main/java/com/baeldung/tapestry/pages/Login.java b/web-modules/apache-tapestry/src/main/java/com/baeldung/tapestry/pages/Login.java
similarity index 100%
rename from apache-tapestry/src/main/java/com/baeldung/tapestry/pages/Login.java
rename to web-modules/apache-tapestry/src/main/java/com/baeldung/tapestry/pages/Login.java
diff --git a/apache-tapestry/src/main/java/com/baeldung/tapestry/services/AppModule.java b/web-modules/apache-tapestry/src/main/java/com/baeldung/tapestry/services/AppModule.java
similarity index 100%
rename from apache-tapestry/src/main/java/com/baeldung/tapestry/services/AppModule.java
rename to web-modules/apache-tapestry/src/main/java/com/baeldung/tapestry/services/AppModule.java
diff --git a/apache-tapestry/src/main/java/com/baeldung/tapestry/services/DevelopmentModule.java b/web-modules/apache-tapestry/src/main/java/com/baeldung/tapestry/services/DevelopmentModule.java
similarity index 100%
rename from apache-tapestry/src/main/java/com/baeldung/tapestry/services/DevelopmentModule.java
rename to web-modules/apache-tapestry/src/main/java/com/baeldung/tapestry/services/DevelopmentModule.java
diff --git a/apache-tapestry/src/main/java/com/baeldung/tapestry/services/QaModule.java b/web-modules/apache-tapestry/src/main/java/com/baeldung/tapestry/services/QaModule.java
similarity index 100%
rename from apache-tapestry/src/main/java/com/baeldung/tapestry/services/QaModule.java
rename to web-modules/apache-tapestry/src/main/java/com/baeldung/tapestry/services/QaModule.java
diff --git a/apache-tapestry/src/main/resources/com/baeldung/tapestry/components/Layout.tml b/web-modules/apache-tapestry/src/main/resources/com/baeldung/tapestry/components/Layout.tml
similarity index 100%
rename from apache-tapestry/src/main/resources/com/baeldung/tapestry/components/Layout.tml
rename to web-modules/apache-tapestry/src/main/resources/com/baeldung/tapestry/components/Layout.tml
diff --git a/apache-tapestry/src/main/resources/com/baeldung/tapestry/logback.xml b/web-modules/apache-tapestry/src/main/resources/com/baeldung/tapestry/logback.xml
similarity index 100%
rename from apache-tapestry/src/main/resources/com/baeldung/tapestry/logback.xml
rename to web-modules/apache-tapestry/src/main/resources/com/baeldung/tapestry/logback.xml
diff --git a/apache-tapestry/src/main/resources/com/baeldung/tapestry/pages/Error404.tml b/web-modules/apache-tapestry/src/main/resources/com/baeldung/tapestry/pages/Error404.tml
similarity index 100%
rename from apache-tapestry/src/main/resources/com/baeldung/tapestry/pages/Error404.tml
rename to web-modules/apache-tapestry/src/main/resources/com/baeldung/tapestry/pages/Error404.tml
diff --git a/apache-tapestry/src/main/resources/com/baeldung/tapestry/pages/Home.properties b/web-modules/apache-tapestry/src/main/resources/com/baeldung/tapestry/pages/Home.properties
similarity index 100%
rename from apache-tapestry/src/main/resources/com/baeldung/tapestry/pages/Home.properties
rename to web-modules/apache-tapestry/src/main/resources/com/baeldung/tapestry/pages/Home.properties
diff --git a/apache-tapestry/src/main/resources/com/baeldung/tapestry/pages/Home.tml b/web-modules/apache-tapestry/src/main/resources/com/baeldung/tapestry/pages/Home.tml
similarity index 100%
rename from apache-tapestry/src/main/resources/com/baeldung/tapestry/pages/Home.tml
rename to web-modules/apache-tapestry/src/main/resources/com/baeldung/tapestry/pages/Home.tml
diff --git a/apache-tapestry/src/main/resources/com/baeldung/tapestry/pages/Index.properties b/web-modules/apache-tapestry/src/main/resources/com/baeldung/tapestry/pages/Index.properties
similarity index 100%
rename from apache-tapestry/src/main/resources/com/baeldung/tapestry/pages/Index.properties
rename to web-modules/apache-tapestry/src/main/resources/com/baeldung/tapestry/pages/Index.properties
diff --git a/apache-tapestry/src/main/resources/com/baeldung/tapestry/pages/Index.tml b/web-modules/apache-tapestry/src/main/resources/com/baeldung/tapestry/pages/Index.tml
similarity index 100%
rename from apache-tapestry/src/main/resources/com/baeldung/tapestry/pages/Index.tml
rename to web-modules/apache-tapestry/src/main/resources/com/baeldung/tapestry/pages/Index.tml
diff --git a/apache-tapestry/src/main/resources/com/baeldung/tapestry/pages/Login.tml b/web-modules/apache-tapestry/src/main/resources/com/baeldung/tapestry/pages/Login.tml
similarity index 100%
rename from apache-tapestry/src/main/resources/com/baeldung/tapestry/pages/Login.tml
rename to web-modules/apache-tapestry/src/main/resources/com/baeldung/tapestry/pages/Login.tml
diff --git a/apache-tapestry/src/main/resources/log4j.properties b/web-modules/apache-tapestry/src/main/resources/log4j.properties
similarity index 100%
rename from apache-tapestry/src/main/resources/log4j.properties
rename to web-modules/apache-tapestry/src/main/resources/log4j.properties
diff --git a/apache-tapestry/src/main/webapp/WEB-INF/app.properties b/web-modules/apache-tapestry/src/main/webapp/WEB-INF/app.properties
similarity index 100%
rename from apache-tapestry/src/main/webapp/WEB-INF/app.properties
rename to web-modules/apache-tapestry/src/main/webapp/WEB-INF/app.properties
diff --git a/apache-tapestry/src/main/webapp/WEB-INF/web.xml b/web-modules/apache-tapestry/src/main/webapp/WEB-INF/web.xml
similarity index 100%
rename from apache-tapestry/src/main/webapp/WEB-INF/web.xml
rename to web-modules/apache-tapestry/src/main/webapp/WEB-INF/web.xml
diff --git a/apache-tapestry/src/main/webapp/favicon.ico b/web-modules/apache-tapestry/src/main/webapp/favicon.ico
similarity index 100%
rename from apache-tapestry/src/main/webapp/favicon.ico
rename to web-modules/apache-tapestry/src/main/webapp/favicon.ico
diff --git a/apache-tapestry/src/main/webapp/images/tapestry.png b/web-modules/apache-tapestry/src/main/webapp/images/tapestry.png
similarity index 100%
rename from apache-tapestry/src/main/webapp/images/tapestry.png
rename to web-modules/apache-tapestry/src/main/webapp/images/tapestry.png
diff --git a/apache-tapestry/src/main/webapp/mybootstrap/css/bootstrap-theme.css b/web-modules/apache-tapestry/src/main/webapp/mybootstrap/css/bootstrap-theme.css
similarity index 100%
rename from apache-tapestry/src/main/webapp/mybootstrap/css/bootstrap-theme.css
rename to web-modules/apache-tapestry/src/main/webapp/mybootstrap/css/bootstrap-theme.css
diff --git a/apache-tapestry/src/main/webapp/mybootstrap/css/bootstrap.css b/web-modules/apache-tapestry/src/main/webapp/mybootstrap/css/bootstrap.css
similarity index 100%
rename from apache-tapestry/src/main/webapp/mybootstrap/css/bootstrap.css
rename to web-modules/apache-tapestry/src/main/webapp/mybootstrap/css/bootstrap.css
diff --git a/apache-tapestry/src/main/webapp/mybootstrap/fonts/glyphicons-halflings-regular.eot b/web-modules/apache-tapestry/src/main/webapp/mybootstrap/fonts/glyphicons-halflings-regular.eot
similarity index 100%
rename from apache-tapestry/src/main/webapp/mybootstrap/fonts/glyphicons-halflings-regular.eot
rename to web-modules/apache-tapestry/src/main/webapp/mybootstrap/fonts/glyphicons-halflings-regular.eot
diff --git a/apache-tapestry/src/main/webapp/mybootstrap/fonts/glyphicons-halflings-regular.svg b/web-modules/apache-tapestry/src/main/webapp/mybootstrap/fonts/glyphicons-halflings-regular.svg
similarity index 100%
rename from apache-tapestry/src/main/webapp/mybootstrap/fonts/glyphicons-halflings-regular.svg
rename to web-modules/apache-tapestry/src/main/webapp/mybootstrap/fonts/glyphicons-halflings-regular.svg
diff --git a/apache-tapestry/src/main/webapp/mybootstrap/fonts/glyphicons-halflings-regular.ttf b/web-modules/apache-tapestry/src/main/webapp/mybootstrap/fonts/glyphicons-halflings-regular.ttf
similarity index 100%
rename from apache-tapestry/src/main/webapp/mybootstrap/fonts/glyphicons-halflings-regular.ttf
rename to web-modules/apache-tapestry/src/main/webapp/mybootstrap/fonts/glyphicons-halflings-regular.ttf
diff --git a/apache-tapestry/src/main/webapp/mybootstrap/fonts/glyphicons-halflings-regular.woff b/web-modules/apache-tapestry/src/main/webapp/mybootstrap/fonts/glyphicons-halflings-regular.woff
similarity index 100%
rename from apache-tapestry/src/main/webapp/mybootstrap/fonts/glyphicons-halflings-regular.woff
rename to web-modules/apache-tapestry/src/main/webapp/mybootstrap/fonts/glyphicons-halflings-regular.woff
diff --git a/apache-tapestry/src/main/webapp/mybootstrap/fonts/glyphicons-halflings-regular.woff2 b/web-modules/apache-tapestry/src/main/webapp/mybootstrap/fonts/glyphicons-halflings-regular.woff2
similarity index 100%
rename from apache-tapestry/src/main/webapp/mybootstrap/fonts/glyphicons-halflings-regular.woff2
rename to web-modules/apache-tapestry/src/main/webapp/mybootstrap/fonts/glyphicons-halflings-regular.woff2
diff --git a/apache-tapestry/src/main/webapp/mybootstrap/js/affix.js b/web-modules/apache-tapestry/src/main/webapp/mybootstrap/js/affix.js
similarity index 100%
rename from apache-tapestry/src/main/webapp/mybootstrap/js/affix.js
rename to web-modules/apache-tapestry/src/main/webapp/mybootstrap/js/affix.js
diff --git a/apache-tapestry/src/main/webapp/mybootstrap/js/alert.js b/web-modules/apache-tapestry/src/main/webapp/mybootstrap/js/alert.js
similarity index 100%
rename from apache-tapestry/src/main/webapp/mybootstrap/js/alert.js
rename to web-modules/apache-tapestry/src/main/webapp/mybootstrap/js/alert.js
diff --git a/apache-tapestry/src/main/webapp/mybootstrap/js/button.js b/web-modules/apache-tapestry/src/main/webapp/mybootstrap/js/button.js
similarity index 100%
rename from apache-tapestry/src/main/webapp/mybootstrap/js/button.js
rename to web-modules/apache-tapestry/src/main/webapp/mybootstrap/js/button.js
diff --git a/apache-tapestry/src/main/webapp/mybootstrap/js/carousel.js b/web-modules/apache-tapestry/src/main/webapp/mybootstrap/js/carousel.js
similarity index 100%
rename from apache-tapestry/src/main/webapp/mybootstrap/js/carousel.js
rename to web-modules/apache-tapestry/src/main/webapp/mybootstrap/js/carousel.js
diff --git a/apache-tapestry/src/main/webapp/mybootstrap/js/collapse.js b/web-modules/apache-tapestry/src/main/webapp/mybootstrap/js/collapse.js
similarity index 100%
rename from apache-tapestry/src/main/webapp/mybootstrap/js/collapse.js
rename to web-modules/apache-tapestry/src/main/webapp/mybootstrap/js/collapse.js
diff --git a/apache-tapestry/src/main/webapp/mybootstrap/js/dropdown.js b/web-modules/apache-tapestry/src/main/webapp/mybootstrap/js/dropdown.js
similarity index 100%
rename from apache-tapestry/src/main/webapp/mybootstrap/js/dropdown.js
rename to web-modules/apache-tapestry/src/main/webapp/mybootstrap/js/dropdown.js
diff --git a/apache-tapestry/src/main/webapp/mybootstrap/js/modal.js b/web-modules/apache-tapestry/src/main/webapp/mybootstrap/js/modal.js
similarity index 100%
rename from apache-tapestry/src/main/webapp/mybootstrap/js/modal.js
rename to web-modules/apache-tapestry/src/main/webapp/mybootstrap/js/modal.js
diff --git a/apache-tapestry/src/main/webapp/mybootstrap/js/popover.js b/web-modules/apache-tapestry/src/main/webapp/mybootstrap/js/popover.js
similarity index 100%
rename from apache-tapestry/src/main/webapp/mybootstrap/js/popover.js
rename to web-modules/apache-tapestry/src/main/webapp/mybootstrap/js/popover.js
diff --git a/apache-tapestry/src/main/webapp/mybootstrap/js/scrollspy.js b/web-modules/apache-tapestry/src/main/webapp/mybootstrap/js/scrollspy.js
similarity index 100%
rename from apache-tapestry/src/main/webapp/mybootstrap/js/scrollspy.js
rename to web-modules/apache-tapestry/src/main/webapp/mybootstrap/js/scrollspy.js
diff --git a/apache-tapestry/src/main/webapp/mybootstrap/js/tab.js b/web-modules/apache-tapestry/src/main/webapp/mybootstrap/js/tab.js
similarity index 100%
rename from apache-tapestry/src/main/webapp/mybootstrap/js/tab.js
rename to web-modules/apache-tapestry/src/main/webapp/mybootstrap/js/tab.js
diff --git a/apache-tapestry/src/main/webapp/mybootstrap/js/tooltip.js b/web-modules/apache-tapestry/src/main/webapp/mybootstrap/js/tooltip.js
similarity index 100%
rename from apache-tapestry/src/main/webapp/mybootstrap/js/tooltip.js
rename to web-modules/apache-tapestry/src/main/webapp/mybootstrap/js/tooltip.js
diff --git a/apache-tapestry/src/main/webapp/mybootstrap/js/transition.js b/web-modules/apache-tapestry/src/main/webapp/mybootstrap/js/transition.js
similarity index 100%
rename from apache-tapestry/src/main/webapp/mybootstrap/js/transition.js
rename to web-modules/apache-tapestry/src/main/webapp/mybootstrap/js/transition.js
diff --git a/apache-tapestry/src/site/apt/index.apt b/web-modules/apache-tapestry/src/site/apt/index.apt
similarity index 100%
rename from apache-tapestry/src/site/apt/index.apt
rename to web-modules/apache-tapestry/src/site/apt/index.apt
diff --git a/apache-tapestry/src/site/site.xml b/web-modules/apache-tapestry/src/site/site.xml
similarity index 100%
rename from apache-tapestry/src/site/site.xml
rename to web-modules/apache-tapestry/src/site/site.xml
diff --git a/apache-tapestry/src/test/conf/testng.xml b/web-modules/apache-tapestry/src/test/conf/testng.xml
similarity index 100%
rename from apache-tapestry/src/test/conf/testng.xml
rename to web-modules/apache-tapestry/src/test/conf/testng.xml
diff --git a/apache-tapestry/src/test/conf/webdefault.xml b/web-modules/apache-tapestry/src/test/conf/webdefault.xml
similarity index 100%
rename from apache-tapestry/src/test/conf/webdefault.xml
rename to web-modules/apache-tapestry/src/test/conf/webdefault.xml
diff --git a/blade/README.md b/web-modules/blade/README.md
similarity index 100%
rename from blade/README.md
rename to web-modules/blade/README.md
diff --git a/blade/pom.xml b/web-modules/blade/pom.xml
similarity index 98%
rename from blade/pom.xml
rename to web-modules/blade/pom.xml
index 441629b859..0733556c20 100644
--- a/blade/pom.xml
+++ b/web-modules/blade/pom.xml
@@ -8,7 +8,7 @@
com.baeldung
- parent-modules
+ web-modules
1.0.0-SNAPSHOT
diff --git a/blade/src/main/java/com/baeldung/blade/sample/App.java b/web-modules/blade/src/main/java/com/baeldung/blade/sample/App.java
similarity index 100%
rename from blade/src/main/java/com/baeldung/blade/sample/App.java
rename to web-modules/blade/src/main/java/com/baeldung/blade/sample/App.java
diff --git a/blade/src/main/java/com/baeldung/blade/sample/AttributesExampleController.java b/web-modules/blade/src/main/java/com/baeldung/blade/sample/AttributesExampleController.java
similarity index 100%
rename from blade/src/main/java/com/baeldung/blade/sample/AttributesExampleController.java
rename to web-modules/blade/src/main/java/com/baeldung/blade/sample/AttributesExampleController.java
diff --git a/blade/src/main/java/com/baeldung/blade/sample/LogExampleController.java b/web-modules/blade/src/main/java/com/baeldung/blade/sample/LogExampleController.java
similarity index 100%
rename from blade/src/main/java/com/baeldung/blade/sample/LogExampleController.java
rename to web-modules/blade/src/main/java/com/baeldung/blade/sample/LogExampleController.java
diff --git a/blade/src/main/java/com/baeldung/blade/sample/ParameterInjectionExampleController.java b/web-modules/blade/src/main/java/com/baeldung/blade/sample/ParameterInjectionExampleController.java
similarity index 100%
rename from blade/src/main/java/com/baeldung/blade/sample/ParameterInjectionExampleController.java
rename to web-modules/blade/src/main/java/com/baeldung/blade/sample/ParameterInjectionExampleController.java
diff --git a/blade/src/main/java/com/baeldung/blade/sample/RouteExampleController.java b/web-modules/blade/src/main/java/com/baeldung/blade/sample/RouteExampleController.java
similarity index 100%
rename from blade/src/main/java/com/baeldung/blade/sample/RouteExampleController.java
rename to web-modules/blade/src/main/java/com/baeldung/blade/sample/RouteExampleController.java
diff --git a/blade/src/main/java/com/baeldung/blade/sample/configuration/BaeldungException.java b/web-modules/blade/src/main/java/com/baeldung/blade/sample/configuration/BaeldungException.java
similarity index 100%
rename from blade/src/main/java/com/baeldung/blade/sample/configuration/BaeldungException.java
rename to web-modules/blade/src/main/java/com/baeldung/blade/sample/configuration/BaeldungException.java
diff --git a/blade/src/main/java/com/baeldung/blade/sample/configuration/GlobalExceptionHandler.java b/web-modules/blade/src/main/java/com/baeldung/blade/sample/configuration/GlobalExceptionHandler.java
similarity index 100%
rename from blade/src/main/java/com/baeldung/blade/sample/configuration/GlobalExceptionHandler.java
rename to web-modules/blade/src/main/java/com/baeldung/blade/sample/configuration/GlobalExceptionHandler.java
diff --git a/blade/src/main/java/com/baeldung/blade/sample/configuration/LoadConfig.java b/web-modules/blade/src/main/java/com/baeldung/blade/sample/configuration/LoadConfig.java
similarity index 100%
rename from blade/src/main/java/com/baeldung/blade/sample/configuration/LoadConfig.java
rename to web-modules/blade/src/main/java/com/baeldung/blade/sample/configuration/LoadConfig.java
diff --git a/blade/src/main/java/com/baeldung/blade/sample/configuration/ScheduleExample.java b/web-modules/blade/src/main/java/com/baeldung/blade/sample/configuration/ScheduleExample.java
similarity index 100%
rename from blade/src/main/java/com/baeldung/blade/sample/configuration/ScheduleExample.java
rename to web-modules/blade/src/main/java/com/baeldung/blade/sample/configuration/ScheduleExample.java
diff --git a/blade/src/main/java/com/baeldung/blade/sample/interceptors/BaeldungHook.java b/web-modules/blade/src/main/java/com/baeldung/blade/sample/interceptors/BaeldungHook.java
similarity index 100%
rename from blade/src/main/java/com/baeldung/blade/sample/interceptors/BaeldungHook.java
rename to web-modules/blade/src/main/java/com/baeldung/blade/sample/interceptors/BaeldungHook.java
diff --git a/blade/src/main/java/com/baeldung/blade/sample/interceptors/BaeldungMiddleware.java b/web-modules/blade/src/main/java/com/baeldung/blade/sample/interceptors/BaeldungMiddleware.java
similarity index 100%
rename from blade/src/main/java/com/baeldung/blade/sample/interceptors/BaeldungMiddleware.java
rename to web-modules/blade/src/main/java/com/baeldung/blade/sample/interceptors/BaeldungMiddleware.java
diff --git a/blade/src/main/java/com/baeldung/blade/sample/vo/User.java b/web-modules/blade/src/main/java/com/baeldung/blade/sample/vo/User.java
similarity index 100%
rename from blade/src/main/java/com/baeldung/blade/sample/vo/User.java
rename to web-modules/blade/src/main/java/com/baeldung/blade/sample/vo/User.java
diff --git a/blade/src/main/resources/application.properties b/web-modules/blade/src/main/resources/application.properties
similarity index 100%
rename from blade/src/main/resources/application.properties
rename to web-modules/blade/src/main/resources/application.properties
diff --git a/blade/src/main/resources/custom-static/icon.png b/web-modules/blade/src/main/resources/custom-static/icon.png
similarity index 100%
rename from blade/src/main/resources/custom-static/icon.png
rename to web-modules/blade/src/main/resources/custom-static/icon.png
diff --git a/blade/src/main/resources/favicon.ico b/web-modules/blade/src/main/resources/favicon.ico
similarity index 100%
rename from blade/src/main/resources/favicon.ico
rename to web-modules/blade/src/main/resources/favicon.ico
diff --git a/blade/src/main/resources/static/app.css b/web-modules/blade/src/main/resources/static/app.css
similarity index 100%
rename from blade/src/main/resources/static/app.css
rename to web-modules/blade/src/main/resources/static/app.css
diff --git a/blade/src/main/resources/static/app.js b/web-modules/blade/src/main/resources/static/app.js
similarity index 100%
rename from blade/src/main/resources/static/app.js
rename to web-modules/blade/src/main/resources/static/app.js
diff --git a/blade/src/main/resources/static/file-upload.html b/web-modules/blade/src/main/resources/static/file-upload.html
similarity index 100%
rename from blade/src/main/resources/static/file-upload.html
rename to web-modules/blade/src/main/resources/static/file-upload.html
diff --git a/blade/src/main/resources/static/user-post.html b/web-modules/blade/src/main/resources/static/user-post.html
similarity index 100%
rename from blade/src/main/resources/static/user-post.html
rename to web-modules/blade/src/main/resources/static/user-post.html
diff --git a/blade/src/main/resources/templates/allmatch.html b/web-modules/blade/src/main/resources/templates/allmatch.html
similarity index 100%
rename from blade/src/main/resources/templates/allmatch.html
rename to web-modules/blade/src/main/resources/templates/allmatch.html
diff --git a/blade/src/main/resources/templates/delete.html b/web-modules/blade/src/main/resources/templates/delete.html
similarity index 100%
rename from blade/src/main/resources/templates/delete.html
rename to web-modules/blade/src/main/resources/templates/delete.html
diff --git a/blade/src/main/resources/templates/get.html b/web-modules/blade/src/main/resources/templates/get.html
similarity index 100%
rename from blade/src/main/resources/templates/get.html
rename to web-modules/blade/src/main/resources/templates/get.html
diff --git a/blade/src/main/resources/templates/index.html b/web-modules/blade/src/main/resources/templates/index.html
similarity index 100%
rename from blade/src/main/resources/templates/index.html
rename to web-modules/blade/src/main/resources/templates/index.html
diff --git a/blade/src/main/resources/templates/my-404.html b/web-modules/blade/src/main/resources/templates/my-404.html
similarity index 100%
rename from blade/src/main/resources/templates/my-404.html
rename to web-modules/blade/src/main/resources/templates/my-404.html
diff --git a/blade/src/main/resources/templates/my-500.html b/web-modules/blade/src/main/resources/templates/my-500.html
similarity index 100%
rename from blade/src/main/resources/templates/my-500.html
rename to web-modules/blade/src/main/resources/templates/my-500.html
diff --git a/blade/src/main/resources/templates/post.html b/web-modules/blade/src/main/resources/templates/post.html
similarity index 100%
rename from blade/src/main/resources/templates/post.html
rename to web-modules/blade/src/main/resources/templates/post.html
diff --git a/blade/src/main/resources/templates/put.html b/web-modules/blade/src/main/resources/templates/put.html
similarity index 100%
rename from blade/src/main/resources/templates/put.html
rename to web-modules/blade/src/main/resources/templates/put.html
diff --git a/blade/src/main/resources/templates/template-output-test.html b/web-modules/blade/src/main/resources/templates/template-output-test.html
similarity index 100%
rename from blade/src/main/resources/templates/template-output-test.html
rename to web-modules/blade/src/main/resources/templates/template-output-test.html
diff --git a/blade/src/test/java/com/baeldung/blade/sample/AppLiveTest.java b/web-modules/blade/src/test/java/com/baeldung/blade/sample/AppLiveTest.java
similarity index 100%
rename from blade/src/test/java/com/baeldung/blade/sample/AppLiveTest.java
rename to web-modules/blade/src/test/java/com/baeldung/blade/sample/AppLiveTest.java
diff --git a/blade/src/test/java/com/baeldung/blade/sample/AttributesExampleControllerLiveTest.java b/web-modules/blade/src/test/java/com/baeldung/blade/sample/AttributesExampleControllerLiveTest.java
similarity index 100%
rename from blade/src/test/java/com/baeldung/blade/sample/AttributesExampleControllerLiveTest.java
rename to web-modules/blade/src/test/java/com/baeldung/blade/sample/AttributesExampleControllerLiveTest.java
diff --git a/blade/src/test/java/com/baeldung/blade/sample/ParameterInjectionExampleControllerLiveTest.java b/web-modules/blade/src/test/java/com/baeldung/blade/sample/ParameterInjectionExampleControllerLiveTest.java
similarity index 100%
rename from blade/src/test/java/com/baeldung/blade/sample/ParameterInjectionExampleControllerLiveTest.java
rename to web-modules/blade/src/test/java/com/baeldung/blade/sample/ParameterInjectionExampleControllerLiveTest.java
diff --git a/blade/src/test/java/com/baeldung/blade/sample/RouteExampleControllerLiveTest.java b/web-modules/blade/src/test/java/com/baeldung/blade/sample/RouteExampleControllerLiveTest.java
similarity index 100%
rename from blade/src/test/java/com/baeldung/blade/sample/RouteExampleControllerLiveTest.java
rename to web-modules/blade/src/test/java/com/baeldung/blade/sample/RouteExampleControllerLiveTest.java
diff --git a/bootique/README.md b/web-modules/bootique/README.md
similarity index 100%
rename from bootique/README.md
rename to web-modules/bootique/README.md
diff --git a/bootique/config.yml b/web-modules/bootique/config.yml
similarity index 100%
rename from bootique/config.yml
rename to web-modules/bootique/config.yml
diff --git a/bootique/pom.xml b/web-modules/bootique/pom.xml
similarity index 97%
rename from bootique/pom.xml
rename to web-modules/bootique/pom.xml
index 34fc75a5c0..d06f835889 100644
--- a/bootique/pom.xml
+++ b/web-modules/bootique/pom.xml
@@ -12,7 +12,7 @@
com.baeldung
- parent-modules
+ web-modules
1.0.0-SNAPSHOT
diff --git a/bootique/src/main/java/com/baeldung/bootique/App.java b/web-modules/bootique/src/main/java/com/baeldung/bootique/App.java
similarity index 100%
rename from bootique/src/main/java/com/baeldung/bootique/App.java
rename to web-modules/bootique/src/main/java/com/baeldung/bootique/App.java
diff --git a/bootique/src/main/java/com/baeldung/bootique/module/ModuleBinder.java b/web-modules/bootique/src/main/java/com/baeldung/bootique/module/ModuleBinder.java
similarity index 100%
rename from bootique/src/main/java/com/baeldung/bootique/module/ModuleBinder.java
rename to web-modules/bootique/src/main/java/com/baeldung/bootique/module/ModuleBinder.java
diff --git a/bootique/src/main/java/com/baeldung/bootique/module/ModuleProvider.java b/web-modules/bootique/src/main/java/com/baeldung/bootique/module/ModuleProvider.java
similarity index 100%
rename from bootique/src/main/java/com/baeldung/bootique/module/ModuleProvider.java
rename to web-modules/bootique/src/main/java/com/baeldung/bootique/module/ModuleProvider.java
diff --git a/bootique/src/main/java/com/baeldung/bootique/router/IndexController.java b/web-modules/bootique/src/main/java/com/baeldung/bootique/router/IndexController.java
similarity index 100%
rename from bootique/src/main/java/com/baeldung/bootique/router/IndexController.java
rename to web-modules/bootique/src/main/java/com/baeldung/bootique/router/IndexController.java
diff --git a/bootique/src/main/java/com/baeldung/bootique/router/SaveController.java b/web-modules/bootique/src/main/java/com/baeldung/bootique/router/SaveController.java
similarity index 100%
rename from bootique/src/main/java/com/baeldung/bootique/router/SaveController.java
rename to web-modules/bootique/src/main/java/com/baeldung/bootique/router/SaveController.java
diff --git a/bootique/src/main/java/com/baeldung/bootique/service/HelloService.java b/web-modules/bootique/src/main/java/com/baeldung/bootique/service/HelloService.java
similarity index 100%
rename from bootique/src/main/java/com/baeldung/bootique/service/HelloService.java
rename to web-modules/bootique/src/main/java/com/baeldung/bootique/service/HelloService.java
diff --git a/bootique/src/main/java/com/baeldung/bootique/service/impl/HelloServiceImpl.java b/web-modules/bootique/src/main/java/com/baeldung/bootique/service/impl/HelloServiceImpl.java
similarity index 100%
rename from bootique/src/main/java/com/baeldung/bootique/service/impl/HelloServiceImpl.java
rename to web-modules/bootique/src/main/java/com/baeldung/bootique/service/impl/HelloServiceImpl.java
diff --git a/bootique/src/main/resources/META-INF/services/io.bootique.BQModuleProvider b/web-modules/bootique/src/main/resources/META-INF/services/io.bootique.BQModuleProvider
similarity index 100%
rename from bootique/src/main/resources/META-INF/services/io.bootique.BQModuleProvider
rename to web-modules/bootique/src/main/resources/META-INF/services/io.bootique.BQModuleProvider
diff --git a/bootique/src/main/resources/logback.xml b/web-modules/bootique/src/main/resources/logback.xml
similarity index 100%
rename from bootique/src/main/resources/logback.xml
rename to web-modules/bootique/src/main/resources/logback.xml
diff --git a/bootique/src/test/java/com/baeldung/bootique/AppUnitTest.java b/web-modules/bootique/src/test/java/com/baeldung/bootique/AppUnitTest.java
similarity index 100%
rename from bootique/src/test/java/com/baeldung/bootique/AppUnitTest.java
rename to web-modules/bootique/src/test/java/com/baeldung/bootique/AppUnitTest.java
diff --git a/dropwizard/README.md b/web-modules/dropwizard/README.md
similarity index 100%
rename from dropwizard/README.md
rename to web-modules/dropwizard/README.md
diff --git a/dropwizard/pom.xml b/web-modules/dropwizard/pom.xml
similarity index 98%
rename from dropwizard/pom.xml
rename to web-modules/dropwizard/pom.xml
index 36f2ec43f0..999aa5c805 100644
--- a/dropwizard/pom.xml
+++ b/web-modules/dropwizard/pom.xml
@@ -10,7 +10,7 @@
com.baeldung
- parent-modules
+ web-modules
1.0.0-SNAPSHOT
diff --git a/dropwizard/src/main/java/com/baeldung/dropwizard/introduction/IntroductionApplication.java b/web-modules/dropwizard/src/main/java/com/baeldung/dropwizard/introduction/IntroductionApplication.java
similarity index 100%
rename from dropwizard/src/main/java/com/baeldung/dropwizard/introduction/IntroductionApplication.java
rename to web-modules/dropwizard/src/main/java/com/baeldung/dropwizard/introduction/IntroductionApplication.java
diff --git a/dropwizard/src/main/java/com/baeldung/dropwizard/introduction/configuration/ApplicationHealthCheck.java b/web-modules/dropwizard/src/main/java/com/baeldung/dropwizard/introduction/configuration/ApplicationHealthCheck.java
similarity index 100%
rename from dropwizard/src/main/java/com/baeldung/dropwizard/introduction/configuration/ApplicationHealthCheck.java
rename to web-modules/dropwizard/src/main/java/com/baeldung/dropwizard/introduction/configuration/ApplicationHealthCheck.java
diff --git a/dropwizard/src/main/java/com/baeldung/dropwizard/introduction/configuration/BasicConfiguration.java b/web-modules/dropwizard/src/main/java/com/baeldung/dropwizard/introduction/configuration/BasicConfiguration.java
similarity index 100%
rename from dropwizard/src/main/java/com/baeldung/dropwizard/introduction/configuration/BasicConfiguration.java
rename to web-modules/dropwizard/src/main/java/com/baeldung/dropwizard/introduction/configuration/BasicConfiguration.java
diff --git a/dropwizard/src/main/java/com/baeldung/dropwizard/introduction/domain/Brand.java b/web-modules/dropwizard/src/main/java/com/baeldung/dropwizard/introduction/domain/Brand.java
similarity index 100%
rename from dropwizard/src/main/java/com/baeldung/dropwizard/introduction/domain/Brand.java
rename to web-modules/dropwizard/src/main/java/com/baeldung/dropwizard/introduction/domain/Brand.java
diff --git a/dropwizard/src/main/java/com/baeldung/dropwizard/introduction/repository/BrandRepository.java b/web-modules/dropwizard/src/main/java/com/baeldung/dropwizard/introduction/repository/BrandRepository.java
similarity index 100%
rename from dropwizard/src/main/java/com/baeldung/dropwizard/introduction/repository/BrandRepository.java
rename to web-modules/dropwizard/src/main/java/com/baeldung/dropwizard/introduction/repository/BrandRepository.java
diff --git a/dropwizard/src/main/java/com/baeldung/dropwizard/introduction/resource/BrandResource.java b/web-modules/dropwizard/src/main/java/com/baeldung/dropwizard/introduction/resource/BrandResource.java
similarity index 100%
rename from dropwizard/src/main/java/com/baeldung/dropwizard/introduction/resource/BrandResource.java
rename to web-modules/dropwizard/src/main/java/com/baeldung/dropwizard/introduction/resource/BrandResource.java
diff --git a/dropwizard/src/main/resources/introduction-config.yml b/web-modules/dropwizard/src/main/resources/introduction-config.yml
similarity index 100%
rename from dropwizard/src/main/resources/introduction-config.yml
rename to web-modules/dropwizard/src/main/resources/introduction-config.yml
diff --git a/dropwizard/src/test/java/com/baeldung/dropwizard/introduction/repository/BrandRepositoryUnitTest.java b/web-modules/dropwizard/src/test/java/com/baeldung/dropwizard/introduction/repository/BrandRepositoryUnitTest.java
similarity index 100%
rename from dropwizard/src/test/java/com/baeldung/dropwizard/introduction/repository/BrandRepositoryUnitTest.java
rename to web-modules/dropwizard/src/test/java/com/baeldung/dropwizard/introduction/repository/BrandRepositoryUnitTest.java
diff --git a/google-web-toolkit/README.md b/web-modules/google-web-toolkit/README.md
similarity index 100%
rename from google-web-toolkit/README.md
rename to web-modules/google-web-toolkit/README.md
diff --git a/google-web-toolkit/pom.xml b/web-modules/google-web-toolkit/pom.xml
similarity index 98%
rename from google-web-toolkit/pom.xml
rename to web-modules/google-web-toolkit/pom.xml
index bcccc136a4..2d5a1fa324 100644
--- a/google-web-toolkit/pom.xml
+++ b/web-modules/google-web-toolkit/pom.xml
@@ -11,7 +11,7 @@
com.baeldung
- parent-modules
+ web-modules
1.0.0-SNAPSHOT
diff --git a/google-web-toolkit/src/main/java/com/baeldung/Google_web_toolkit.gwt.xml b/web-modules/google-web-toolkit/src/main/java/com/baeldung/Google_web_toolkit.gwt.xml
similarity index 100%
rename from google-web-toolkit/src/main/java/com/baeldung/Google_web_toolkit.gwt.xml
rename to web-modules/google-web-toolkit/src/main/java/com/baeldung/Google_web_toolkit.gwt.xml
diff --git a/google-web-toolkit/src/main/java/com/baeldung/client/Google_web_toolkit.java b/web-modules/google-web-toolkit/src/main/java/com/baeldung/client/Google_web_toolkit.java
similarity index 100%
rename from google-web-toolkit/src/main/java/com/baeldung/client/Google_web_toolkit.java
rename to web-modules/google-web-toolkit/src/main/java/com/baeldung/client/Google_web_toolkit.java
diff --git a/google-web-toolkit/src/main/java/com/baeldung/server/MessageServiceImpl.java b/web-modules/google-web-toolkit/src/main/java/com/baeldung/server/MessageServiceImpl.java
similarity index 100%
rename from google-web-toolkit/src/main/java/com/baeldung/server/MessageServiceImpl.java
rename to web-modules/google-web-toolkit/src/main/java/com/baeldung/server/MessageServiceImpl.java
diff --git a/google-web-toolkit/src/main/java/com/baeldung/shared/MessageService.java b/web-modules/google-web-toolkit/src/main/java/com/baeldung/shared/MessageService.java
similarity index 100%
rename from google-web-toolkit/src/main/java/com/baeldung/shared/MessageService.java
rename to web-modules/google-web-toolkit/src/main/java/com/baeldung/shared/MessageService.java
diff --git a/google-web-toolkit/src/main/java/com/baeldung/shared/MessageServiceAsync.java b/web-modules/google-web-toolkit/src/main/java/com/baeldung/shared/MessageServiceAsync.java
similarity index 100%
rename from google-web-toolkit/src/main/java/com/baeldung/shared/MessageServiceAsync.java
rename to web-modules/google-web-toolkit/src/main/java/com/baeldung/shared/MessageServiceAsync.java
diff --git a/google-web-toolkit/src/main/resources/logback.xml b/web-modules/google-web-toolkit/src/main/resources/logback.xml
similarity index 100%
rename from google-web-toolkit/src/main/resources/logback.xml
rename to web-modules/google-web-toolkit/src/main/resources/logback.xml
diff --git a/google-web-toolkit/src/main/webapp/Google_web_toolkit.css b/web-modules/google-web-toolkit/src/main/webapp/Google_web_toolkit.css
similarity index 100%
rename from google-web-toolkit/src/main/webapp/Google_web_toolkit.css
rename to web-modules/google-web-toolkit/src/main/webapp/Google_web_toolkit.css
diff --git a/google-web-toolkit/src/main/webapp/Google_web_toolkit.html b/web-modules/google-web-toolkit/src/main/webapp/Google_web_toolkit.html
similarity index 100%
rename from google-web-toolkit/src/main/webapp/Google_web_toolkit.html
rename to web-modules/google-web-toolkit/src/main/webapp/Google_web_toolkit.html
diff --git a/google-web-toolkit/src/main/webapp/WEB-INF/web.xml b/web-modules/google-web-toolkit/src/main/webapp/WEB-INF/web.xml
similarity index 100%
rename from google-web-toolkit/src/main/webapp/WEB-INF/web.xml
rename to web-modules/google-web-toolkit/src/main/webapp/WEB-INF/web.xml
diff --git a/google-web-toolkit/src/main/webapp/favicon.ico b/web-modules/google-web-toolkit/src/main/webapp/favicon.ico
similarity index 100%
rename from google-web-toolkit/src/main/webapp/favicon.ico
rename to web-modules/google-web-toolkit/src/main/webapp/favicon.ico
diff --git a/jakarta-ee/README.md b/web-modules/jakarta-ee/README.md
similarity index 100%
rename from jakarta-ee/README.md
rename to web-modules/jakarta-ee/README.md
diff --git a/jakarta-ee/pom.xml b/web-modules/jakarta-ee/pom.xml
similarity index 100%
rename from jakarta-ee/pom.xml
rename to web-modules/jakarta-ee/pom.xml
diff --git a/jakarta-ee/src/main/java/com/baeldung/eclipse/krazo/User.java b/web-modules/jakarta-ee/src/main/java/com/baeldung/eclipse/krazo/User.java
similarity index 100%
rename from jakarta-ee/src/main/java/com/baeldung/eclipse/krazo/User.java
rename to web-modules/jakarta-ee/src/main/java/com/baeldung/eclipse/krazo/User.java
diff --git a/jakarta-ee/src/main/java/com/baeldung/eclipse/krazo/UserApplication.java b/web-modules/jakarta-ee/src/main/java/com/baeldung/eclipse/krazo/UserApplication.java
similarity index 100%
rename from jakarta-ee/src/main/java/com/baeldung/eclipse/krazo/UserApplication.java
rename to web-modules/jakarta-ee/src/main/java/com/baeldung/eclipse/krazo/UserApplication.java
diff --git a/jakarta-ee/src/main/java/com/baeldung/eclipse/krazo/UserController.java b/web-modules/jakarta-ee/src/main/java/com/baeldung/eclipse/krazo/UserController.java
similarity index 100%
rename from jakarta-ee/src/main/java/com/baeldung/eclipse/krazo/UserController.java
rename to web-modules/jakarta-ee/src/main/java/com/baeldung/eclipse/krazo/UserController.java
diff --git a/jakarta-ee/src/main/webapp/WEB-INF/beans.xml b/web-modules/jakarta-ee/src/main/webapp/WEB-INF/beans.xml
similarity index 100%
rename from jakarta-ee/src/main/webapp/WEB-INF/beans.xml
rename to web-modules/jakarta-ee/src/main/webapp/WEB-INF/beans.xml
diff --git a/jakarta-ee/src/main/webapp/WEB-INF/views/success.jsp b/web-modules/jakarta-ee/src/main/webapp/WEB-INF/views/success.jsp
similarity index 100%
rename from jakarta-ee/src/main/webapp/WEB-INF/views/success.jsp
rename to web-modules/jakarta-ee/src/main/webapp/WEB-INF/views/success.jsp
diff --git a/jakarta-ee/src/main/webapp/WEB-INF/views/user.jsp b/web-modules/jakarta-ee/src/main/webapp/WEB-INF/views/user.jsp
similarity index 100%
rename from jakarta-ee/src/main/webapp/WEB-INF/views/user.jsp
rename to web-modules/jakarta-ee/src/main/webapp/WEB-INF/views/user.jsp
diff --git a/jakarta-ee/src/main/webapp/styles.css b/web-modules/jakarta-ee/src/main/webapp/styles.css
similarity index 100%
rename from jakarta-ee/src/main/webapp/styles.css
rename to web-modules/jakarta-ee/src/main/webapp/styles.css
diff --git a/jakarta-ee/src/test/java/com/baeldung/eclipse/krazo/AppTest.java b/web-modules/jakarta-ee/src/test/java/com/baeldung/eclipse/krazo/AppTest.java
similarity index 100%
rename from jakarta-ee/src/test/java/com/baeldung/eclipse/krazo/AppTest.java
rename to web-modules/jakarta-ee/src/test/java/com/baeldung/eclipse/krazo/AppTest.java
diff --git a/jakarta-ee/src/test/java/com/baeldung/eclipse/krazo/UserControllerUnitTest.java b/web-modules/jakarta-ee/src/test/java/com/baeldung/eclipse/krazo/UserControllerUnitTest.java
similarity index 100%
rename from jakarta-ee/src/test/java/com/baeldung/eclipse/krazo/UserControllerUnitTest.java
rename to web-modules/jakarta-ee/src/test/java/com/baeldung/eclipse/krazo/UserControllerUnitTest.java
diff --git a/java-lite/README.md b/web-modules/java-lite/README.md
similarity index 100%
rename from java-lite/README.md
rename to web-modules/java-lite/README.md
diff --git a/java-lite/pom.xml b/web-modules/java-lite/pom.xml
similarity index 98%
rename from java-lite/pom.xml
rename to web-modules/java-lite/pom.xml
index 092063a110..0e44e72b09 100644
--- a/java-lite/pom.xml
+++ b/web-modules/java-lite/pom.xml
@@ -11,7 +11,7 @@
com.baeldung
- parent-modules
+ web-modules
1.0.0-SNAPSHOT
diff --git a/java-lite/src/main/java/app/config/AppBootstrap.java b/web-modules/java-lite/src/main/java/app/config/AppBootstrap.java
similarity index 100%
rename from java-lite/src/main/java/app/config/AppBootstrap.java
rename to web-modules/java-lite/src/main/java/app/config/AppBootstrap.java
diff --git a/java-lite/src/main/java/app/config/AppControllerConfig.java b/web-modules/java-lite/src/main/java/app/config/AppControllerConfig.java
similarity index 100%
rename from java-lite/src/main/java/app/config/AppControllerConfig.java
rename to web-modules/java-lite/src/main/java/app/config/AppControllerConfig.java
diff --git a/java-lite/src/main/java/app/config/DbConfig.java b/web-modules/java-lite/src/main/java/app/config/DbConfig.java
similarity index 100%
rename from java-lite/src/main/java/app/config/DbConfig.java
rename to web-modules/java-lite/src/main/java/app/config/DbConfig.java
diff --git a/java-lite/src/main/java/app/controllers/ArticleController.java b/web-modules/java-lite/src/main/java/app/controllers/ArticleController.java
old mode 100755
new mode 100644
similarity index 100%
rename from java-lite/src/main/java/app/controllers/ArticleController.java
rename to web-modules/java-lite/src/main/java/app/controllers/ArticleController.java
diff --git a/java-lite/src/main/java/app/controllers/HomeController.java b/web-modules/java-lite/src/main/java/app/controllers/HomeController.java
old mode 100755
new mode 100644
similarity index 100%
rename from java-lite/src/main/java/app/controllers/HomeController.java
rename to web-modules/java-lite/src/main/java/app/controllers/HomeController.java
diff --git a/java-lite/src/main/java/app/controllers/ProductsController.java b/web-modules/java-lite/src/main/java/app/controllers/ProductsController.java
similarity index 100%
rename from java-lite/src/main/java/app/controllers/ProductsController.java
rename to web-modules/java-lite/src/main/java/app/controllers/ProductsController.java
diff --git a/java-lite/src/main/java/app/models/Article.java b/web-modules/java-lite/src/main/java/app/models/Article.java
old mode 100755
new mode 100644
similarity index 100%
rename from java-lite/src/main/java/app/models/Article.java
rename to web-modules/java-lite/src/main/java/app/models/Article.java
diff --git a/java-lite/src/main/java/app/models/Product.java b/web-modules/java-lite/src/main/java/app/models/Product.java
similarity index 100%
rename from java-lite/src/main/java/app/models/Product.java
rename to web-modules/java-lite/src/main/java/app/models/Product.java
diff --git a/java-lite/src/main/java/app/services/ArticleService.java b/web-modules/java-lite/src/main/java/app/services/ArticleService.java
old mode 100755
new mode 100644
similarity index 100%
rename from java-lite/src/main/java/app/services/ArticleService.java
rename to web-modules/java-lite/src/main/java/app/services/ArticleService.java
diff --git a/java-lite/src/main/java/app/services/ArticleServiceImpl.java b/web-modules/java-lite/src/main/java/app/services/ArticleServiceImpl.java
old mode 100755
new mode 100644
similarity index 100%
rename from java-lite/src/main/java/app/services/ArticleServiceImpl.java
rename to web-modules/java-lite/src/main/java/app/services/ArticleServiceImpl.java
diff --git a/java-lite/src/main/java/app/services/ArticleServiceModule.java b/web-modules/java-lite/src/main/java/app/services/ArticleServiceModule.java
old mode 100755
new mode 100644
similarity index 100%
rename from java-lite/src/main/java/app/services/ArticleServiceModule.java
rename to web-modules/java-lite/src/main/java/app/services/ArticleServiceModule.java
diff --git a/java-lite/src/main/resources/database.properties b/web-modules/java-lite/src/main/resources/database.properties
similarity index 100%
rename from java-lite/src/main/resources/database.properties
rename to web-modules/java-lite/src/main/resources/database.properties
diff --git a/java-lite/src/main/resources/logback.xml b/web-modules/java-lite/src/main/resources/logback.xml
similarity index 100%
rename from java-lite/src/main/resources/logback.xml
rename to web-modules/java-lite/src/main/resources/logback.xml
diff --git a/java-lite/src/main/webapp/WEB-INF/views/article/index.ftl b/web-modules/java-lite/src/main/webapp/WEB-INF/views/article/index.ftl
old mode 100755
new mode 100644
similarity index 100%
rename from java-lite/src/main/webapp/WEB-INF/views/article/index.ftl
rename to web-modules/java-lite/src/main/webapp/WEB-INF/views/article/index.ftl
diff --git a/java-lite/src/main/webapp/WEB-INF/views/article/search.ftl b/web-modules/java-lite/src/main/webapp/WEB-INF/views/article/search.ftl
old mode 100755
new mode 100644
similarity index 95%
rename from java-lite/src/main/webapp/WEB-INF/views/article/search.ftl
rename to web-modules/java-lite/src/main/webapp/WEB-INF/views/article/search.ftl
index 45a73808ed..540bbaf857
--- a/java-lite/src/main/webapp/WEB-INF/views/article/search.ftl
+++ b/web-modules/java-lite/src/main/webapp/WEB-INF/views/article/search.ftl
@@ -1,17 +1,17 @@
-<@content for="title">Search@content>
-
-
-
- | Title |
- Author |
- Words # |
- Date Published |
-
-
- | ${article.title} |
- ${article.author} |
- ${article.words} |
- ${article.date} |
-
-
+<@content for="title">Search@content>
+
+
+
+ | Title |
+ Author |
+ Words # |
+ Date Published |
+
+
+ | ${article.title} |
+ ${article.author} |
+ ${article.words} |
+ ${article.date} |
+
+
\ No newline at end of file
diff --git a/java-lite/src/main/webapp/WEB-INF/views/common/error.ftl b/web-modules/java-lite/src/main/webapp/WEB-INF/views/common/error.ftl
old mode 100755
new mode 100644
similarity index 100%
rename from java-lite/src/main/webapp/WEB-INF/views/common/error.ftl
rename to web-modules/java-lite/src/main/webapp/WEB-INF/views/common/error.ftl
diff --git a/java-lite/src/main/webapp/WEB-INF/views/home/index.ftl b/web-modules/java-lite/src/main/webapp/WEB-INF/views/home/index.ftl
old mode 100755
new mode 100644
similarity index 100%
rename from java-lite/src/main/webapp/WEB-INF/views/home/index.ftl
rename to web-modules/java-lite/src/main/webapp/WEB-INF/views/home/index.ftl
diff --git a/java-lite/src/main/webapp/WEB-INF/views/layouts/default_layout.ftl b/web-modules/java-lite/src/main/webapp/WEB-INF/views/layouts/default_layout.ftl
old mode 100755
new mode 100644
similarity index 100%
rename from java-lite/src/main/webapp/WEB-INF/views/layouts/default_layout.ftl
rename to web-modules/java-lite/src/main/webapp/WEB-INF/views/layouts/default_layout.ftl
diff --git a/java-lite/src/main/webapp/WEB-INF/views/layouts/footer.ftl b/web-modules/java-lite/src/main/webapp/WEB-INF/views/layouts/footer.ftl
old mode 100755
new mode 100644
similarity index 100%
rename from java-lite/src/main/webapp/WEB-INF/views/layouts/footer.ftl
rename to web-modules/java-lite/src/main/webapp/WEB-INF/views/layouts/footer.ftl
diff --git a/java-lite/src/main/webapp/WEB-INF/views/layouts/header.ftl b/web-modules/java-lite/src/main/webapp/WEB-INF/views/layouts/header.ftl
old mode 100755
new mode 100644
similarity index 100%
rename from java-lite/src/main/webapp/WEB-INF/views/layouts/header.ftl
rename to web-modules/java-lite/src/main/webapp/WEB-INF/views/layouts/header.ftl
diff --git a/java-lite/src/main/webapp/WEB-INF/views/products/_comma.ftl b/web-modules/java-lite/src/main/webapp/WEB-INF/views/products/_comma.ftl
similarity index 100%
rename from java-lite/src/main/webapp/WEB-INF/views/products/_comma.ftl
rename to web-modules/java-lite/src/main/webapp/WEB-INF/views/products/_comma.ftl
diff --git a/java-lite/src/main/webapp/WEB-INF/views/products/_product.ftl b/web-modules/java-lite/src/main/webapp/WEB-INF/views/products/_product.ftl
similarity index 100%
rename from java-lite/src/main/webapp/WEB-INF/views/products/_product.ftl
rename to web-modules/java-lite/src/main/webapp/WEB-INF/views/products/_product.ftl
diff --git a/java-lite/src/main/webapp/WEB-INF/views/products/index.ftl b/web-modules/java-lite/src/main/webapp/WEB-INF/views/products/index.ftl
similarity index 100%
rename from java-lite/src/main/webapp/WEB-INF/views/products/index.ftl
rename to web-modules/java-lite/src/main/webapp/WEB-INF/views/products/index.ftl
diff --git a/java-lite/src/main/webapp/WEB-INF/views/products/message.ftl b/web-modules/java-lite/src/main/webapp/WEB-INF/views/products/message.ftl
similarity index 100%
rename from java-lite/src/main/webapp/WEB-INF/views/products/message.ftl
rename to web-modules/java-lite/src/main/webapp/WEB-INF/views/products/message.ftl
diff --git a/java-lite/src/main/webapp/WEB-INF/web.xml b/web-modules/java-lite/src/main/webapp/WEB-INF/web.xml
similarity index 100%
rename from java-lite/src/main/webapp/WEB-INF/web.xml
rename to web-modules/java-lite/src/main/webapp/WEB-INF/web.xml
diff --git a/java-lite/src/test/java/app/controllers/ArticleControllerSpec.java b/web-modules/java-lite/src/test/java/app/controllers/ArticleControllerSpec.java
old mode 100755
new mode 100644
similarity index 100%
rename from java-lite/src/test/java/app/controllers/ArticleControllerSpec.java
rename to web-modules/java-lite/src/test/java/app/controllers/ArticleControllerSpec.java
diff --git a/java-lite/src/test/java/app/models/ProductUnitTest.java b/web-modules/java-lite/src/test/java/app/models/ProductUnitTest.java
similarity index 100%
rename from java-lite/src/test/java/app/models/ProductUnitTest.java
rename to web-modules/java-lite/src/test/java/app/models/ProductUnitTest.java
diff --git a/javax-servlets-2/README.md b/web-modules/javax-servlets-2/README.md
similarity index 100%
rename from javax-servlets-2/README.md
rename to web-modules/javax-servlets-2/README.md
diff --git a/javax-servlets-2/pom.xml b/web-modules/javax-servlets-2/pom.xml
similarity index 98%
rename from javax-servlets-2/pom.xml
rename to web-modules/javax-servlets-2/pom.xml
index 5fa1e76e0b..1c008ceb9a 100644
--- a/javax-servlets-2/pom.xml
+++ b/web-modules/javax-servlets-2/pom.xml
@@ -11,7 +11,7 @@
com.baeldung
- parent-modules
+ web-modules
1.0.0-SNAPSHOT
diff --git a/javax-servlets-2/src/main/java/com/baeldung/servlets/UserServlet.java b/web-modules/javax-servlets-2/src/main/java/com/baeldung/servlets/UserServlet.java
similarity index 100%
rename from javax-servlets-2/src/main/java/com/baeldung/servlets/UserServlet.java
rename to web-modules/javax-servlets-2/src/main/java/com/baeldung/servlets/UserServlet.java
diff --git a/javax-servlets-2/src/main/java/com/baeldung/user/check/User.java b/web-modules/javax-servlets-2/src/main/java/com/baeldung/user/check/User.java
similarity index 100%
rename from javax-servlets-2/src/main/java/com/baeldung/user/check/User.java
rename to web-modules/javax-servlets-2/src/main/java/com/baeldung/user/check/User.java
diff --git a/javax-servlets-2/src/main/java/com/baeldung/user/check/UserCheckFilter.java b/web-modules/javax-servlets-2/src/main/java/com/baeldung/user/check/UserCheckFilter.java
similarity index 100%
rename from javax-servlets-2/src/main/java/com/baeldung/user/check/UserCheckFilter.java
rename to web-modules/javax-servlets-2/src/main/java/com/baeldung/user/check/UserCheckFilter.java
diff --git a/javax-servlets-2/src/main/java/com/baeldung/user/check/UserCheckLoginServlet.java b/web-modules/javax-servlets-2/src/main/java/com/baeldung/user/check/UserCheckLoginServlet.java
similarity index 100%
rename from javax-servlets-2/src/main/java/com/baeldung/user/check/UserCheckLoginServlet.java
rename to web-modules/javax-servlets-2/src/main/java/com/baeldung/user/check/UserCheckLoginServlet.java
diff --git a/javax-servlets-2/src/main/java/com/baeldung/user/check/UserCheckLogoutServlet.java b/web-modules/javax-servlets-2/src/main/java/com/baeldung/user/check/UserCheckLogoutServlet.java
similarity index 100%
rename from javax-servlets-2/src/main/java/com/baeldung/user/check/UserCheckLogoutServlet.java
rename to web-modules/javax-servlets-2/src/main/java/com/baeldung/user/check/UserCheckLogoutServlet.java
diff --git a/javax-servlets-2/src/main/java/com/baeldung/user/check/UserCheckServlet.java b/web-modules/javax-servlets-2/src/main/java/com/baeldung/user/check/UserCheckServlet.java
similarity index 100%
rename from javax-servlets-2/src/main/java/com/baeldung/user/check/UserCheckServlet.java
rename to web-modules/javax-servlets-2/src/main/java/com/baeldung/user/check/UserCheckServlet.java
diff --git a/javax-servlets-2/src/main/resources/logback.xml b/web-modules/javax-servlets-2/src/main/resources/logback.xml
similarity index 100%
rename from javax-servlets-2/src/main/resources/logback.xml
rename to web-modules/javax-servlets-2/src/main/resources/logback.xml
diff --git a/javax-servlets-2/src/main/webapp/WEB-INF/user.check/home.jsp b/web-modules/javax-servlets-2/src/main/webapp/WEB-INF/user.check/home.jsp
similarity index 100%
rename from javax-servlets-2/src/main/webapp/WEB-INF/user.check/home.jsp
rename to web-modules/javax-servlets-2/src/main/webapp/WEB-INF/user.check/home.jsp
diff --git a/javax-servlets-2/src/main/webapp/WEB-INF/user.check/login.jsp b/web-modules/javax-servlets-2/src/main/webapp/WEB-INF/user.check/login.jsp
similarity index 100%
rename from javax-servlets-2/src/main/webapp/WEB-INF/user.check/login.jsp
rename to web-modules/javax-servlets-2/src/main/webapp/WEB-INF/user.check/login.jsp
diff --git a/javax-servlets-2/src/test/java/com/baeldung/servlets/TestUtil.java b/web-modules/javax-servlets-2/src/test/java/com/baeldung/servlets/TestUtil.java
similarity index 100%
rename from javax-servlets-2/src/test/java/com/baeldung/servlets/TestUtil.java
rename to web-modules/javax-servlets-2/src/test/java/com/baeldung/servlets/TestUtil.java
diff --git a/javax-servlets-2/src/test/java/com/baeldung/servlets/UserServletUnitTest.java b/web-modules/javax-servlets-2/src/test/java/com/baeldung/servlets/UserServletUnitTest.java
similarity index 100%
rename from javax-servlets-2/src/test/java/com/baeldung/servlets/UserServletUnitTest.java
rename to web-modules/javax-servlets-2/src/test/java/com/baeldung/servlets/UserServletUnitTest.java
diff --git a/javax-servlets-2/src/test/java/com/baeldung/user/check/UserCheckServletLiveTest.java b/web-modules/javax-servlets-2/src/test/java/com/baeldung/user/check/UserCheckServletLiveTest.java
similarity index 100%
rename from javax-servlets-2/src/test/java/com/baeldung/user/check/UserCheckServletLiveTest.java
rename to web-modules/javax-servlets-2/src/test/java/com/baeldung/user/check/UserCheckServletLiveTest.java
diff --git a/javax-servlets/.gitignore b/web-modules/javax-servlets/.gitignore
similarity index 100%
rename from javax-servlets/.gitignore
rename to web-modules/javax-servlets/.gitignore
diff --git a/javax-servlets/README.md b/web-modules/javax-servlets/README.md
similarity index 100%
rename from javax-servlets/README.md
rename to web-modules/javax-servlets/README.md
diff --git a/javax-servlets/pom.xml b/web-modules/javax-servlets/pom.xml
similarity index 97%
rename from javax-servlets/pom.xml
rename to web-modules/javax-servlets/pom.xml
index 1dc58aa917..298c8562e4 100644
--- a/javax-servlets/pom.xml
+++ b/web-modules/javax-servlets/pom.xml
@@ -11,7 +11,7 @@
com.baeldung
- parent-modules
+ web-modules
1.0.0-SNAPSHOT
diff --git a/javax-servlets/src/main/java/com/baeldung/Constants.java b/web-modules/javax-servlets/src/main/java/com/baeldung/Constants.java
similarity index 100%
rename from javax-servlets/src/main/java/com/baeldung/Constants.java
rename to web-modules/javax-servlets/src/main/java/com/baeldung/Constants.java
diff --git a/javax-servlets/src/main/java/com/baeldung/controller/StudentServlet.java b/web-modules/javax-servlets/src/main/java/com/baeldung/controller/StudentServlet.java
similarity index 100%
rename from javax-servlets/src/main/java/com/baeldung/controller/StudentServlet.java
rename to web-modules/javax-servlets/src/main/java/com/baeldung/controller/StudentServlet.java
diff --git a/javax-servlets/src/main/java/com/baeldung/model/Employee.java b/web-modules/javax-servlets/src/main/java/com/baeldung/model/Employee.java
similarity index 100%
rename from javax-servlets/src/main/java/com/baeldung/model/Employee.java
rename to web-modules/javax-servlets/src/main/java/com/baeldung/model/Employee.java
diff --git a/javax-servlets/src/main/java/com/baeldung/model/Student.java b/web-modules/javax-servlets/src/main/java/com/baeldung/model/Student.java
similarity index 100%
rename from javax-servlets/src/main/java/com/baeldung/model/Student.java
rename to web-modules/javax-servlets/src/main/java/com/baeldung/model/Student.java
diff --git a/javax-servlets/src/main/java/com/baeldung/service/StudentService.java b/web-modules/javax-servlets/src/main/java/com/baeldung/service/StudentService.java
similarity index 100%
rename from javax-servlets/src/main/java/com/baeldung/service/StudentService.java
rename to web-modules/javax-servlets/src/main/java/com/baeldung/service/StudentService.java
diff --git a/javax-servlets/src/main/java/com/baeldung/servlets/CookieReader.java b/web-modules/javax-servlets/src/main/java/com/baeldung/servlets/CookieReader.java
similarity index 100%
rename from javax-servlets/src/main/java/com/baeldung/servlets/CookieReader.java
rename to web-modules/javax-servlets/src/main/java/com/baeldung/servlets/CookieReader.java
diff --git a/javax-servlets/src/main/java/com/baeldung/servlets/DownloadServlet.java b/web-modules/javax-servlets/src/main/java/com/baeldung/servlets/DownloadServlet.java
similarity index 100%
rename from javax-servlets/src/main/java/com/baeldung/servlets/DownloadServlet.java
rename to web-modules/javax-servlets/src/main/java/com/baeldung/servlets/DownloadServlet.java
diff --git a/javax-servlets/src/main/java/com/baeldung/servlets/EmployeeServlet.java b/web-modules/javax-servlets/src/main/java/com/baeldung/servlets/EmployeeServlet.java
similarity index 100%
rename from javax-servlets/src/main/java/com/baeldung/servlets/EmployeeServlet.java
rename to web-modules/javax-servlets/src/main/java/com/baeldung/servlets/EmployeeServlet.java
diff --git a/javax-servlets/src/main/java/com/baeldung/servlets/ErrorHandlerServlet.java b/web-modules/javax-servlets/src/main/java/com/baeldung/servlets/ErrorHandlerServlet.java
similarity index 100%
rename from javax-servlets/src/main/java/com/baeldung/servlets/ErrorHandlerServlet.java
rename to web-modules/javax-servlets/src/main/java/com/baeldung/servlets/ErrorHandlerServlet.java
diff --git a/javax-servlets/src/main/java/com/baeldung/servlets/FormServlet.java b/web-modules/javax-servlets/src/main/java/com/baeldung/servlets/FormServlet.java
similarity index 100%
rename from javax-servlets/src/main/java/com/baeldung/servlets/FormServlet.java
rename to web-modules/javax-servlets/src/main/java/com/baeldung/servlets/FormServlet.java
diff --git a/javax-servlets/src/main/java/com/baeldung/servlets/LoginServlet.java b/web-modules/javax-servlets/src/main/java/com/baeldung/servlets/LoginServlet.java
similarity index 100%
rename from javax-servlets/src/main/java/com/baeldung/servlets/LoginServlet.java
rename to web-modules/javax-servlets/src/main/java/com/baeldung/servlets/LoginServlet.java
diff --git a/javax-servlets/src/main/java/com/baeldung/servlets/MainServlet.java b/web-modules/javax-servlets/src/main/java/com/baeldung/servlets/MainServlet.java
similarity index 96%
rename from javax-servlets/src/main/java/com/baeldung/servlets/MainServlet.java
rename to web-modules/javax-servlets/src/main/java/com/baeldung/servlets/MainServlet.java
index 12c75444bb..198920cb23 100644
--- a/javax-servlets/src/main/java/com/baeldung/servlets/MainServlet.java
+++ b/web-modules/javax-servlets/src/main/java/com/baeldung/servlets/MainServlet.java
@@ -1,21 +1,21 @@
-package com.baeldung.servlets;
-
-import java.io.IOException;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-@WebServlet("/main")
-public class MainServlet extends HttpServlet {
-
-
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- request.getRequestDispatcher("/WEB-INF/jsp/main.jsp").forward(request, response);
- }
-
-
-
-
-}
+package com.baeldung.servlets;
+
+import java.io.IOException;
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+@WebServlet("/main")
+public class MainServlet extends HttpServlet {
+
+
+ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ request.getRequestDispatcher("/WEB-INF/jsp/main.jsp").forward(request, response);
+ }
+
+
+
+
+}
diff --git a/javax-servlets/src/main/java/com/baeldung/servlets/MultipartServlet.java b/web-modules/javax-servlets/src/main/java/com/baeldung/servlets/MultipartServlet.java
similarity index 100%
rename from javax-servlets/src/main/java/com/baeldung/servlets/MultipartServlet.java
rename to web-modules/javax-servlets/src/main/java/com/baeldung/servlets/MultipartServlet.java
diff --git a/javax-servlets/src/main/java/com/baeldung/servlets/MyHttpServlet.java b/web-modules/javax-servlets/src/main/java/com/baeldung/servlets/MyHttpServlet.java
similarity index 100%
rename from javax-servlets/src/main/java/com/baeldung/servlets/MyHttpServlet.java
rename to web-modules/javax-servlets/src/main/java/com/baeldung/servlets/MyHttpServlet.java
diff --git a/javax-servlets/src/main/java/com/baeldung/servlets/RandomErrorServlet.java b/web-modules/javax-servlets/src/main/java/com/baeldung/servlets/RandomErrorServlet.java
similarity index 100%
rename from javax-servlets/src/main/java/com/baeldung/servlets/RandomErrorServlet.java
rename to web-modules/javax-servlets/src/main/java/com/baeldung/servlets/RandomErrorServlet.java
diff --git a/javax-servlets/src/main/java/com/baeldung/servlets/UpdateServlet.java b/web-modules/javax-servlets/src/main/java/com/baeldung/servlets/UpdateServlet.java
similarity index 96%
rename from javax-servlets/src/main/java/com/baeldung/servlets/UpdateServlet.java
rename to web-modules/javax-servlets/src/main/java/com/baeldung/servlets/UpdateServlet.java
index 721e3afe6b..8582a1ccef 100644
--- a/javax-servlets/src/main/java/com/baeldung/servlets/UpdateServlet.java
+++ b/web-modules/javax-servlets/src/main/java/com/baeldung/servlets/UpdateServlet.java
@@ -1,31 +1,31 @@
-package com.baeldung.servlets;
-
-import java.io.IOException;
-
-import javax.servlet.RequestDispatcher;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
-
-@WebServlet("/update")
-public class UpdateServlet extends HttpServlet {
-
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
-
- HttpSession session = request.getSession(false);
-
- if (session != null) {
-
- session.setAttribute("userName", request.getParameter("userName"));
- session.setAttribute("age", request.getParameter("age"));
-
- request.setAttribute("sessionData", session);
- }
-
- request.getRequestDispatcher("/WEB-INF/jsp/update.jsp").forward(request, response);
- }
-
-}
+package com.baeldung.servlets;
+
+import java.io.IOException;
+
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+
+@WebServlet("/update")
+public class UpdateServlet extends HttpServlet {
+
+ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+
+ HttpSession session = request.getSession(false);
+
+ if (session != null) {
+
+ session.setAttribute("userName", request.getParameter("userName"));
+ session.setAttribute("age", request.getParameter("age"));
+
+ request.setAttribute("sessionData", session);
+ }
+
+ request.getRequestDispatcher("/WEB-INF/jsp/update.jsp").forward(request, response);
+ }
+
+}
diff --git a/javax-servlets/src/main/java/com/baeldung/servlets/UploadServlet.java b/web-modules/javax-servlets/src/main/java/com/baeldung/servlets/UploadServlet.java
similarity index 100%
rename from javax-servlets/src/main/java/com/baeldung/servlets/UploadServlet.java
rename to web-modules/javax-servlets/src/main/java/com/baeldung/servlets/UploadServlet.java
diff --git a/javax-servlets/src/main/java/com/baeldung/servlets/UploadWelcomeServlet.java b/web-modules/javax-servlets/src/main/java/com/baeldung/servlets/UploadWelcomeServlet.java
similarity index 100%
rename from javax-servlets/src/main/java/com/baeldung/servlets/UploadWelcomeServlet.java
rename to web-modules/javax-servlets/src/main/java/com/baeldung/servlets/UploadWelcomeServlet.java
diff --git a/javax-servlets/src/main/java/com/baeldung/servlets/UserLoginServlet.java b/web-modules/javax-servlets/src/main/java/com/baeldung/servlets/UserLoginServlet.java
similarity index 96%
rename from javax-servlets/src/main/java/com/baeldung/servlets/UserLoginServlet.java
rename to web-modules/javax-servlets/src/main/java/com/baeldung/servlets/UserLoginServlet.java
index fd732ef89d..25ec6a8f59 100644
--- a/javax-servlets/src/main/java/com/baeldung/servlets/UserLoginServlet.java
+++ b/web-modules/javax-servlets/src/main/java/com/baeldung/servlets/UserLoginServlet.java
@@ -1,28 +1,28 @@
-package com.baeldung.servlets;
-
-
-import java.io.IOException;
-
-import javax.servlet.RequestDispatcher;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
-
-@WebServlet("/u_login")
-public class UserLoginServlet extends HttpServlet {
-
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- HttpSession session = request.getSession();
-
- session.setAttribute("userId", request.getParameter("userId"));
-
- request.setAttribute("id", session.getAttribute("userId"));
-
- request.getRequestDispatcher("/WEB-INF/jsp/userlogin.jsp").forward(request, response);
-
- }
-
-}
+package com.baeldung.servlets;
+
+
+import java.io.IOException;
+
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+
+@WebServlet("/u_login")
+public class UserLoginServlet extends HttpServlet {
+
+ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ HttpSession session = request.getSession();
+
+ session.setAttribute("userId", request.getParameter("userId"));
+
+ request.setAttribute("id", session.getAttribute("userId"));
+
+ request.getRequestDispatcher("/WEB-INF/jsp/userlogin.jsp").forward(request, response);
+
+ }
+
+}
diff --git a/javax-servlets/src/main/java/com/baeldung/servlets/UserServlet.java b/web-modules/javax-servlets/src/main/java/com/baeldung/servlets/UserServlet.java
similarity index 97%
rename from javax-servlets/src/main/java/com/baeldung/servlets/UserServlet.java
rename to web-modules/javax-servlets/src/main/java/com/baeldung/servlets/UserServlet.java
index 24f2500aa4..75977b0660 100644
--- a/javax-servlets/src/main/java/com/baeldung/servlets/UserServlet.java
+++ b/web-modules/javax-servlets/src/main/java/com/baeldung/servlets/UserServlet.java
@@ -1,49 +1,49 @@
-package com.baeldung.servlets;
-
-import java.io.IOException;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebInitParam;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-@WebServlet(name = "UserServlet", urlPatterns = "/userServlet", initParams={
- @WebInitParam(name="name", value="Not provided"),
- @WebInitParam(name="email", value="Not provided")})
-public class UserServlet extends HttpServlet {
-
- @Override
- protected void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- processRequest(request, response);
- forwardRequest(request, response, "/WEB-INF/jsp/result.jsp");
- }
-
- @Override
- protected void doPost(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- }
-
- protected void processRequest(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- request.setAttribute("name", getRequestParameter(request, "name"));
- request.setAttribute("email", getRequestParameter(request, "email"));
- request.setAttribute("province", getContextParameter("province"));
- request.setAttribute("country", getContextParameter("country"));
- }
-
- protected String getRequestParameter(HttpServletRequest request, String name) {
- String param = request.getParameter(name);
- return !param.isEmpty() ? param : getInitParameter(name);
- }
-
- protected String getContextParameter(String name) {
- return getServletContext().getInitParameter(name);
- }
-
- protected void forwardRequest(HttpServletRequest request, HttpServletResponse response, String path)
- throws ServletException, IOException {
- request.getRequestDispatcher(path).forward(request, response);
- }
+package com.baeldung.servlets;
+
+import java.io.IOException;
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebInitParam;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+@WebServlet(name = "UserServlet", urlPatterns = "/userServlet", initParams={
+ @WebInitParam(name="name", value="Not provided"),
+ @WebInitParam(name="email", value="Not provided")})
+public class UserServlet extends HttpServlet {
+
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ processRequest(request, response);
+ forwardRequest(request, response, "/WEB-INF/jsp/result.jsp");
+ }
+
+ @Override
+ protected void doPost(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ }
+
+ protected void processRequest(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ request.setAttribute("name", getRequestParameter(request, "name"));
+ request.setAttribute("email", getRequestParameter(request, "email"));
+ request.setAttribute("province", getContextParameter("province"));
+ request.setAttribute("country", getContextParameter("country"));
+ }
+
+ protected String getRequestParameter(HttpServletRequest request, String name) {
+ String param = request.getParameter(name);
+ return !param.isEmpty() ? param : getInitParameter(name);
+ }
+
+ protected String getContextParameter(String name) {
+ return getServletContext().getInitParameter(name);
+ }
+
+ protected void forwardRequest(HttpServletRequest request, HttpServletResponse response, String path)
+ throws ServletException, IOException {
+ request.getRequestDispatcher(path).forward(request, response);
+ }
}
\ No newline at end of file
diff --git a/javax-servlets/src/main/java/com/baeldung/servlets/WelcomeServlet.java b/web-modules/javax-servlets/src/main/java/com/baeldung/servlets/WelcomeServlet.java
similarity index 100%
rename from javax-servlets/src/main/java/com/baeldung/servlets/WelcomeServlet.java
rename to web-modules/javax-servlets/src/main/java/com/baeldung/servlets/WelcomeServlet.java
diff --git a/javax-servlets/src/main/resources/logback.xml b/web-modules/javax-servlets/src/main/resources/logback.xml
similarity index 100%
rename from javax-servlets/src/main/resources/logback.xml
rename to web-modules/javax-servlets/src/main/resources/logback.xml
diff --git a/javax-servlets/src/main/webapp/WEB-INF/jsp/index.jsp b/web-modules/javax-servlets/src/main/webapp/WEB-INF/jsp/index.jsp
similarity index 100%
rename from javax-servlets/src/main/webapp/WEB-INF/jsp/index.jsp
rename to web-modules/javax-servlets/src/main/webapp/WEB-INF/jsp/index.jsp
diff --git a/javax-servlets/src/main/webapp/WEB-INF/jsp/login.jsp b/web-modules/javax-servlets/src/main/webapp/WEB-INF/jsp/login.jsp
similarity index 100%
rename from javax-servlets/src/main/webapp/WEB-INF/jsp/login.jsp
rename to web-modules/javax-servlets/src/main/webapp/WEB-INF/jsp/login.jsp
diff --git a/javax-servlets/src/main/webapp/WEB-INF/jsp/main.jsp b/web-modules/javax-servlets/src/main/webapp/WEB-INF/jsp/main.jsp
similarity index 96%
rename from javax-servlets/src/main/webapp/WEB-INF/jsp/main.jsp
rename to web-modules/javax-servlets/src/main/webapp/WEB-INF/jsp/main.jsp
index cbbb578770..313310a2a9 100644
--- a/javax-servlets/src/main/webapp/WEB-INF/jsp/main.jsp
+++ b/web-modules/javax-servlets/src/main/webapp/WEB-INF/jsp/main.jsp
@@ -1,15 +1,15 @@
-<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
- pageEncoding="ISO-8859-1"%>
-
-
-
-
-
-
-
-
+<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
+ pageEncoding="ISO-8859-1"%>
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/javax-servlets/src/main/webapp/WEB-INF/jsp/result.jsp b/web-modules/javax-servlets/src/main/webapp/WEB-INF/jsp/result.jsp
similarity index 100%
rename from javax-servlets/src/main/webapp/WEB-INF/jsp/result.jsp
rename to web-modules/javax-servlets/src/main/webapp/WEB-INF/jsp/result.jsp
diff --git a/javax-servlets/src/main/webapp/WEB-INF/jsp/student-record.jsp b/web-modules/javax-servlets/src/main/webapp/WEB-INF/jsp/student-record.jsp
similarity index 100%
rename from javax-servlets/src/main/webapp/WEB-INF/jsp/student-record.jsp
rename to web-modules/javax-servlets/src/main/webapp/WEB-INF/jsp/student-record.jsp
diff --git a/javax-servlets/src/main/webapp/WEB-INF/jsp/update.jsp b/web-modules/javax-servlets/src/main/webapp/WEB-INF/jsp/update.jsp
similarity index 96%
rename from javax-servlets/src/main/webapp/WEB-INF/jsp/update.jsp
rename to web-modules/javax-servlets/src/main/webapp/WEB-INF/jsp/update.jsp
index 36ac2d277b..fae5ea2ac2 100644
--- a/javax-servlets/src/main/webapp/WEB-INF/jsp/update.jsp
+++ b/web-modules/javax-servlets/src/main/webapp/WEB-INF/jsp/update.jsp
@@ -1,17 +1,17 @@
-<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
- pageEncoding="ISO-8859-1"%>
-
-
-
-
-
-
-
- Hi, User : ${sessionData.getAttribute("userId")}
-
-
Your User Data has been updated as below :
-
User Name: ${sessionData.getAttribute("userName")}
-
Age : ${sessionData.getAttribute("age")}
-
-
+<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
+ pageEncoding="ISO-8859-1"%>
+
+
+
+
+
+
+
+ Hi, User : ${sessionData.getAttribute("userId")}
+
+
Your User Data has been updated as below :
+
User Name: ${sessionData.getAttribute("userName")}
+
Age : ${sessionData.getAttribute("age")}
+
+
\ No newline at end of file
diff --git a/javax-servlets/src/main/webapp/WEB-INF/jsp/userlogin.jsp b/web-modules/javax-servlets/src/main/webapp/WEB-INF/jsp/userlogin.jsp
similarity index 96%
rename from javax-servlets/src/main/webapp/WEB-INF/jsp/userlogin.jsp
rename to web-modules/javax-servlets/src/main/webapp/WEB-INF/jsp/userlogin.jsp
index f181222f39..b2a550b811 100644
--- a/javax-servlets/src/main/webapp/WEB-INF/jsp/userlogin.jsp
+++ b/web-modules/javax-servlets/src/main/webapp/WEB-INF/jsp/userlogin.jsp
@@ -1,18 +1,18 @@
-<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
- pageEncoding="ISO-8859-1"%>
-
-
-
-
-
-
- Update your User Details:
-
-
-
+<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
+ pageEncoding="ISO-8859-1"%>
+
+
+
+
+
+
+ Update your User Details:
+
+
+
\ No newline at end of file
diff --git a/javax-servlets/src/main/webapp/WEB-INF/jsp/welcome.jsp b/web-modules/javax-servlets/src/main/webapp/WEB-INF/jsp/welcome.jsp
similarity index 100%
rename from javax-servlets/src/main/webapp/WEB-INF/jsp/welcome.jsp
rename to web-modules/javax-servlets/src/main/webapp/WEB-INF/jsp/welcome.jsp
diff --git a/javax-servlets/src/main/webapp/WEB-INF/sample.txt b/web-modules/javax-servlets/src/main/webapp/WEB-INF/sample.txt
similarity index 100%
rename from javax-servlets/src/main/webapp/WEB-INF/sample.txt
rename to web-modules/javax-servlets/src/main/webapp/WEB-INF/sample.txt
diff --git a/javax-servlets/src/main/webapp/WEB-INF/web.xml b/web-modules/javax-servlets/src/main/webapp/WEB-INF/web.xml
similarity index 100%
rename from javax-servlets/src/main/webapp/WEB-INF/web.xml
rename to web-modules/javax-servlets/src/main/webapp/WEB-INF/web.xml
diff --git a/javax-servlets/src/main/webapp/error-404.html b/web-modules/javax-servlets/src/main/webapp/error-404.html
similarity index 100%
rename from javax-servlets/src/main/webapp/error-404.html
rename to web-modules/javax-servlets/src/main/webapp/error-404.html
diff --git a/javax-servlets/src/main/webapp/result.jsp b/web-modules/javax-servlets/src/main/webapp/result.jsp
similarity index 100%
rename from javax-servlets/src/main/webapp/result.jsp
rename to web-modules/javax-servlets/src/main/webapp/result.jsp
diff --git a/javax-servlets/src/main/webapp/upload.jsp b/web-modules/javax-servlets/src/main/webapp/upload.jsp
similarity index 100%
rename from javax-servlets/src/main/webapp/upload.jsp
rename to web-modules/javax-servlets/src/main/webapp/upload.jsp
diff --git a/javax-servlets/src/main/webapp/user.jsp b/web-modules/javax-servlets/src/main/webapp/user.jsp
similarity index 100%
rename from javax-servlets/src/main/webapp/user.jsp
rename to web-modules/javax-servlets/src/main/webapp/user.jsp
diff --git a/javax-servlets/src/test/java/com/baeldung/servlets/EmployeeServletIntegrationTest.java b/web-modules/javax-servlets/src/test/java/com/baeldung/servlets/EmployeeServletIntegrationTest.java
similarity index 100%
rename from javax-servlets/src/test/java/com/baeldung/servlets/EmployeeServletIntegrationTest.java
rename to web-modules/javax-servlets/src/test/java/com/baeldung/servlets/EmployeeServletIntegrationTest.java
diff --git a/javax-servlets/src/test/java/com/baeldung/test/FormServletLiveTest.java b/web-modules/javax-servlets/src/test/java/com/baeldung/test/FormServletLiveTest.java
similarity index 100%
rename from javax-servlets/src/test/java/com/baeldung/test/FormServletLiveTest.java
rename to web-modules/javax-servlets/src/test/java/com/baeldung/test/FormServletLiveTest.java
diff --git a/javax-servlets/src/test/java/com/baeldung/test/UserServletUnitTest.java b/web-modules/javax-servlets/src/test/java/com/baeldung/test/UserServletUnitTest.java
similarity index 97%
rename from javax-servlets/src/test/java/com/baeldung/test/UserServletUnitTest.java
rename to web-modules/javax-servlets/src/test/java/com/baeldung/test/UserServletUnitTest.java
index 6222e35f4b..ef3d877dd7 100644
--- a/javax-servlets/src/test/java/com/baeldung/test/UserServletUnitTest.java
+++ b/web-modules/javax-servlets/src/test/java/com/baeldung/test/UserServletUnitTest.java
@@ -1,52 +1,52 @@
-package com.baeldung.test;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import static org.assertj.core.api.Assertions.assertThat;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import static org.mockito.Mockito.atLeast;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-public class UserServletUnitTest {
-
- private static HttpServletRequest request;
- private static HttpServletResponse response;
-
-
- @BeforeClass
- public static void setUpHttpServletRequestMockInstance() {
- request = mock(HttpServletRequest.class);
- }
-
- @BeforeClass
- public static void setUpHttpServletResponsetMockInstance() {
- response = mock(HttpServletResponse.class);
- }
-
- @Test
- public void givenHttpServletRequestMockInstance_whenCalledgetParameter_thenCalledAtLeastOnce() {
- request.getParameter("name");
- verify(request, atLeast(1)).getParameter("name");
- }
-
- @Test
- public void givenHttpServletRequestMockInstance_whenCalledgetParameter_thenOneAssertion() {
- when(request.getParameter("name")).thenReturn("username");
- assertThat(request.getParameter("name")).isEqualTo("username");
- }
-
- @Test
- public void givenHttpServletResponseMockInstance_whenCalledgetContentType_thenCalledAtLeastOnce() {
- response.getContentType();
- verify(response, atLeast(1)).getContentType();
- }
-
- @Test
- public void givenHttpServletResponseMockInstance_whenCalledgetContentType_thenOneAssertion() {
- when(response.getContentType()).thenReturn("text/html");
- assertThat(response.getContentType()).isEqualTo("text/html");
- }
+package com.baeldung.test;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import static org.assertj.core.api.Assertions.assertThat;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import static org.mockito.Mockito.atLeast;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+public class UserServletUnitTest {
+
+ private static HttpServletRequest request;
+ private static HttpServletResponse response;
+
+
+ @BeforeClass
+ public static void setUpHttpServletRequestMockInstance() {
+ request = mock(HttpServletRequest.class);
+ }
+
+ @BeforeClass
+ public static void setUpHttpServletResponsetMockInstance() {
+ response = mock(HttpServletResponse.class);
+ }
+
+ @Test
+ public void givenHttpServletRequestMockInstance_whenCalledgetParameter_thenCalledAtLeastOnce() {
+ request.getParameter("name");
+ verify(request, atLeast(1)).getParameter("name");
+ }
+
+ @Test
+ public void givenHttpServletRequestMockInstance_whenCalledgetParameter_thenOneAssertion() {
+ when(request.getParameter("name")).thenReturn("username");
+ assertThat(request.getParameter("name")).isEqualTo("username");
+ }
+
+ @Test
+ public void givenHttpServletResponseMockInstance_whenCalledgetContentType_thenCalledAtLeastOnce() {
+ response.getContentType();
+ verify(response, atLeast(1)).getContentType();
+ }
+
+ @Test
+ public void givenHttpServletResponseMockInstance_whenCalledgetContentType_thenOneAssertion() {
+ when(response.getContentType()).thenReturn("text/html");
+ assertThat(response.getContentType()).isEqualTo("text/html");
+ }
}
\ No newline at end of file
diff --git a/jee-7/.gitignore b/web-modules/jee-7/.gitignore
similarity index 100%
rename from jee-7/.gitignore
rename to web-modules/jee-7/.gitignore
diff --git a/jee-7/README.md b/web-modules/jee-7/README.md
similarity index 100%
rename from jee-7/README.md
rename to web-modules/jee-7/README.md
diff --git a/jee-7/pom.xml b/web-modules/jee-7/pom.xml
similarity index 99%
rename from jee-7/pom.xml
rename to web-modules/jee-7/pom.xml
index eb23a3e150..08c8b2cc68 100644
--- a/jee-7/pom.xml
+++ b/web-modules/jee-7/pom.xml
@@ -11,7 +11,7 @@
com.baeldung
- parent-modules
+ web-modules
1.0.0-SNAPSHOT
diff --git a/jee-7/src/main/java/com/baeldung/arquillian/CapsConvertor.java b/web-modules/jee-7/src/main/java/com/baeldung/arquillian/CapsConvertor.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/arquillian/CapsConvertor.java
rename to web-modules/jee-7/src/main/java/com/baeldung/arquillian/CapsConvertor.java
diff --git a/jee-7/src/main/java/com/baeldung/arquillian/CapsService.java b/web-modules/jee-7/src/main/java/com/baeldung/arquillian/CapsService.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/arquillian/CapsService.java
rename to web-modules/jee-7/src/main/java/com/baeldung/arquillian/CapsService.java
diff --git a/jee-7/src/main/java/com/baeldung/arquillian/Car.java b/web-modules/jee-7/src/main/java/com/baeldung/arquillian/Car.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/arquillian/Car.java
rename to web-modules/jee-7/src/main/java/com/baeldung/arquillian/Car.java
diff --git a/jee-7/src/main/java/com/baeldung/arquillian/CarEJB.java b/web-modules/jee-7/src/main/java/com/baeldung/arquillian/CarEJB.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/arquillian/CarEJB.java
rename to web-modules/jee-7/src/main/java/com/baeldung/arquillian/CarEJB.java
diff --git a/jee-7/src/main/java/com/baeldung/arquillian/Component.java b/web-modules/jee-7/src/main/java/com/baeldung/arquillian/Component.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/arquillian/Component.java
rename to web-modules/jee-7/src/main/java/com/baeldung/arquillian/Component.java
diff --git a/jee-7/src/main/java/com/baeldung/arquillian/ConvertToLowerCase.java b/web-modules/jee-7/src/main/java/com/baeldung/arquillian/ConvertToLowerCase.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/arquillian/ConvertToLowerCase.java
rename to web-modules/jee-7/src/main/java/com/baeldung/arquillian/ConvertToLowerCase.java
diff --git a/jee-7/src/main/java/com/baeldung/batch/understanding/ChunkExceptionSkipReadListener.java b/web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/ChunkExceptionSkipReadListener.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/batch/understanding/ChunkExceptionSkipReadListener.java
rename to web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/ChunkExceptionSkipReadListener.java
diff --git a/jee-7/src/main/java/com/baeldung/batch/understanding/CustomCheckPoint.java b/web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/CustomCheckPoint.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/batch/understanding/CustomCheckPoint.java
rename to web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/CustomCheckPoint.java
diff --git a/jee-7/src/main/java/com/baeldung/batch/understanding/DeciderJobSequence.java b/web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/DeciderJobSequence.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/batch/understanding/DeciderJobSequence.java
rename to web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/DeciderJobSequence.java
diff --git a/jee-7/src/main/java/com/baeldung/batch/understanding/InjectSimpleBatchLet.java b/web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/InjectSimpleBatchLet.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/batch/understanding/InjectSimpleBatchLet.java
rename to web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/InjectSimpleBatchLet.java
diff --git a/jee-7/src/main/java/com/baeldung/batch/understanding/SimpleBatchLet.java b/web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/SimpleBatchLet.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/batch/understanding/SimpleBatchLet.java
rename to web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/SimpleBatchLet.java
diff --git a/jee-7/src/main/java/com/baeldung/batch/understanding/SimpleChunkItemProcessor.java b/web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/SimpleChunkItemProcessor.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/batch/understanding/SimpleChunkItemProcessor.java
rename to web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/SimpleChunkItemProcessor.java
diff --git a/jee-7/src/main/java/com/baeldung/batch/understanding/SimpleChunkItemReader.java b/web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/SimpleChunkItemReader.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/batch/understanding/SimpleChunkItemReader.java
rename to web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/SimpleChunkItemReader.java
diff --git a/jee-7/src/main/java/com/baeldung/batch/understanding/SimpleChunkItemReaderError.java b/web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/SimpleChunkItemReaderError.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/batch/understanding/SimpleChunkItemReaderError.java
rename to web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/SimpleChunkItemReaderError.java
diff --git a/jee-7/src/main/java/com/baeldung/batch/understanding/SimpleChunkWriter.java b/web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/SimpleChunkWriter.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/batch/understanding/SimpleChunkWriter.java
rename to web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/SimpleChunkWriter.java
diff --git a/jee-7/src/main/java/com/baeldung/batch/understanding/exception/MyInputRecord.java b/web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/exception/MyInputRecord.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/batch/understanding/exception/MyInputRecord.java
rename to web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/exception/MyInputRecord.java
diff --git a/jee-7/src/main/java/com/baeldung/batch/understanding/exception/MyItemProcessor.java b/web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/exception/MyItemProcessor.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/batch/understanding/exception/MyItemProcessor.java
rename to web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/exception/MyItemProcessor.java
diff --git a/jee-7/src/main/java/com/baeldung/batch/understanding/exception/MyItemReader.java b/web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/exception/MyItemReader.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/batch/understanding/exception/MyItemReader.java
rename to web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/exception/MyItemReader.java
diff --git a/jee-7/src/main/java/com/baeldung/batch/understanding/exception/MyItemWriter.java b/web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/exception/MyItemWriter.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/batch/understanding/exception/MyItemWriter.java
rename to web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/exception/MyItemWriter.java
diff --git a/jee-7/src/main/java/com/baeldung/batch/understanding/exception/MyOutputRecord.java b/web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/exception/MyOutputRecord.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/batch/understanding/exception/MyOutputRecord.java
rename to web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/exception/MyOutputRecord.java
diff --git a/jee-7/src/main/java/com/baeldung/batch/understanding/exception/MyRetryProcessorListener.java b/web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/exception/MyRetryProcessorListener.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/batch/understanding/exception/MyRetryProcessorListener.java
rename to web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/exception/MyRetryProcessorListener.java
diff --git a/jee-7/src/main/java/com/baeldung/batch/understanding/exception/MyRetryReadListener.java b/web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/exception/MyRetryReadListener.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/batch/understanding/exception/MyRetryReadListener.java
rename to web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/exception/MyRetryReadListener.java
diff --git a/jee-7/src/main/java/com/baeldung/batch/understanding/exception/MyRetryWriteListener.java b/web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/exception/MyRetryWriteListener.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/batch/understanding/exception/MyRetryWriteListener.java
rename to web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/exception/MyRetryWriteListener.java
diff --git a/jee-7/src/main/java/com/baeldung/batch/understanding/exception/MySkipProcessorListener.java b/web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/exception/MySkipProcessorListener.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/batch/understanding/exception/MySkipProcessorListener.java
rename to web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/exception/MySkipProcessorListener.java
diff --git a/jee-7/src/main/java/com/baeldung/batch/understanding/exception/MySkipReadListener.java b/web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/exception/MySkipReadListener.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/batch/understanding/exception/MySkipReadListener.java
rename to web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/exception/MySkipReadListener.java
diff --git a/jee-7/src/main/java/com/baeldung/batch/understanding/exception/MySkipWriteListener.java b/web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/exception/MySkipWriteListener.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/batch/understanding/exception/MySkipWriteListener.java
rename to web-modules/jee-7/src/main/java/com/baeldung/batch/understanding/exception/MySkipWriteListener.java
diff --git a/jee-7/src/main/java/com/baeldung/convListVal/ConvListVal.java b/web-modules/jee-7/src/main/java/com/baeldung/convListVal/ConvListVal.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/convListVal/ConvListVal.java
rename to web-modules/jee-7/src/main/java/com/baeldung/convListVal/ConvListVal.java
diff --git a/jee-7/src/main/java/com/baeldung/convListVal/MyListener.java b/web-modules/jee-7/src/main/java/com/baeldung/convListVal/MyListener.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/convListVal/MyListener.java
rename to web-modules/jee-7/src/main/java/com/baeldung/convListVal/MyListener.java
diff --git a/jee-7/src/main/java/com/baeldung/javaeeannotations/AccountServlet.java b/web-modules/jee-7/src/main/java/com/baeldung/javaeeannotations/AccountServlet.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/javaeeannotations/AccountServlet.java
rename to web-modules/jee-7/src/main/java/com/baeldung/javaeeannotations/AccountServlet.java
diff --git a/jee-7/src/main/java/com/baeldung/javaeeannotations/BankAppServletContextListener.java b/web-modules/jee-7/src/main/java/com/baeldung/javaeeannotations/BankAppServletContextListener.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/javaeeannotations/BankAppServletContextListener.java
rename to web-modules/jee-7/src/main/java/com/baeldung/javaeeannotations/BankAppServletContextListener.java
diff --git a/jee-7/src/main/java/com/baeldung/javaeeannotations/LogInFilter.java b/web-modules/jee-7/src/main/java/com/baeldung/javaeeannotations/LogInFilter.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/javaeeannotations/LogInFilter.java
rename to web-modules/jee-7/src/main/java/com/baeldung/javaeeannotations/LogInFilter.java
diff --git a/jee-7/src/main/java/com/baeldung/javaeeannotations/UploadCustomerDocumentsServlet.java b/web-modules/jee-7/src/main/java/com/baeldung/javaeeannotations/UploadCustomerDocumentsServlet.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/javaeeannotations/UploadCustomerDocumentsServlet.java
rename to web-modules/jee-7/src/main/java/com/baeldung/javaeeannotations/UploadCustomerDocumentsServlet.java
diff --git a/jee-7/src/main/java/com/baeldung/jaxws/client/AddEmployee.java b/web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/AddEmployee.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/jaxws/client/AddEmployee.java
rename to web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/AddEmployee.java
diff --git a/jee-7/src/main/java/com/baeldung/jaxws/client/AddEmployeeResponse.java b/web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/AddEmployeeResponse.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/jaxws/client/AddEmployeeResponse.java
rename to web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/AddEmployeeResponse.java
diff --git a/jee-7/src/main/java/com/baeldung/jaxws/client/CountEmployees.java b/web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/CountEmployees.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/jaxws/client/CountEmployees.java
rename to web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/CountEmployees.java
diff --git a/jee-7/src/main/java/com/baeldung/jaxws/client/CountEmployeesResponse.java b/web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/CountEmployeesResponse.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/jaxws/client/CountEmployeesResponse.java
rename to web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/CountEmployeesResponse.java
diff --git a/jee-7/src/main/java/com/baeldung/jaxws/client/DeleteEmployee.java b/web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/DeleteEmployee.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/jaxws/client/DeleteEmployee.java
rename to web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/DeleteEmployee.java
diff --git a/jee-7/src/main/java/com/baeldung/jaxws/client/DeleteEmployeeResponse.java b/web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/DeleteEmployeeResponse.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/jaxws/client/DeleteEmployeeResponse.java
rename to web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/DeleteEmployeeResponse.java
diff --git a/jee-7/src/main/java/com/baeldung/jaxws/client/Employee.java b/web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/Employee.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/jaxws/client/Employee.java
rename to web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/Employee.java
diff --git a/jee-7/src/main/java/com/baeldung/jaxws/client/EmployeeAlreadyExists.java b/web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/EmployeeAlreadyExists.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/jaxws/client/EmployeeAlreadyExists.java
rename to web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/EmployeeAlreadyExists.java
diff --git a/jee-7/src/main/java/com/baeldung/jaxws/client/EmployeeAlreadyExists_Exception.java b/web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/EmployeeAlreadyExists_Exception.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/jaxws/client/EmployeeAlreadyExists_Exception.java
rename to web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/EmployeeAlreadyExists_Exception.java
diff --git a/jee-7/src/main/java/com/baeldung/jaxws/client/EmployeeNotFound.java b/web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/EmployeeNotFound.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/jaxws/client/EmployeeNotFound.java
rename to web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/EmployeeNotFound.java
diff --git a/jee-7/src/main/java/com/baeldung/jaxws/client/EmployeeNotFound_Exception.java b/web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/EmployeeNotFound_Exception.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/jaxws/client/EmployeeNotFound_Exception.java
rename to web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/EmployeeNotFound_Exception.java
diff --git a/jee-7/src/main/java/com/baeldung/jaxws/client/EmployeeService.java b/web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/EmployeeService.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/jaxws/client/EmployeeService.java
rename to web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/EmployeeService.java
diff --git a/jee-7/src/main/java/com/baeldung/jaxws/client/EmployeeServiceClient.java b/web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/EmployeeServiceClient.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/jaxws/client/EmployeeServiceClient.java
rename to web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/EmployeeServiceClient.java
diff --git a/jee-7/src/main/java/com/baeldung/jaxws/client/EmployeeService_Service.java b/web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/EmployeeService_Service.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/jaxws/client/EmployeeService_Service.java
rename to web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/EmployeeService_Service.java
diff --git a/jee-7/src/main/java/com/baeldung/jaxws/client/GetAllEmployees.java b/web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/GetAllEmployees.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/jaxws/client/GetAllEmployees.java
rename to web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/GetAllEmployees.java
diff --git a/jee-7/src/main/java/com/baeldung/jaxws/client/GetAllEmployeesResponse.java b/web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/GetAllEmployeesResponse.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/jaxws/client/GetAllEmployeesResponse.java
rename to web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/GetAllEmployeesResponse.java
diff --git a/jee-7/src/main/java/com/baeldung/jaxws/client/GetEmployee.java b/web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/GetEmployee.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/jaxws/client/GetEmployee.java
rename to web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/GetEmployee.java
diff --git a/jee-7/src/main/java/com/baeldung/jaxws/client/GetEmployeeResponse.java b/web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/GetEmployeeResponse.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/jaxws/client/GetEmployeeResponse.java
rename to web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/GetEmployeeResponse.java
diff --git a/jee-7/src/main/java/com/baeldung/jaxws/client/ObjectFactory.java b/web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/ObjectFactory.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/jaxws/client/ObjectFactory.java
rename to web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/ObjectFactory.java
diff --git a/jee-7/src/main/java/com/baeldung/jaxws/client/UpdateEmployee.java b/web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/UpdateEmployee.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/jaxws/client/UpdateEmployee.java
rename to web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/UpdateEmployee.java
diff --git a/jee-7/src/main/java/com/baeldung/jaxws/client/UpdateEmployeeResponse.java b/web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/UpdateEmployeeResponse.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/jaxws/client/UpdateEmployeeResponse.java
rename to web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/UpdateEmployeeResponse.java
diff --git a/jee-7/src/main/java/com/baeldung/jaxws/client/package-info.java b/web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/package-info.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/jaxws/client/package-info.java
rename to web-modules/jee-7/src/main/java/com/baeldung/jaxws/client/package-info.java
diff --git a/jee-7/src/main/java/com/baeldung/jaxws/server/bottomup/EmployeeService.java b/web-modules/jee-7/src/main/java/com/baeldung/jaxws/server/bottomup/EmployeeService.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/jaxws/server/bottomup/EmployeeService.java
rename to web-modules/jee-7/src/main/java/com/baeldung/jaxws/server/bottomup/EmployeeService.java
diff --git a/jee-7/src/main/java/com/baeldung/jaxws/server/bottomup/EmployeeServiceImpl.java b/web-modules/jee-7/src/main/java/com/baeldung/jaxws/server/bottomup/EmployeeServiceImpl.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/jaxws/server/bottomup/EmployeeServiceImpl.java
rename to web-modules/jee-7/src/main/java/com/baeldung/jaxws/server/bottomup/EmployeeServiceImpl.java
diff --git a/jee-7/src/main/java/com/baeldung/jaxws/server/bottomup/exception/EmployeeAlreadyExists.java b/web-modules/jee-7/src/main/java/com/baeldung/jaxws/server/bottomup/exception/EmployeeAlreadyExists.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/jaxws/server/bottomup/exception/EmployeeAlreadyExists.java
rename to web-modules/jee-7/src/main/java/com/baeldung/jaxws/server/bottomup/exception/EmployeeAlreadyExists.java
diff --git a/jee-7/src/main/java/com/baeldung/jaxws/server/bottomup/exception/EmployeeNotFound.java b/web-modules/jee-7/src/main/java/com/baeldung/jaxws/server/bottomup/exception/EmployeeNotFound.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/jaxws/server/bottomup/exception/EmployeeNotFound.java
rename to web-modules/jee-7/src/main/java/com/baeldung/jaxws/server/bottomup/exception/EmployeeNotFound.java
diff --git a/jee-7/src/main/java/com/baeldung/jaxws/server/bottomup/model/Employee.java b/web-modules/jee-7/src/main/java/com/baeldung/jaxws/server/bottomup/model/Employee.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/jaxws/server/bottomup/model/Employee.java
rename to web-modules/jee-7/src/main/java/com/baeldung/jaxws/server/bottomup/model/Employee.java
diff --git a/jee-7/src/main/java/com/baeldung/jaxws/server/config/EmployeeServicePublisher.java b/web-modules/jee-7/src/main/java/com/baeldung/jaxws/server/config/EmployeeServicePublisher.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/jaxws/server/config/EmployeeServicePublisher.java
rename to web-modules/jee-7/src/main/java/com/baeldung/jaxws/server/config/EmployeeServicePublisher.java
diff --git a/jee-7/src/main/java/com/baeldung/jaxws/server/repository/EmployeeRepository.java b/web-modules/jee-7/src/main/java/com/baeldung/jaxws/server/repository/EmployeeRepository.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/jaxws/server/repository/EmployeeRepository.java
rename to web-modules/jee-7/src/main/java/com/baeldung/jaxws/server/repository/EmployeeRepository.java
diff --git a/jee-7/src/main/java/com/baeldung/jaxws/server/repository/EmployeeRepositoryImpl.java b/web-modules/jee-7/src/main/java/com/baeldung/jaxws/server/repository/EmployeeRepositoryImpl.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/jaxws/server/repository/EmployeeRepositoryImpl.java
rename to web-modules/jee-7/src/main/java/com/baeldung/jaxws/server/repository/EmployeeRepositoryImpl.java
diff --git a/jee-7/src/main/java/com/baeldung/jaxws/server/topdown/EmployeeServiceTopDown.java b/web-modules/jee-7/src/main/java/com/baeldung/jaxws/server/topdown/EmployeeServiceTopDown.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/jaxws/server/topdown/EmployeeServiceTopDown.java
rename to web-modules/jee-7/src/main/java/com/baeldung/jaxws/server/topdown/EmployeeServiceTopDown.java
diff --git a/jee-7/src/main/java/com/baeldung/jaxws/server/topdown/EmployeeServiceTopDownImpl.java b/web-modules/jee-7/src/main/java/com/baeldung/jaxws/server/topdown/EmployeeServiceTopDownImpl.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/jaxws/server/topdown/EmployeeServiceTopDownImpl.java
rename to web-modules/jee-7/src/main/java/com/baeldung/jaxws/server/topdown/EmployeeServiceTopDownImpl.java
diff --git a/jee-7/src/main/java/com/baeldung/jaxws/server/topdown/EmployeeServiceTopDown_Service.java b/web-modules/jee-7/src/main/java/com/baeldung/jaxws/server/topdown/EmployeeServiceTopDown_Service.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/jaxws/server/topdown/EmployeeServiceTopDown_Service.java
rename to web-modules/jee-7/src/main/java/com/baeldung/jaxws/server/topdown/EmployeeServiceTopDown_Service.java
diff --git a/jee-7/src/main/java/com/baeldung/jaxws/server/topdown/ObjectFactory.java b/web-modules/jee-7/src/main/java/com/baeldung/jaxws/server/topdown/ObjectFactory.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/jaxws/server/topdown/ObjectFactory.java
rename to web-modules/jee-7/src/main/java/com/baeldung/jaxws/server/topdown/ObjectFactory.java
diff --git a/jee-7/src/main/java/com/baeldung/jaxws/wsdl/employeeservicetopdown.wsdl b/web-modules/jee-7/src/main/java/com/baeldung/jaxws/wsdl/employeeservicetopdown.wsdl
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/jaxws/wsdl/employeeservicetopdown.wsdl
rename to web-modules/jee-7/src/main/java/com/baeldung/jaxws/wsdl/employeeservicetopdown.wsdl
diff --git a/jee-7/src/main/java/com/baeldung/json/Person.java b/web-modules/jee-7/src/main/java/com/baeldung/json/Person.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/json/Person.java
rename to web-modules/jee-7/src/main/java/com/baeldung/json/Person.java
diff --git a/jee-7/src/main/java/com/baeldung/json/PersonBuilder.java b/web-modules/jee-7/src/main/java/com/baeldung/json/PersonBuilder.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/json/PersonBuilder.java
rename to web-modules/jee-7/src/main/java/com/baeldung/json/PersonBuilder.java
diff --git a/jee-7/src/main/java/com/baeldung/json/PersonWriter.java b/web-modules/jee-7/src/main/java/com/baeldung/json/PersonWriter.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/json/PersonWriter.java
rename to web-modules/jee-7/src/main/java/com/baeldung/json/PersonWriter.java
diff --git a/jee-7/src/main/java/com/baeldung/singleton/Car.java b/web-modules/jee-7/src/main/java/com/baeldung/singleton/Car.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/singleton/Car.java
rename to web-modules/jee-7/src/main/java/com/baeldung/singleton/Car.java
diff --git a/jee-7/src/main/java/com/baeldung/singleton/CarServiceBean.java b/web-modules/jee-7/src/main/java/com/baeldung/singleton/CarServiceBean.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/singleton/CarServiceBean.java
rename to web-modules/jee-7/src/main/java/com/baeldung/singleton/CarServiceBean.java
diff --git a/jee-7/src/main/java/com/baeldung/singleton/CarServiceEjbSingleton.java b/web-modules/jee-7/src/main/java/com/baeldung/singleton/CarServiceEjbSingleton.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/singleton/CarServiceEjbSingleton.java
rename to web-modules/jee-7/src/main/java/com/baeldung/singleton/CarServiceEjbSingleton.java
diff --git a/jee-7/src/main/java/com/baeldung/singleton/CarServiceSingleton.java b/web-modules/jee-7/src/main/java/com/baeldung/singleton/CarServiceSingleton.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/singleton/CarServiceSingleton.java
rename to web-modules/jee-7/src/main/java/com/baeldung/singleton/CarServiceSingleton.java
diff --git a/jee-7/src/main/java/com/baeldung/soap/ws/client/generated/Country.java b/web-modules/jee-7/src/main/java/com/baeldung/soap/ws/client/generated/Country.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/soap/ws/client/generated/Country.java
rename to web-modules/jee-7/src/main/java/com/baeldung/soap/ws/client/generated/Country.java
diff --git a/jee-7/src/main/java/com/baeldung/soap/ws/client/generated/CountryService.java b/web-modules/jee-7/src/main/java/com/baeldung/soap/ws/client/generated/CountryService.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/soap/ws/client/generated/CountryService.java
rename to web-modules/jee-7/src/main/java/com/baeldung/soap/ws/client/generated/CountryService.java
diff --git a/jee-7/src/main/java/com/baeldung/soap/ws/client/generated/CountryServiceImplService.java b/web-modules/jee-7/src/main/java/com/baeldung/soap/ws/client/generated/CountryServiceImplService.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/soap/ws/client/generated/CountryServiceImplService.java
rename to web-modules/jee-7/src/main/java/com/baeldung/soap/ws/client/generated/CountryServiceImplService.java
diff --git a/jee-7/src/main/java/com/baeldung/soap/ws/client/generated/Currency.java b/web-modules/jee-7/src/main/java/com/baeldung/soap/ws/client/generated/Currency.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/soap/ws/client/generated/Currency.java
rename to web-modules/jee-7/src/main/java/com/baeldung/soap/ws/client/generated/Currency.java
diff --git a/jee-7/src/main/java/com/baeldung/soap/ws/client/generated/ObjectFactory.java b/web-modules/jee-7/src/main/java/com/baeldung/soap/ws/client/generated/ObjectFactory.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/soap/ws/client/generated/ObjectFactory.java
rename to web-modules/jee-7/src/main/java/com/baeldung/soap/ws/client/generated/ObjectFactory.java
diff --git a/jee-7/src/main/java/com/baeldung/soap/ws/client/generated/package-info.java b/web-modules/jee-7/src/main/java/com/baeldung/soap/ws/client/generated/package-info.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/soap/ws/client/generated/package-info.java
rename to web-modules/jee-7/src/main/java/com/baeldung/soap/ws/client/generated/package-info.java
diff --git a/jee-7/src/main/java/com/baeldung/soap/ws/server/Country.java b/web-modules/jee-7/src/main/java/com/baeldung/soap/ws/server/Country.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/soap/ws/server/Country.java
rename to web-modules/jee-7/src/main/java/com/baeldung/soap/ws/server/Country.java
diff --git a/jee-7/src/main/java/com/baeldung/soap/ws/server/CountryRepository.java b/web-modules/jee-7/src/main/java/com/baeldung/soap/ws/server/CountryRepository.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/soap/ws/server/CountryRepository.java
rename to web-modules/jee-7/src/main/java/com/baeldung/soap/ws/server/CountryRepository.java
diff --git a/jee-7/src/main/java/com/baeldung/soap/ws/server/CountryService.java b/web-modules/jee-7/src/main/java/com/baeldung/soap/ws/server/CountryService.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/soap/ws/server/CountryService.java
rename to web-modules/jee-7/src/main/java/com/baeldung/soap/ws/server/CountryService.java
diff --git a/jee-7/src/main/java/com/baeldung/soap/ws/server/CountryServiceImpl.java b/web-modules/jee-7/src/main/java/com/baeldung/soap/ws/server/CountryServiceImpl.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/soap/ws/server/CountryServiceImpl.java
rename to web-modules/jee-7/src/main/java/com/baeldung/soap/ws/server/CountryServiceImpl.java
diff --git a/jee-7/src/main/java/com/baeldung/soap/ws/server/CountryServicePublisher.java b/web-modules/jee-7/src/main/java/com/baeldung/soap/ws/server/CountryServicePublisher.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/soap/ws/server/CountryServicePublisher.java
rename to web-modules/jee-7/src/main/java/com/baeldung/soap/ws/server/CountryServicePublisher.java
diff --git a/jee-7/src/main/java/com/baeldung/soap/ws/server/Currency.java b/web-modules/jee-7/src/main/java/com/baeldung/soap/ws/server/Currency.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/soap/ws/server/Currency.java
rename to web-modules/jee-7/src/main/java/com/baeldung/soap/ws/server/Currency.java
diff --git a/jee-7/src/main/java/com/baeldung/timer/AutomaticTimerBean.java b/web-modules/jee-7/src/main/java/com/baeldung/timer/AutomaticTimerBean.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/timer/AutomaticTimerBean.java
rename to web-modules/jee-7/src/main/java/com/baeldung/timer/AutomaticTimerBean.java
diff --git a/jee-7/src/main/java/com/baeldung/timer/FixedDelayTimerBean.java b/web-modules/jee-7/src/main/java/com/baeldung/timer/FixedDelayTimerBean.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/timer/FixedDelayTimerBean.java
rename to web-modules/jee-7/src/main/java/com/baeldung/timer/FixedDelayTimerBean.java
diff --git a/jee-7/src/main/java/com/baeldung/timer/ProgrammaticAtFixedRateTimerBean.java b/web-modules/jee-7/src/main/java/com/baeldung/timer/ProgrammaticAtFixedRateTimerBean.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/timer/ProgrammaticAtFixedRateTimerBean.java
rename to web-modules/jee-7/src/main/java/com/baeldung/timer/ProgrammaticAtFixedRateTimerBean.java
diff --git a/jee-7/src/main/java/com/baeldung/timer/ProgrammaticTimerBean.java b/web-modules/jee-7/src/main/java/com/baeldung/timer/ProgrammaticTimerBean.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/timer/ProgrammaticTimerBean.java
rename to web-modules/jee-7/src/main/java/com/baeldung/timer/ProgrammaticTimerBean.java
diff --git a/jee-7/src/main/java/com/baeldung/timer/ProgrammaticWithInitialFixedDelayTimerBean.java b/web-modules/jee-7/src/main/java/com/baeldung/timer/ProgrammaticWithInitialFixedDelayTimerBean.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/timer/ProgrammaticWithInitialFixedDelayTimerBean.java
rename to web-modules/jee-7/src/main/java/com/baeldung/timer/ProgrammaticWithInitialFixedDelayTimerBean.java
diff --git a/jee-7/src/main/java/com/baeldung/timer/ScheduleTimerBean.java b/web-modules/jee-7/src/main/java/com/baeldung/timer/ScheduleTimerBean.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/timer/ScheduleTimerBean.java
rename to web-modules/jee-7/src/main/java/com/baeldung/timer/ScheduleTimerBean.java
diff --git a/jee-7/src/main/java/com/baeldung/timer/TimerEvent.java b/web-modules/jee-7/src/main/java/com/baeldung/timer/TimerEvent.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/timer/TimerEvent.java
rename to web-modules/jee-7/src/main/java/com/baeldung/timer/TimerEvent.java
diff --git a/jee-7/src/main/java/com/baeldung/timer/TimerEventListener.java b/web-modules/jee-7/src/main/java/com/baeldung/timer/TimerEventListener.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/timer/TimerEventListener.java
rename to web-modules/jee-7/src/main/java/com/baeldung/timer/TimerEventListener.java
diff --git a/jee-7/src/main/java/com/baeldung/timer/WorkerBean.java b/web-modules/jee-7/src/main/java/com/baeldung/timer/WorkerBean.java
similarity index 100%
rename from jee-7/src/main/java/com/baeldung/timer/WorkerBean.java
rename to web-modules/jee-7/src/main/java/com/baeldung/timer/WorkerBean.java
diff --git a/jee-7/src/main/resources/META-INF/batch-jobs/customCheckPoint.xml b/web-modules/jee-7/src/main/resources/META-INF/batch-jobs/customCheckPoint.xml
similarity index 100%
rename from jee-7/src/main/resources/META-INF/batch-jobs/customCheckPoint.xml
rename to web-modules/jee-7/src/main/resources/META-INF/batch-jobs/customCheckPoint.xml
diff --git a/jee-7/src/main/resources/META-INF/batch-jobs/decideJobSequence.xml b/web-modules/jee-7/src/main/resources/META-INF/batch-jobs/decideJobSequence.xml
similarity index 100%
rename from jee-7/src/main/resources/META-INF/batch-jobs/decideJobSequence.xml
rename to web-modules/jee-7/src/main/resources/META-INF/batch-jobs/decideJobSequence.xml
diff --git a/jee-7/src/main/resources/META-INF/batch-jobs/flowJobSequence.xml b/web-modules/jee-7/src/main/resources/META-INF/batch-jobs/flowJobSequence.xml
similarity index 100%
rename from jee-7/src/main/resources/META-INF/batch-jobs/flowJobSequence.xml
rename to web-modules/jee-7/src/main/resources/META-INF/batch-jobs/flowJobSequence.xml
diff --git a/jee-7/src/main/resources/META-INF/batch-jobs/injectionSimpleBatchLet.xml b/web-modules/jee-7/src/main/resources/META-INF/batch-jobs/injectionSimpleBatchLet.xml
similarity index 100%
rename from jee-7/src/main/resources/META-INF/batch-jobs/injectionSimpleBatchLet.xml
rename to web-modules/jee-7/src/main/resources/META-INF/batch-jobs/injectionSimpleBatchLet.xml
diff --git a/jee-7/src/main/resources/META-INF/batch-jobs/partitionSimpleBatchLet.xml b/web-modules/jee-7/src/main/resources/META-INF/batch-jobs/partitionSimpleBatchLet.xml
similarity index 100%
rename from jee-7/src/main/resources/META-INF/batch-jobs/partitionSimpleBatchLet.xml
rename to web-modules/jee-7/src/main/resources/META-INF/batch-jobs/partitionSimpleBatchLet.xml
diff --git a/jee-7/src/main/resources/META-INF/batch-jobs/simpleBatchLet.xml b/web-modules/jee-7/src/main/resources/META-INF/batch-jobs/simpleBatchLet.xml
similarity index 100%
rename from jee-7/src/main/resources/META-INF/batch-jobs/simpleBatchLet.xml
rename to web-modules/jee-7/src/main/resources/META-INF/batch-jobs/simpleBatchLet.xml
diff --git a/jee-7/src/main/resources/META-INF/batch-jobs/simpleChunk.xml b/web-modules/jee-7/src/main/resources/META-INF/batch-jobs/simpleChunk.xml
similarity index 100%
rename from jee-7/src/main/resources/META-INF/batch-jobs/simpleChunk.xml
rename to web-modules/jee-7/src/main/resources/META-INF/batch-jobs/simpleChunk.xml
diff --git a/jee-7/src/main/resources/META-INF/batch-jobs/simpleErrorChunk.xml b/web-modules/jee-7/src/main/resources/META-INF/batch-jobs/simpleErrorChunk.xml
similarity index 100%
rename from jee-7/src/main/resources/META-INF/batch-jobs/simpleErrorChunk.xml
rename to web-modules/jee-7/src/main/resources/META-INF/batch-jobs/simpleErrorChunk.xml
diff --git a/jee-7/src/main/resources/META-INF/batch-jobs/simpleErrorSkipChunk.xml b/web-modules/jee-7/src/main/resources/META-INF/batch-jobs/simpleErrorSkipChunk.xml
similarity index 100%
rename from jee-7/src/main/resources/META-INF/batch-jobs/simpleErrorSkipChunk.xml
rename to web-modules/jee-7/src/main/resources/META-INF/batch-jobs/simpleErrorSkipChunk.xml
diff --git a/jee-7/src/main/resources/META-INF/batch-jobs/simpleJobSequence.xml b/web-modules/jee-7/src/main/resources/META-INF/batch-jobs/simpleJobSequence.xml
similarity index 100%
rename from jee-7/src/main/resources/META-INF/batch-jobs/simpleJobSequence.xml
rename to web-modules/jee-7/src/main/resources/META-INF/batch-jobs/simpleJobSequence.xml
diff --git a/jee-7/src/main/resources/META-INF/batch-jobs/splitJobSequence.xml b/web-modules/jee-7/src/main/resources/META-INF/batch-jobs/splitJobSequence.xml
similarity index 100%
rename from jee-7/src/main/resources/META-INF/batch-jobs/splitJobSequence.xml
rename to web-modules/jee-7/src/main/resources/META-INF/batch-jobs/splitJobSequence.xml
diff --git a/jee-7/src/main/resources/META-INF/beans.xml b/web-modules/jee-7/src/main/resources/META-INF/beans.xml
similarity index 100%
rename from jee-7/src/main/resources/META-INF/beans.xml
rename to web-modules/jee-7/src/main/resources/META-INF/beans.xml
diff --git a/jee-7/src/main/resources/META-INF/persistence.xml b/web-modules/jee-7/src/main/resources/META-INF/persistence.xml
similarity index 100%
rename from jee-7/src/main/resources/META-INF/persistence.xml
rename to web-modules/jee-7/src/main/resources/META-INF/persistence.xml
diff --git a/jee-7/src/main/resources/country.xsd b/web-modules/jee-7/src/main/resources/country.xsd
similarity index 100%
rename from jee-7/src/main/resources/country.xsd
rename to web-modules/jee-7/src/main/resources/country.xsd
diff --git a/jee-7/src/main/resources/logback.xml b/web-modules/jee-7/src/main/resources/logback.xml
similarity index 100%
rename from jee-7/src/main/resources/logback.xml
rename to web-modules/jee-7/src/main/resources/logback.xml
diff --git a/jee-7/src/main/webapp/ConvListVal.xhtml b/web-modules/jee-7/src/main/webapp/ConvListVal.xhtml
similarity index 100%
rename from jee-7/src/main/webapp/ConvListVal.xhtml
rename to web-modules/jee-7/src/main/webapp/ConvListVal.xhtml
diff --git a/jee-7/src/main/webapp/WEB-INF/beans.xml b/web-modules/jee-7/src/main/webapp/WEB-INF/beans.xml
similarity index 100%
rename from jee-7/src/main/webapp/WEB-INF/beans.xml
rename to web-modules/jee-7/src/main/webapp/WEB-INF/beans.xml
diff --git a/jee-7/src/main/webapp/WEB-INF/faces-config.xml b/web-modules/jee-7/src/main/webapp/WEB-INF/faces-config.xml
similarity index 100%
rename from jee-7/src/main/webapp/WEB-INF/faces-config.xml
rename to web-modules/jee-7/src/main/webapp/WEB-INF/faces-config.xml
diff --git a/jee-7/src/main/webapp/WEB-INF/web.xml b/web-modules/jee-7/src/main/webapp/WEB-INF/web.xml
similarity index 100%
rename from jee-7/src/main/webapp/WEB-INF/web.xml
rename to web-modules/jee-7/src/main/webapp/WEB-INF/web.xml
diff --git a/jee-7/src/main/webapp/account.jsp b/web-modules/jee-7/src/main/webapp/account.jsp
similarity index 100%
rename from jee-7/src/main/webapp/account.jsp
rename to web-modules/jee-7/src/main/webapp/account.jsp
diff --git a/jee-7/src/main/webapp/upload.jsp b/web-modules/jee-7/src/main/webapp/upload.jsp
similarity index 100%
rename from jee-7/src/main/webapp/upload.jsp
rename to web-modules/jee-7/src/main/webapp/upload.jsp
diff --git a/jee-7/src/test/java/com/baeldug/json/JsonUnitTest.java b/web-modules/jee-7/src/test/java/com/baeldug/json/JsonUnitTest.java
similarity index 100%
rename from jee-7/src/test/java/com/baeldug/json/JsonUnitTest.java
rename to web-modules/jee-7/src/test/java/com/baeldug/json/JsonUnitTest.java
diff --git a/jee-7/src/test/java/com/baeldung/arquillan/ArquillianLiveTest.java b/web-modules/jee-7/src/test/java/com/baeldung/arquillan/ArquillianLiveTest.java
similarity index 100%
rename from jee-7/src/test/java/com/baeldung/arquillan/ArquillianLiveTest.java
rename to web-modules/jee-7/src/test/java/com/baeldung/arquillan/ArquillianLiveTest.java
diff --git a/jee-7/src/test/java/com/baeldung/batch/understanding/BatchTestHelper.java b/web-modules/jee-7/src/test/java/com/baeldung/batch/understanding/BatchTestHelper.java
similarity index 100%
rename from jee-7/src/test/java/com/baeldung/batch/understanding/BatchTestHelper.java
rename to web-modules/jee-7/src/test/java/com/baeldung/batch/understanding/BatchTestHelper.java
diff --git a/jee-7/src/test/java/com/baeldung/batch/understanding/CustomCheckPointIntegrationTest.java b/web-modules/jee-7/src/test/java/com/baeldung/batch/understanding/CustomCheckPointIntegrationTest.java
similarity index 100%
rename from jee-7/src/test/java/com/baeldung/batch/understanding/CustomCheckPointIntegrationTest.java
rename to web-modules/jee-7/src/test/java/com/baeldung/batch/understanding/CustomCheckPointIntegrationTest.java
diff --git a/jee-7/src/test/java/com/baeldung/batch/understanding/JobSequenceIntegrationTest.java b/web-modules/jee-7/src/test/java/com/baeldung/batch/understanding/JobSequenceIntegrationTest.java
similarity index 100%
rename from jee-7/src/test/java/com/baeldung/batch/understanding/JobSequenceIntegrationTest.java
rename to web-modules/jee-7/src/test/java/com/baeldung/batch/understanding/JobSequenceIntegrationTest.java
diff --git a/jee-7/src/test/java/com/baeldung/batch/understanding/SimpleBatchLetIntegrationTest.java b/web-modules/jee-7/src/test/java/com/baeldung/batch/understanding/SimpleBatchLetIntegrationTest.java
similarity index 100%
rename from jee-7/src/test/java/com/baeldung/batch/understanding/SimpleBatchLetIntegrationTest.java
rename to web-modules/jee-7/src/test/java/com/baeldung/batch/understanding/SimpleBatchLetIntegrationTest.java
diff --git a/jee-7/src/test/java/com/baeldung/batch/understanding/SimpleChunkIntegrationTest.java b/web-modules/jee-7/src/test/java/com/baeldung/batch/understanding/SimpleChunkIntegrationTest.java
similarity index 100%
rename from jee-7/src/test/java/com/baeldung/batch/understanding/SimpleChunkIntegrationTest.java
rename to web-modules/jee-7/src/test/java/com/baeldung/batch/understanding/SimpleChunkIntegrationTest.java
diff --git a/jee-7/src/test/java/com/baeldung/batch/understanding/SimpleErrorChunkIntegrationTest.java b/web-modules/jee-7/src/test/java/com/baeldung/batch/understanding/SimpleErrorChunkIntegrationTest.java
similarity index 100%
rename from jee-7/src/test/java/com/baeldung/batch/understanding/SimpleErrorChunkIntegrationTest.java
rename to web-modules/jee-7/src/test/java/com/baeldung/batch/understanding/SimpleErrorChunkIntegrationTest.java
diff --git a/jee-7/src/test/java/com/baeldung/convListVal/ConvListValLiveTest.java b/web-modules/jee-7/src/test/java/com/baeldung/convListVal/ConvListValLiveTest.java
similarity index 100%
rename from jee-7/src/test/java/com/baeldung/convListVal/ConvListValLiveTest.java
rename to web-modules/jee-7/src/test/java/com/baeldung/convListVal/ConvListValLiveTest.java
diff --git a/jee-7/src/test/java/com/baeldung/jaxws/EmployeeServiceLiveTest.java b/web-modules/jee-7/src/test/java/com/baeldung/jaxws/EmployeeServiceLiveTest.java
similarity index 100%
rename from jee-7/src/test/java/com/baeldung/jaxws/EmployeeServiceLiveTest.java
rename to web-modules/jee-7/src/test/java/com/baeldung/jaxws/EmployeeServiceLiveTest.java
diff --git a/jee-7/src/test/java/com/baeldung/singleton/CarServiceIntegrationTest.java b/web-modules/jee-7/src/test/java/com/baeldung/singleton/CarServiceIntegrationTest.java
similarity index 100%
rename from jee-7/src/test/java/com/baeldung/singleton/CarServiceIntegrationTest.java
rename to web-modules/jee-7/src/test/java/com/baeldung/singleton/CarServiceIntegrationTest.java
diff --git a/jee-7/src/test/java/com/baeldung/soap/ws/client/CountryClientLiveTest.java b/web-modules/jee-7/src/test/java/com/baeldung/soap/ws/client/CountryClientLiveTest.java
similarity index 100%
rename from jee-7/src/test/java/com/baeldung/soap/ws/client/CountryClientLiveTest.java
rename to web-modules/jee-7/src/test/java/com/baeldung/soap/ws/client/CountryClientLiveTest.java
diff --git a/jee-7/src/test/java/com/baeldung/timer/AutomaticTimerBeanLiveTest.java b/web-modules/jee-7/src/test/java/com/baeldung/timer/AutomaticTimerBeanLiveTest.java
similarity index 100%
rename from jee-7/src/test/java/com/baeldung/timer/AutomaticTimerBeanLiveTest.java
rename to web-modules/jee-7/src/test/java/com/baeldung/timer/AutomaticTimerBeanLiveTest.java
diff --git a/jee-7/src/test/java/com/baeldung/timer/ProgrammaticAtFixedRateTimerBeanLiveTest.java b/web-modules/jee-7/src/test/java/com/baeldung/timer/ProgrammaticAtFixedRateTimerBeanLiveTest.java
similarity index 100%
rename from jee-7/src/test/java/com/baeldung/timer/ProgrammaticAtFixedRateTimerBeanLiveTest.java
rename to web-modules/jee-7/src/test/java/com/baeldung/timer/ProgrammaticAtFixedRateTimerBeanLiveTest.java
diff --git a/jee-7/src/test/java/com/baeldung/timer/ProgrammaticTimerBeanLiveTest.java b/web-modules/jee-7/src/test/java/com/baeldung/timer/ProgrammaticTimerBeanLiveTest.java
similarity index 100%
rename from jee-7/src/test/java/com/baeldung/timer/ProgrammaticTimerBeanLiveTest.java
rename to web-modules/jee-7/src/test/java/com/baeldung/timer/ProgrammaticTimerBeanLiveTest.java
diff --git a/jee-7/src/test/java/com/baeldung/timer/ProgrammaticWithFixedDelayTimerBeanLiveTest.java b/web-modules/jee-7/src/test/java/com/baeldung/timer/ProgrammaticWithFixedDelayTimerBeanLiveTest.java
similarity index 100%
rename from jee-7/src/test/java/com/baeldung/timer/ProgrammaticWithFixedDelayTimerBeanLiveTest.java
rename to web-modules/jee-7/src/test/java/com/baeldung/timer/ProgrammaticWithFixedDelayTimerBeanLiveTest.java
diff --git a/jee-7/src/test/java/com/baeldung/timer/ScheduleTimerBeanLiveTest.java b/web-modules/jee-7/src/test/java/com/baeldung/timer/ScheduleTimerBeanLiveTest.java
similarity index 100%
rename from jee-7/src/test/java/com/baeldung/timer/ScheduleTimerBeanLiveTest.java
rename to web-modules/jee-7/src/test/java/com/baeldung/timer/ScheduleTimerBeanLiveTest.java
diff --git a/jee-7/src/test/java/com/baeldung/timer/WithinWindowMatcher.java b/web-modules/jee-7/src/test/java/com/baeldung/timer/WithinWindowMatcher.java
similarity index 100%
rename from jee-7/src/test/java/com/baeldung/timer/WithinWindowMatcher.java
rename to web-modules/jee-7/src/test/java/com/baeldung/timer/WithinWindowMatcher.java
diff --git a/jee-7/src/test/resources/META-INF/persistence.xml b/web-modules/jee-7/src/test/resources/META-INF/persistence.xml
similarity index 100%
rename from jee-7/src/test/resources/META-INF/persistence.xml
rename to web-modules/jee-7/src/test/resources/META-INF/persistence.xml
diff --git a/jee-7/src/test/resources/arquillian.xml b/web-modules/jee-7/src/test/resources/arquillian.xml
similarity index 100%
rename from jee-7/src/test/resources/arquillian.xml
rename to web-modules/jee-7/src/test/resources/arquillian.xml
diff --git a/jee-7/src/test/resources/jberet.properties b/web-modules/jee-7/src/test/resources/jberet.properties
similarity index 100%
rename from jee-7/src/test/resources/jberet.properties
rename to web-modules/jee-7/src/test/resources/jberet.properties
diff --git a/jooby/README.md b/web-modules/jooby/README.md
similarity index 100%
rename from jooby/README.md
rename to web-modules/jooby/README.md
diff --git a/jooby/conf/application.conf b/web-modules/jooby/conf/application.conf
similarity index 100%
rename from jooby/conf/application.conf
rename to web-modules/jooby/conf/application.conf
diff --git a/jooby/conf/logback.xml b/web-modules/jooby/conf/logback.xml
similarity index 100%
rename from jooby/conf/logback.xml
rename to web-modules/jooby/conf/logback.xml
diff --git a/jooby/pom.xml b/web-modules/jooby/pom.xml
similarity index 97%
rename from jooby/pom.xml
rename to web-modules/jooby/pom.xml
index f972a22e9c..6c2ce3a5c5 100644
--- a/jooby/pom.xml
+++ b/web-modules/jooby/pom.xml
@@ -10,7 +10,7 @@
com.baeldung
- parent-modules
+ web-modules
1.0.0-SNAPSHOT
diff --git a/jooby/public/form.html b/web-modules/jooby/public/form.html
similarity index 100%
rename from jooby/public/form.html
rename to web-modules/jooby/public/form.html
diff --git a/jooby/public/welcome.html b/web-modules/jooby/public/welcome.html
similarity index 100%
rename from jooby/public/welcome.html
rename to web-modules/jooby/public/welcome.html
diff --git a/jooby/src/etc/stork.yml b/web-modules/jooby/src/etc/stork.yml
similarity index 100%
rename from jooby/src/etc/stork.yml
rename to web-modules/jooby/src/etc/stork.yml
diff --git a/jooby/src/main/java/com/baeldung/jooby/App.java b/web-modules/jooby/src/main/java/com/baeldung/jooby/App.java
similarity index 100%
rename from jooby/src/main/java/com/baeldung/jooby/App.java
rename to web-modules/jooby/src/main/java/com/baeldung/jooby/App.java
diff --git a/jooby/src/main/java/com/baeldung/jooby/bean/Employee.java b/web-modules/jooby/src/main/java/com/baeldung/jooby/bean/Employee.java
similarity index 100%
rename from jooby/src/main/java/com/baeldung/jooby/bean/Employee.java
rename to web-modules/jooby/src/main/java/com/baeldung/jooby/bean/Employee.java
diff --git a/jooby/src/main/java/com/baeldung/jooby/mvc/GetController.java b/web-modules/jooby/src/main/java/com/baeldung/jooby/mvc/GetController.java
similarity index 100%
rename from jooby/src/main/java/com/baeldung/jooby/mvc/GetController.java
rename to web-modules/jooby/src/main/java/com/baeldung/jooby/mvc/GetController.java
diff --git a/jooby/src/main/java/com/baeldung/jooby/mvc/PostController.java b/web-modules/jooby/src/main/java/com/baeldung/jooby/mvc/PostController.java
similarity index 100%
rename from jooby/src/main/java/com/baeldung/jooby/mvc/PostController.java
rename to web-modules/jooby/src/main/java/com/baeldung/jooby/mvc/PostController.java
diff --git a/jooby/src/main/resources/logback.xml b/web-modules/jooby/src/main/resources/logback.xml
similarity index 100%
rename from jooby/src/main/resources/logback.xml
rename to web-modules/jooby/src/main/resources/logback.xml
diff --git a/jooby/src/test/java/com/baeldung/jooby/AppLiveTest.java b/web-modules/jooby/src/test/java/com/baeldung/jooby/AppLiveTest.java
similarity index 100%
rename from jooby/src/test/java/com/baeldung/jooby/AppLiveTest.java
rename to web-modules/jooby/src/test/java/com/baeldung/jooby/AppLiveTest.java
diff --git a/jooby/src/test/java/com/baeldung/jooby/AppUnitTest.java b/web-modules/jooby/src/test/java/com/baeldung/jooby/AppUnitTest.java
similarity index 100%
rename from jooby/src/test/java/com/baeldung/jooby/AppUnitTest.java
rename to web-modules/jooby/src/test/java/com/baeldung/jooby/AppUnitTest.java
diff --git a/linkrest/README.md b/web-modules/linkrest/README.md
similarity index 100%
rename from linkrest/README.md
rename to web-modules/linkrest/README.md
diff --git a/linkrest/WebContent/META-INF/MANIFEST.MF b/web-modules/linkrest/WebContent/META-INF/MANIFEST.MF
similarity index 100%
rename from linkrest/WebContent/META-INF/MANIFEST.MF
rename to web-modules/linkrest/WebContent/META-INF/MANIFEST.MF
diff --git a/linkrest/WebContent/WEB-INF/web.xml b/web-modules/linkrest/WebContent/WEB-INF/web.xml
similarity index 100%
rename from linkrest/WebContent/WEB-INF/web.xml
rename to web-modules/linkrest/WebContent/WEB-INF/web.xml
diff --git a/linkrest/pom.xml b/web-modules/linkrest/pom.xml
similarity index 98%
rename from linkrest/pom.xml
rename to web-modules/linkrest/pom.xml
index e40efb3930..f43add6910 100644
--- a/linkrest/pom.xml
+++ b/web-modules/linkrest/pom.xml
@@ -10,7 +10,7 @@
com.baeldung
- parent-modules
+ web-modules
1.0.0-SNAPSHOT
diff --git a/linkrest/src/main/java/com/baeldung/LinkRestApplication.java b/web-modules/linkrest/src/main/java/com/baeldung/LinkRestApplication.java
similarity index 100%
rename from linkrest/src/main/java/com/baeldung/LinkRestApplication.java
rename to web-modules/linkrest/src/main/java/com/baeldung/LinkRestApplication.java
diff --git a/linkrest/src/main/java/com/baeldung/cayenne/Department.java b/web-modules/linkrest/src/main/java/com/baeldung/cayenne/Department.java
similarity index 100%
rename from linkrest/src/main/java/com/baeldung/cayenne/Department.java
rename to web-modules/linkrest/src/main/java/com/baeldung/cayenne/Department.java
diff --git a/linkrest/src/main/java/com/baeldung/cayenne/Employee.java b/web-modules/linkrest/src/main/java/com/baeldung/cayenne/Employee.java
similarity index 100%
rename from linkrest/src/main/java/com/baeldung/cayenne/Employee.java
rename to web-modules/linkrest/src/main/java/com/baeldung/cayenne/Employee.java
diff --git a/linkrest/src/main/java/com/baeldung/cayenne/auto/_Department.java b/web-modules/linkrest/src/main/java/com/baeldung/cayenne/auto/_Department.java
similarity index 100%
rename from linkrest/src/main/java/com/baeldung/cayenne/auto/_Department.java
rename to web-modules/linkrest/src/main/java/com/baeldung/cayenne/auto/_Department.java
diff --git a/linkrest/src/main/java/com/baeldung/cayenne/auto/_Employee.java b/web-modules/linkrest/src/main/java/com/baeldung/cayenne/auto/_Employee.java
similarity index 100%
rename from linkrest/src/main/java/com/baeldung/cayenne/auto/_Employee.java
rename to web-modules/linkrest/src/main/java/com/baeldung/cayenne/auto/_Employee.java
diff --git a/linkrest/src/main/java/com/baeldung/linkrest/apis/DepartmentResource.java b/web-modules/linkrest/src/main/java/com/baeldung/linkrest/apis/DepartmentResource.java
similarity index 100%
rename from linkrest/src/main/java/com/baeldung/linkrest/apis/DepartmentResource.java
rename to web-modules/linkrest/src/main/java/com/baeldung/linkrest/apis/DepartmentResource.java
diff --git a/linkrest/src/main/java/com/baeldung/linkrest/apis/EmployeeSubResource.java b/web-modules/linkrest/src/main/java/com/baeldung/linkrest/apis/EmployeeSubResource.java
similarity index 100%
rename from linkrest/src/main/java/com/baeldung/linkrest/apis/EmployeeSubResource.java
rename to web-modules/linkrest/src/main/java/com/baeldung/linkrest/apis/EmployeeSubResource.java
diff --git a/linkrest/src/main/resources/cayenne-linkrest-project.xml b/web-modules/linkrest/src/main/resources/cayenne-linkrest-project.xml
similarity index 100%
rename from linkrest/src/main/resources/cayenne-linkrest-project.xml
rename to web-modules/linkrest/src/main/resources/cayenne-linkrest-project.xml
diff --git a/linkrest/src/main/resources/linkrest.map.xml b/web-modules/linkrest/src/main/resources/linkrest.map.xml
similarity index 100%
rename from linkrest/src/main/resources/linkrest.map.xml
rename to web-modules/linkrest/src/main/resources/linkrest.map.xml
diff --git a/linkrest/src/main/resources/logback.xml b/web-modules/linkrest/src/main/resources/logback.xml
similarity index 100%
rename from linkrest/src/main/resources/logback.xml
rename to web-modules/linkrest/src/main/resources/logback.xml
diff --git a/ninja/README.md b/web-modules/ninja/README.md
similarity index 100%
rename from ninja/README.md
rename to web-modules/ninja/README.md
diff --git a/ninja/pom.xml b/web-modules/ninja/pom.xml
similarity index 100%
rename from ninja/pom.xml
rename to web-modules/ninja/pom.xml
diff --git a/ninja/src/main/java/META-INF/persistence.xml b/web-modules/ninja/src/main/java/META-INF/persistence.xml
similarity index 100%
rename from ninja/src/main/java/META-INF/persistence.xml
rename to web-modules/ninja/src/main/java/META-INF/persistence.xml
diff --git a/ninja/src/main/java/assets/css/custom.css b/web-modules/ninja/src/main/java/assets/css/custom.css
similarity index 100%
rename from ninja/src/main/java/assets/css/custom.css
rename to web-modules/ninja/src/main/java/assets/css/custom.css
diff --git a/ninja/src/main/java/conf/Filters.java b/web-modules/ninja/src/main/java/conf/Filters.java
similarity index 100%
rename from ninja/src/main/java/conf/Filters.java
rename to web-modules/ninja/src/main/java/conf/Filters.java
diff --git a/ninja/src/main/java/conf/Module.java b/web-modules/ninja/src/main/java/conf/Module.java
similarity index 100%
rename from ninja/src/main/java/conf/Module.java
rename to web-modules/ninja/src/main/java/conf/Module.java
diff --git a/ninja/src/main/java/conf/Routes.java b/web-modules/ninja/src/main/java/conf/Routes.java
similarity index 100%
rename from ninja/src/main/java/conf/Routes.java
rename to web-modules/ninja/src/main/java/conf/Routes.java
diff --git a/ninja/src/main/java/conf/application.conf b/web-modules/ninja/src/main/java/conf/application.conf
similarity index 100%
rename from ninja/src/main/java/conf/application.conf
rename to web-modules/ninja/src/main/java/conf/application.conf
diff --git a/ninja/src/main/java/conf/messages.properties b/web-modules/ninja/src/main/java/conf/messages.properties
similarity index 100%
rename from ninja/src/main/java/conf/messages.properties
rename to web-modules/ninja/src/main/java/conf/messages.properties
diff --git a/ninja/src/main/java/conf/messages_fr.properties b/web-modules/ninja/src/main/java/conf/messages_fr.properties
similarity index 100%
rename from ninja/src/main/java/conf/messages_fr.properties
rename to web-modules/ninja/src/main/java/conf/messages_fr.properties
diff --git a/ninja/src/main/java/controllers/ApplicationController.java b/web-modules/ninja/src/main/java/controllers/ApplicationController.java
similarity index 100%
rename from ninja/src/main/java/controllers/ApplicationController.java
rename to web-modules/ninja/src/main/java/controllers/ApplicationController.java
diff --git a/ninja/src/main/java/ehcache.xml b/web-modules/ninja/src/main/java/ehcache.xml
similarity index 100%
rename from ninja/src/main/java/ehcache.xml
rename to web-modules/ninja/src/main/java/ehcache.xml
diff --git a/ninja/src/main/java/logback.xml b/web-modules/ninja/src/main/java/logback.xml
similarity index 100%
rename from ninja/src/main/java/logback.xml
rename to web-modules/ninja/src/main/java/logback.xml
diff --git a/ninja/src/main/java/models/User.java b/web-modules/ninja/src/main/java/models/User.java
similarity index 100%
rename from ninja/src/main/java/models/User.java
rename to web-modules/ninja/src/main/java/models/User.java
diff --git a/ninja/src/main/java/services/UserService.java b/web-modules/ninja/src/main/java/services/UserService.java
similarity index 100%
rename from ninja/src/main/java/services/UserService.java
rename to web-modules/ninja/src/main/java/services/UserService.java
diff --git a/ninja/src/main/java/services/UserServiceImpl.java b/web-modules/ninja/src/main/java/services/UserServiceImpl.java
similarity index 100%
rename from ninja/src/main/java/services/UserServiceImpl.java
rename to web-modules/ninja/src/main/java/services/UserServiceImpl.java
diff --git a/ninja/src/main/java/views/ApplicationController/createUser.ftl.html b/web-modules/ninja/src/main/java/views/ApplicationController/createUser.ftl.html
similarity index 100%
rename from ninja/src/main/java/views/ApplicationController/createUser.ftl.html
rename to web-modules/ninja/src/main/java/views/ApplicationController/createUser.ftl.html
diff --git a/ninja/src/main/java/views/ApplicationController/home.ftl.html b/web-modules/ninja/src/main/java/views/ApplicationController/home.ftl.html
similarity index 100%
rename from ninja/src/main/java/views/ApplicationController/home.ftl.html
rename to web-modules/ninja/src/main/java/views/ApplicationController/home.ftl.html
diff --git a/ninja/src/main/java/views/ApplicationController/index.ftl.html b/web-modules/ninja/src/main/java/views/ApplicationController/index.ftl.html
similarity index 100%
rename from ninja/src/main/java/views/ApplicationController/index.ftl.html
rename to web-modules/ninja/src/main/java/views/ApplicationController/index.ftl.html
diff --git a/ninja/src/main/java/views/layout/defaultLayout.ftl.html b/web-modules/ninja/src/main/java/views/layout/defaultLayout.ftl.html
similarity index 100%
rename from ninja/src/main/java/views/layout/defaultLayout.ftl.html
rename to web-modules/ninja/src/main/java/views/layout/defaultLayout.ftl.html
diff --git a/ninja/src/main/java/views/layout/footer.ftl.html b/web-modules/ninja/src/main/java/views/layout/footer.ftl.html
similarity index 100%
rename from ninja/src/main/java/views/layout/footer.ftl.html
rename to web-modules/ninja/src/main/java/views/layout/footer.ftl.html
diff --git a/ninja/src/main/java/views/layout/header.ftl.html b/web-modules/ninja/src/main/java/views/layout/header.ftl.html
similarity index 100%
rename from ninja/src/main/java/views/layout/header.ftl.html
rename to web-modules/ninja/src/main/java/views/layout/header.ftl.html
diff --git a/ninja/src/main/java/views/system/403forbidden.ftl.html b/web-modules/ninja/src/main/java/views/system/403forbidden.ftl.html
similarity index 100%
rename from ninja/src/main/java/views/system/403forbidden.ftl.html
rename to web-modules/ninja/src/main/java/views/system/403forbidden.ftl.html
diff --git a/ninja/src/main/java/views/system/404notFound.ftl.html b/web-modules/ninja/src/main/java/views/system/404notFound.ftl.html
similarity index 100%
rename from ninja/src/main/java/views/system/404notFound.ftl.html
rename to web-modules/ninja/src/main/java/views/system/404notFound.ftl.html
diff --git a/ninja/src/main/webapp/WEB-INF/web.xml b/web-modules/ninja/src/main/webapp/WEB-INF/web.xml
similarity index 100%
rename from ninja/src/main/webapp/WEB-INF/web.xml
rename to web-modules/ninja/src/main/webapp/WEB-INF/web.xml
diff --git a/ninja/src/test/java/controllers/ApiControllerDocTesterTest.java b/web-modules/ninja/src/test/java/controllers/ApiControllerDocTesterTest.java
similarity index 100%
rename from ninja/src/test/java/controllers/ApiControllerDocTesterTest.java
rename to web-modules/ninja/src/test/java/controllers/ApiControllerDocTesterTest.java
diff --git a/ninja/src/test/java/controllers/ApiControllerMockUnitTest.java b/web-modules/ninja/src/test/java/controllers/ApiControllerMockUnitTest.java
similarity index 100%
rename from ninja/src/test/java/controllers/ApiControllerMockUnitTest.java
rename to web-modules/ninja/src/test/java/controllers/ApiControllerMockUnitTest.java
diff --git a/play-framework/README.md b/web-modules/play-framework/README.md
similarity index 100%
rename from play-framework/README.md
rename to web-modules/play-framework/README.md
diff --git a/play-framework/async-http/.g8/form/app/controllers/$model__Camel$Controller.java b/web-modules/play-framework/async-http/.g8/form/app/controllers/$model__Camel$Controller.java
similarity index 100%
rename from play-framework/async-http/.g8/form/app/controllers/$model__Camel$Controller.java
rename to web-modules/play-framework/async-http/.g8/form/app/controllers/$model__Camel$Controller.java
diff --git a/play-framework/async-http/.g8/form/app/controllers/$model__Camel$Data.java b/web-modules/play-framework/async-http/.g8/form/app/controllers/$model__Camel$Data.java
similarity index 100%
rename from play-framework/async-http/.g8/form/app/controllers/$model__Camel$Data.java
rename to web-modules/play-framework/async-http/.g8/form/app/controllers/$model__Camel$Data.java
diff --git a/play-framework/async-http/.g8/form/app/views/$model__camel$/form.scala.html b/web-modules/play-framework/async-http/.g8/form/app/views/$model__camel$/form.scala.html
similarity index 100%
rename from play-framework/async-http/.g8/form/app/views/$model__camel$/form.scala.html
rename to web-modules/play-framework/async-http/.g8/form/app/views/$model__camel$/form.scala.html
diff --git a/play-framework/async-http/.g8/form/default.properties b/web-modules/play-framework/async-http/.g8/form/default.properties
similarity index 100%
rename from play-framework/async-http/.g8/form/default.properties
rename to web-modules/play-framework/async-http/.g8/form/default.properties
diff --git a/play-framework/async-http/.g8/form/generated-test/README.md b/web-modules/play-framework/async-http/.g8/form/generated-test/README.md
similarity index 100%
rename from play-framework/async-http/.g8/form/generated-test/README.md
rename to web-modules/play-framework/async-http/.g8/form/generated-test/README.md
diff --git a/play-framework/async-http/.g8/form/generated-test/controllers/$model__Camel$ControllerTest.java b/web-modules/play-framework/async-http/.g8/form/generated-test/controllers/$model__Camel$ControllerTest.java
similarity index 100%
rename from play-framework/async-http/.g8/form/generated-test/controllers/$model__Camel$ControllerTest.java
rename to web-modules/play-framework/async-http/.g8/form/generated-test/controllers/$model__Camel$ControllerTest.java
diff --git a/play-framework/async-http/.gitignore b/web-modules/play-framework/async-http/.gitignore
similarity index 100%
rename from play-framework/async-http/.gitignore
rename to web-modules/play-framework/async-http/.gitignore
diff --git a/play-framework/async-http/README.md b/web-modules/play-framework/async-http/README.md
similarity index 100%
rename from play-framework/async-http/README.md
rename to web-modules/play-framework/async-http/README.md
diff --git a/play-framework/async-http/app/controllers/HomeController.java b/web-modules/play-framework/async-http/app/controllers/HomeController.java
similarity index 100%
rename from play-framework/async-http/app/controllers/HomeController.java
rename to web-modules/play-framework/async-http/app/controllers/HomeController.java
diff --git a/play-framework/async-http/app/views/index.scala.html b/web-modules/play-framework/async-http/app/views/index.scala.html
similarity index 100%
rename from play-framework/async-http/app/views/index.scala.html
rename to web-modules/play-framework/async-http/app/views/index.scala.html
diff --git a/play-framework/async-http/app/views/main.scala.html b/web-modules/play-framework/async-http/app/views/main.scala.html
similarity index 100%
rename from play-framework/async-http/app/views/main.scala.html
rename to web-modules/play-framework/async-http/app/views/main.scala.html
diff --git a/play-framework/async-http/build.sbt b/web-modules/play-framework/async-http/build.sbt
similarity index 100%
rename from play-framework/async-http/build.sbt
rename to web-modules/play-framework/async-http/build.sbt
diff --git a/play-framework/async-http/conf/application.conf b/web-modules/play-framework/async-http/conf/application.conf
similarity index 100%
rename from play-framework/async-http/conf/application.conf
rename to web-modules/play-framework/async-http/conf/application.conf
diff --git a/play-framework/async-http/conf/logback.xml b/web-modules/play-framework/async-http/conf/logback.xml
similarity index 100%
rename from play-framework/async-http/conf/logback.xml
rename to web-modules/play-framework/async-http/conf/logback.xml
diff --git a/play-framework/async-http/conf/routes b/web-modules/play-framework/async-http/conf/routes
similarity index 100%
rename from play-framework/async-http/conf/routes
rename to web-modules/play-framework/async-http/conf/routes
diff --git a/play-framework/async-http/project/build.properties b/web-modules/play-framework/async-http/project/build.properties
similarity index 100%
rename from play-framework/async-http/project/build.properties
rename to web-modules/play-framework/async-http/project/build.properties
diff --git a/play-framework/async-http/project/plugins.sbt b/web-modules/play-framework/async-http/project/plugins.sbt
similarity index 100%
rename from play-framework/async-http/project/plugins.sbt
rename to web-modules/play-framework/async-http/project/plugins.sbt
diff --git a/play-framework/async-http/public/images/favicon.png b/web-modules/play-framework/async-http/public/images/favicon.png
similarity index 100%
rename from play-framework/async-http/public/images/favicon.png
rename to web-modules/play-framework/async-http/public/images/favicon.png
diff --git a/play-framework/async-http/public/javascripts/main.js b/web-modules/play-framework/async-http/public/javascripts/main.js
similarity index 100%
rename from play-framework/async-http/public/javascripts/main.js
rename to web-modules/play-framework/async-http/public/javascripts/main.js
diff --git a/play-framework/async-http/public/stylesheets/main.css b/web-modules/play-framework/async-http/public/stylesheets/main.css
similarity index 100%
rename from play-framework/async-http/public/stylesheets/main.css
rename to web-modules/play-framework/async-http/public/stylesheets/main.css
diff --git a/play-framework/async-http/test/controllers/HomeControllerTest.java b/web-modules/play-framework/async-http/test/controllers/HomeControllerTest.java
similarity index 100%
rename from play-framework/async-http/test/controllers/HomeControllerTest.java
rename to web-modules/play-framework/async-http/test/controllers/HomeControllerTest.java
diff --git a/play-framework/introduction/.gitignore b/web-modules/play-framework/introduction/.gitignore
similarity index 100%
rename from play-framework/introduction/.gitignore
rename to web-modules/play-framework/introduction/.gitignore
diff --git a/play-framework/introduction/app/controllers/HomeController.java b/web-modules/play-framework/introduction/app/controllers/HomeController.java
similarity index 100%
rename from play-framework/introduction/app/controllers/HomeController.java
rename to web-modules/play-framework/introduction/app/controllers/HomeController.java
diff --git a/play-framework/introduction/app/views/index.scala.html b/web-modules/play-framework/introduction/app/views/index.scala.html
similarity index 100%
rename from play-framework/introduction/app/views/index.scala.html
rename to web-modules/play-framework/introduction/app/views/index.scala.html
diff --git a/play-framework/introduction/app/views/main.scala.html b/web-modules/play-framework/introduction/app/views/main.scala.html
similarity index 100%
rename from play-framework/introduction/app/views/main.scala.html
rename to web-modules/play-framework/introduction/app/views/main.scala.html
diff --git a/play-framework/introduction/build.sbt b/web-modules/play-framework/introduction/build.sbt
similarity index 100%
rename from play-framework/introduction/build.sbt
rename to web-modules/play-framework/introduction/build.sbt
diff --git a/play-framework/introduction/conf/application.conf b/web-modules/play-framework/introduction/conf/application.conf
similarity index 100%
rename from play-framework/introduction/conf/application.conf
rename to web-modules/play-framework/introduction/conf/application.conf
diff --git a/play-framework/introduction/conf/logback.xml b/web-modules/play-framework/introduction/conf/logback.xml
similarity index 100%
rename from play-framework/introduction/conf/logback.xml
rename to web-modules/play-framework/introduction/conf/logback.xml
diff --git a/play-framework/introduction/conf/routes b/web-modules/play-framework/introduction/conf/routes
similarity index 100%
rename from play-framework/introduction/conf/routes
rename to web-modules/play-framework/introduction/conf/routes
diff --git a/play-framework/introduction/project/build.properties b/web-modules/play-framework/introduction/project/build.properties
similarity index 100%
rename from play-framework/introduction/project/build.properties
rename to web-modules/play-framework/introduction/project/build.properties
diff --git a/play-framework/introduction/project/plugins.sbt b/web-modules/play-framework/introduction/project/plugins.sbt
similarity index 100%
rename from play-framework/introduction/project/plugins.sbt
rename to web-modules/play-framework/introduction/project/plugins.sbt
diff --git a/play-framework/introduction/public/images/favicon.png b/web-modules/play-framework/introduction/public/images/favicon.png
similarity index 100%
rename from play-framework/introduction/public/images/favicon.png
rename to web-modules/play-framework/introduction/public/images/favicon.png
diff --git a/play-framework/introduction/public/javascripts/main.js b/web-modules/play-framework/introduction/public/javascripts/main.js
similarity index 100%
rename from play-framework/introduction/public/javascripts/main.js
rename to web-modules/play-framework/introduction/public/javascripts/main.js
diff --git a/play-framework/introduction/public/stylesheets/main.css b/web-modules/play-framework/introduction/public/stylesheets/main.css
similarity index 100%
rename from play-framework/introduction/public/stylesheets/main.css
rename to web-modules/play-framework/introduction/public/stylesheets/main.css
diff --git a/play-framework/introduction/test/controllers/HomeControllerUnitTest.java b/web-modules/play-framework/introduction/test/controllers/HomeControllerUnitTest.java
similarity index 100%
rename from play-framework/introduction/test/controllers/HomeControllerUnitTest.java
rename to web-modules/play-framework/introduction/test/controllers/HomeControllerUnitTest.java
diff --git a/play-framework/routing-in-play/app/controllers/HomeController.java b/web-modules/play-framework/routing-in-play/app/controllers/HomeController.java
similarity index 100%
rename from play-framework/routing-in-play/app/controllers/HomeController.java
rename to web-modules/play-framework/routing-in-play/app/controllers/HomeController.java
diff --git a/play-framework/routing-in-play/app/views/index.scala.html b/web-modules/play-framework/routing-in-play/app/views/index.scala.html
similarity index 100%
rename from play-framework/routing-in-play/app/views/index.scala.html
rename to web-modules/play-framework/routing-in-play/app/views/index.scala.html
diff --git a/play-framework/routing-in-play/app/views/main.scala.html b/web-modules/play-framework/routing-in-play/app/views/main.scala.html
similarity index 100%
rename from play-framework/routing-in-play/app/views/main.scala.html
rename to web-modules/play-framework/routing-in-play/app/views/main.scala.html
diff --git a/play-framework/routing-in-play/build.sbt b/web-modules/play-framework/routing-in-play/build.sbt
similarity index 100%
rename from play-framework/routing-in-play/build.sbt
rename to web-modules/play-framework/routing-in-play/build.sbt
diff --git a/play-framework/routing-in-play/conf/application.conf b/web-modules/play-framework/routing-in-play/conf/application.conf
similarity index 100%
rename from play-framework/routing-in-play/conf/application.conf
rename to web-modules/play-framework/routing-in-play/conf/application.conf
diff --git a/play-framework/routing-in-play/conf/logback.xml b/web-modules/play-framework/routing-in-play/conf/logback.xml
similarity index 100%
rename from play-framework/routing-in-play/conf/logback.xml
rename to web-modules/play-framework/routing-in-play/conf/logback.xml
diff --git a/play-framework/routing-in-play/conf/routes b/web-modules/play-framework/routing-in-play/conf/routes
similarity index 100%
rename from play-framework/routing-in-play/conf/routes
rename to web-modules/play-framework/routing-in-play/conf/routes
diff --git a/play-framework/routing-in-play/project/build.properties b/web-modules/play-framework/routing-in-play/project/build.properties
similarity index 100%
rename from play-framework/routing-in-play/project/build.properties
rename to web-modules/play-framework/routing-in-play/project/build.properties
diff --git a/play-framework/routing-in-play/project/plugins.sbt b/web-modules/play-framework/routing-in-play/project/plugins.sbt
similarity index 100%
rename from play-framework/routing-in-play/project/plugins.sbt
rename to web-modules/play-framework/routing-in-play/project/plugins.sbt
diff --git a/play-framework/routing-in-play/public/images/favicon.png b/web-modules/play-framework/routing-in-play/public/images/favicon.png
similarity index 100%
rename from play-framework/routing-in-play/public/images/favicon.png
rename to web-modules/play-framework/routing-in-play/public/images/favicon.png
diff --git a/play-framework/routing-in-play/public/javascripts/main.js b/web-modules/play-framework/routing-in-play/public/javascripts/main.js
similarity index 100%
rename from play-framework/routing-in-play/public/javascripts/main.js
rename to web-modules/play-framework/routing-in-play/public/javascripts/main.js
diff --git a/play-framework/routing-in-play/public/stylesheets/main.css b/web-modules/play-framework/routing-in-play/public/stylesheets/main.css
similarity index 100%
rename from play-framework/routing-in-play/public/stylesheets/main.css
rename to web-modules/play-framework/routing-in-play/public/stylesheets/main.css
diff --git a/play-framework/routing-in-play/test/controllers/HomeControllerUnitTest.java b/web-modules/play-framework/routing-in-play/test/controllers/HomeControllerUnitTest.java
similarity index 100%
rename from play-framework/routing-in-play/test/controllers/HomeControllerUnitTest.java
rename to web-modules/play-framework/routing-in-play/test/controllers/HomeControllerUnitTest.java
diff --git a/play-framework/student-api/.gitignore b/web-modules/play-framework/student-api/.gitignore
similarity index 100%
rename from play-framework/student-api/.gitignore
rename to web-modules/play-framework/student-api/.gitignore
diff --git a/play-framework/student-api/app/controllers/StudentController.java b/web-modules/play-framework/student-api/app/controllers/StudentController.java
similarity index 100%
rename from play-framework/student-api/app/controllers/StudentController.java
rename to web-modules/play-framework/student-api/app/controllers/StudentController.java
diff --git a/play-framework/student-api/app/model/Student.java b/web-modules/play-framework/student-api/app/model/Student.java
similarity index 100%
rename from play-framework/student-api/app/model/Student.java
rename to web-modules/play-framework/student-api/app/model/Student.java
diff --git a/play-framework/student-api/app/store/StudentStore.java b/web-modules/play-framework/student-api/app/store/StudentStore.java
similarity index 100%
rename from play-framework/student-api/app/store/StudentStore.java
rename to web-modules/play-framework/student-api/app/store/StudentStore.java
diff --git a/play-framework/student-api/app/utils/Util.java b/web-modules/play-framework/student-api/app/utils/Util.java
similarity index 100%
rename from play-framework/student-api/app/utils/Util.java
rename to web-modules/play-framework/student-api/app/utils/Util.java
diff --git a/play-framework/student-api/build.sbt b/web-modules/play-framework/student-api/build.sbt
similarity index 100%
rename from play-framework/student-api/build.sbt
rename to web-modules/play-framework/student-api/build.sbt
diff --git a/play-framework/student-api/conf/application.conf b/web-modules/play-framework/student-api/conf/application.conf
similarity index 100%
rename from play-framework/student-api/conf/application.conf
rename to web-modules/play-framework/student-api/conf/application.conf
diff --git a/play-framework/student-api/conf/logback.xml b/web-modules/play-framework/student-api/conf/logback.xml
similarity index 100%
rename from play-framework/student-api/conf/logback.xml
rename to web-modules/play-framework/student-api/conf/logback.xml
diff --git a/play-framework/student-api/conf/routes b/web-modules/play-framework/student-api/conf/routes
similarity index 100%
rename from play-framework/student-api/conf/routes
rename to web-modules/play-framework/student-api/conf/routes
diff --git a/play-framework/student-api/project/build.properties b/web-modules/play-framework/student-api/project/build.properties
similarity index 100%
rename from play-framework/student-api/project/build.properties
rename to web-modules/play-framework/student-api/project/build.properties
diff --git a/play-framework/student-api/project/plugins.sbt b/web-modules/play-framework/student-api/project/plugins.sbt
similarity index 100%
rename from play-framework/student-api/project/plugins.sbt
rename to web-modules/play-framework/student-api/project/plugins.sbt
diff --git a/play-framework/student-api/test/controllers/StudentControllerUnitTest.java b/web-modules/play-framework/student-api/test/controllers/StudentControllerUnitTest.java
similarity index 100%
rename from play-framework/student-api/test/controllers/StudentControllerUnitTest.java
rename to web-modules/play-framework/student-api/test/controllers/StudentControllerUnitTest.java
diff --git a/play-framework/websockets/README.md b/web-modules/play-framework/websockets/README.md
similarity index 100%
rename from play-framework/websockets/README.md
rename to web-modules/play-framework/websockets/README.md
diff --git a/play-framework/websockets/app/actors/Messenger.java b/web-modules/play-framework/websockets/app/actors/Messenger.java
similarity index 100%
rename from play-framework/websockets/app/actors/Messenger.java
rename to web-modules/play-framework/websockets/app/actors/Messenger.java
diff --git a/play-framework/websockets/app/controllers/HomeController.java b/web-modules/play-framework/websockets/app/controllers/HomeController.java
similarity index 100%
rename from play-framework/websockets/app/controllers/HomeController.java
rename to web-modules/play-framework/websockets/app/controllers/HomeController.java
diff --git a/play-framework/websockets/app/dto/MessageDTO.java b/web-modules/play-framework/websockets/app/dto/MessageDTO.java
similarity index 100%
rename from play-framework/websockets/app/dto/MessageDTO.java
rename to web-modules/play-framework/websockets/app/dto/MessageDTO.java
diff --git a/play-framework/websockets/app/dto/RequestDTO.java b/web-modules/play-framework/websockets/app/dto/RequestDTO.java
similarity index 100%
rename from play-framework/websockets/app/dto/RequestDTO.java
rename to web-modules/play-framework/websockets/app/dto/RequestDTO.java
diff --git a/play-framework/websockets/app/utils/MessageConverter.java b/web-modules/play-framework/websockets/app/utils/MessageConverter.java
similarity index 100%
rename from play-framework/websockets/app/utils/MessageConverter.java
rename to web-modules/play-framework/websockets/app/utils/MessageConverter.java
diff --git a/play-framework/websockets/app/views/index.scala.html b/web-modules/play-framework/websockets/app/views/index.scala.html
similarity index 100%
rename from play-framework/websockets/app/views/index.scala.html
rename to web-modules/play-framework/websockets/app/views/index.scala.html
diff --git a/play-framework/websockets/app/views/main.scala.html b/web-modules/play-framework/websockets/app/views/main.scala.html
similarity index 100%
rename from play-framework/websockets/app/views/main.scala.html
rename to web-modules/play-framework/websockets/app/views/main.scala.html
diff --git a/play-framework/websockets/build.sbt b/web-modules/play-framework/websockets/build.sbt
similarity index 100%
rename from play-framework/websockets/build.sbt
rename to web-modules/play-framework/websockets/build.sbt
diff --git a/play-framework/websockets/conf/application.conf b/web-modules/play-framework/websockets/conf/application.conf
similarity index 100%
rename from play-framework/websockets/conf/application.conf
rename to web-modules/play-framework/websockets/conf/application.conf
diff --git a/play-framework/websockets/conf/logback.xml b/web-modules/play-framework/websockets/conf/logback.xml
similarity index 100%
rename from play-framework/websockets/conf/logback.xml
rename to web-modules/play-framework/websockets/conf/logback.xml
diff --git a/play-framework/websockets/conf/routes b/web-modules/play-framework/websockets/conf/routes
similarity index 100%
rename from play-framework/websockets/conf/routes
rename to web-modules/play-framework/websockets/conf/routes
diff --git a/play-framework/websockets/project/build.properties b/web-modules/play-framework/websockets/project/build.properties
similarity index 100%
rename from play-framework/websockets/project/build.properties
rename to web-modules/play-framework/websockets/project/build.properties
diff --git a/play-framework/websockets/project/plugins.sbt b/web-modules/play-framework/websockets/project/plugins.sbt
similarity index 100%
rename from play-framework/websockets/project/plugins.sbt
rename to web-modules/play-framework/websockets/project/plugins.sbt
diff --git a/play-framework/websockets/public/images/favicon.png b/web-modules/play-framework/websockets/public/images/favicon.png
similarity index 100%
rename from play-framework/websockets/public/images/favicon.png
rename to web-modules/play-framework/websockets/public/images/favicon.png
diff --git a/play-framework/websockets/public/javascripts/main.js b/web-modules/play-framework/websockets/public/javascripts/main.js
similarity index 100%
rename from play-framework/websockets/public/javascripts/main.js
rename to web-modules/play-framework/websockets/public/javascripts/main.js
diff --git a/play-framework/websockets/public/stylesheets/main.css b/web-modules/play-framework/websockets/public/stylesheets/main.css
similarity index 100%
rename from play-framework/websockets/public/stylesheets/main.css
rename to web-modules/play-framework/websockets/public/stylesheets/main.css
diff --git a/play-framework/websockets/test/controllers/HomeControllerTest.java b/web-modules/play-framework/websockets/test/controllers/HomeControllerTest.java
similarity index 100%
rename from play-framework/websockets/test/controllers/HomeControllerTest.java
rename to web-modules/play-framework/websockets/test/controllers/HomeControllerTest.java
diff --git a/web-modules/pom.xml b/web-modules/pom.xml
new file mode 100644
index 0000000000..a6e13cbb2a
--- /dev/null
+++ b/web-modules/pom.xml
@@ -0,0 +1,50 @@
+
+
+ 4.0.0
+ web-modules
+ web-modules
+ pom
+
+
+ parent-modules
+ com.baeldung
+ 1.0.0-SNAPSHOT
+
+
+
+ apache-tapestry
+ blade
+ bootique
+ dropwizard
+ google-web-toolkit
+ jakarta-ee
+ java-lite
+ javax-servlets
+ javax-servlets-2
+ jee-7
+ jooby
+ linkrest
+ ninja
+ ratpack
+ resteasy
+ restx
+ spark-java
+ struts-2
+ vraptor
+ wicket
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
+
+
\ No newline at end of file
diff --git a/raml/README.md b/web-modules/raml/README.md
similarity index 100%
rename from raml/README.md
rename to web-modules/raml/README.md
diff --git a/raml/annotations/README.md b/web-modules/raml/annotations/README.md
similarity index 100%
rename from raml/annotations/README.md
rename to web-modules/raml/annotations/README.md
diff --git a/raml/annotations/api.raml b/web-modules/raml/annotations/api.raml
similarity index 100%
rename from raml/annotations/api.raml
rename to web-modules/raml/annotations/api.raml
diff --git a/raml/annotations/examples/Bar.json b/web-modules/raml/annotations/examples/Bar.json
similarity index 100%
rename from raml/annotations/examples/Bar.json
rename to web-modules/raml/annotations/examples/Bar.json
diff --git a/raml/annotations/examples/Bars.json b/web-modules/raml/annotations/examples/Bars.json
similarity index 100%
rename from raml/annotations/examples/Bars.json
rename to web-modules/raml/annotations/examples/Bars.json
diff --git a/raml/annotations/examples/Error.json b/web-modules/raml/annotations/examples/Error.json
similarity index 100%
rename from raml/annotations/examples/Error.json
rename to web-modules/raml/annotations/examples/Error.json
diff --git a/raml/annotations/examples/Foo.json b/web-modules/raml/annotations/examples/Foo.json
similarity index 100%
rename from raml/annotations/examples/Foo.json
rename to web-modules/raml/annotations/examples/Foo.json
diff --git a/raml/annotations/examples/Foos.json b/web-modules/raml/annotations/examples/Foos.json
similarity index 100%
rename from raml/annotations/examples/Foos.json
rename to web-modules/raml/annotations/examples/Foos.json
diff --git a/raml/annotations/extensions/en_US/additionalResources.raml b/web-modules/raml/annotations/extensions/en_US/additionalResources.raml
similarity index 100%
rename from raml/annotations/extensions/en_US/additionalResources.raml
rename to web-modules/raml/annotations/extensions/en_US/additionalResources.raml
diff --git a/raml/annotations/libraries/dataTypes.raml b/web-modules/raml/annotations/libraries/dataTypes.raml
similarity index 100%
rename from raml/annotations/libraries/dataTypes.raml
rename to web-modules/raml/annotations/libraries/dataTypes.raml
diff --git a/raml/annotations/libraries/resourceTypes.raml b/web-modules/raml/annotations/libraries/resourceTypes.raml
similarity index 100%
rename from raml/annotations/libraries/resourceTypes.raml
rename to web-modules/raml/annotations/libraries/resourceTypes.raml
diff --git a/raml/annotations/libraries/securitySchemes.raml b/web-modules/raml/annotations/libraries/securitySchemes.raml
similarity index 100%
rename from raml/annotations/libraries/securitySchemes.raml
rename to web-modules/raml/annotations/libraries/securitySchemes.raml
diff --git a/raml/annotations/libraries/traits.raml b/web-modules/raml/annotations/libraries/traits.raml
similarity index 100%
rename from raml/annotations/libraries/traits.raml
rename to web-modules/raml/annotations/libraries/traits.raml
diff --git a/raml/annotations/overlays/es_ES/additionalResources.raml b/web-modules/raml/annotations/overlays/es_ES/additionalResources.raml
similarity index 100%
rename from raml/annotations/overlays/es_ES/additionalResources.raml
rename to web-modules/raml/annotations/overlays/es_ES/additionalResources.raml
diff --git a/raml/annotations/overlays/es_ES/documentationItems.raml b/web-modules/raml/annotations/overlays/es_ES/documentationItems.raml
similarity index 100%
rename from raml/annotations/overlays/es_ES/documentationItems.raml
rename to web-modules/raml/annotations/overlays/es_ES/documentationItems.raml
diff --git a/raml/introduction/0.8/api.raml b/web-modules/raml/introduction/0.8/api.raml
similarity index 100%
rename from raml/introduction/0.8/api.raml
rename to web-modules/raml/introduction/0.8/api.raml
diff --git a/raml/introduction/0.8/error-example.json b/web-modules/raml/introduction/0.8/error-example.json
similarity index 100%
rename from raml/introduction/0.8/error-example.json
rename to web-modules/raml/introduction/0.8/error-example.json
diff --git a/raml/introduction/0.8/error.json b/web-modules/raml/introduction/0.8/error.json
similarity index 100%
rename from raml/introduction/0.8/error.json
rename to web-modules/raml/introduction/0.8/error.json
diff --git a/raml/introduction/0.8/foo-example.json b/web-modules/raml/introduction/0.8/foo-example.json
similarity index 100%
rename from raml/introduction/0.8/foo-example.json
rename to web-modules/raml/introduction/0.8/foo-example.json
diff --git a/raml/introduction/0.8/foo.json b/web-modules/raml/introduction/0.8/foo.json
similarity index 100%
rename from raml/introduction/0.8/foo.json
rename to web-modules/raml/introduction/0.8/foo.json
diff --git a/raml/introduction/0.8/foos-example.json b/web-modules/raml/introduction/0.8/foos-example.json
similarity index 100%
rename from raml/introduction/0.8/foos-example.json
rename to web-modules/raml/introduction/0.8/foos-example.json
diff --git a/raml/introduction/0.8/foos.json b/web-modules/raml/introduction/0.8/foos.json
similarity index 100%
rename from raml/introduction/0.8/foos.json
rename to web-modules/raml/introduction/0.8/foos.json
diff --git a/raml/introduction/1.0/api.raml b/web-modules/raml/introduction/1.0/api.raml
similarity index 100%
rename from raml/introduction/1.0/api.raml
rename to web-modules/raml/introduction/1.0/api.raml
diff --git a/raml/introduction/1.0/examples/Error.json b/web-modules/raml/introduction/1.0/examples/Error.json
similarity index 100%
rename from raml/introduction/1.0/examples/Error.json
rename to web-modules/raml/introduction/1.0/examples/Error.json
diff --git a/raml/introduction/1.0/examples/Foo.json b/web-modules/raml/introduction/1.0/examples/Foo.json
similarity index 100%
rename from raml/introduction/1.0/examples/Foo.json
rename to web-modules/raml/introduction/1.0/examples/Foo.json
diff --git a/raml/introduction/1.0/examples/Foos.json b/web-modules/raml/introduction/1.0/examples/Foos.json
similarity index 100%
rename from raml/introduction/1.0/examples/Foos.json
rename to web-modules/raml/introduction/1.0/examples/Foos.json
diff --git a/raml/introduction/1.0/types/Error.raml b/web-modules/raml/introduction/1.0/types/Error.raml
similarity index 100%
rename from raml/introduction/1.0/types/Error.raml
rename to web-modules/raml/introduction/1.0/types/Error.raml
diff --git a/raml/introduction/1.0/types/Foo.raml b/web-modules/raml/introduction/1.0/types/Foo.raml
similarity index 100%
rename from raml/introduction/1.0/types/Foo.raml
rename to web-modules/raml/introduction/1.0/types/Foo.raml
diff --git a/raml/modularization/README.md b/web-modules/raml/modularization/README.md
similarity index 100%
rename from raml/modularization/README.md
rename to web-modules/raml/modularization/README.md
diff --git a/raml/modularization/api-before-modularization.raml b/web-modules/raml/modularization/api-before-modularization.raml
similarity index 100%
rename from raml/modularization/api-before-modularization.raml
rename to web-modules/raml/modularization/api-before-modularization.raml
diff --git a/raml/modularization/api-with-libraries.raml b/web-modules/raml/modularization/api-with-libraries.raml
similarity index 100%
rename from raml/modularization/api-with-libraries.raml
rename to web-modules/raml/modularization/api-with-libraries.raml
diff --git a/raml/modularization/api-with-typed-fragments.raml b/web-modules/raml/modularization/api-with-typed-fragments.raml
similarity index 100%
rename from raml/modularization/api-with-typed-fragments.raml
rename to web-modules/raml/modularization/api-with-typed-fragments.raml
diff --git a/raml/modularization/api.raml b/web-modules/raml/modularization/api.raml
similarity index 100%
rename from raml/modularization/api.raml
rename to web-modules/raml/modularization/api.raml
diff --git a/raml/modularization/examples/Bar.json b/web-modules/raml/modularization/examples/Bar.json
similarity index 100%
rename from raml/modularization/examples/Bar.json
rename to web-modules/raml/modularization/examples/Bar.json
diff --git a/raml/modularization/examples/Bars.json b/web-modules/raml/modularization/examples/Bars.json
similarity index 100%
rename from raml/modularization/examples/Bars.json
rename to web-modules/raml/modularization/examples/Bars.json
diff --git a/raml/modularization/examples/Error.json b/web-modules/raml/modularization/examples/Error.json
similarity index 100%
rename from raml/modularization/examples/Error.json
rename to web-modules/raml/modularization/examples/Error.json
diff --git a/raml/modularization/examples/Foo.json b/web-modules/raml/modularization/examples/Foo.json
similarity index 100%
rename from raml/modularization/examples/Foo.json
rename to web-modules/raml/modularization/examples/Foo.json
diff --git a/raml/modularization/examples/Foos.json b/web-modules/raml/modularization/examples/Foos.json
similarity index 100%
rename from raml/modularization/examples/Foos.json
rename to web-modules/raml/modularization/examples/Foos.json
diff --git a/raml/modularization/extensions/en_US/additionalResources.raml b/web-modules/raml/modularization/extensions/en_US/additionalResources.raml
similarity index 100%
rename from raml/modularization/extensions/en_US/additionalResources.raml
rename to web-modules/raml/modularization/extensions/en_US/additionalResources.raml
diff --git a/raml/modularization/libraries/dataTypes.raml b/web-modules/raml/modularization/libraries/dataTypes.raml
similarity index 100%
rename from raml/modularization/libraries/dataTypes.raml
rename to web-modules/raml/modularization/libraries/dataTypes.raml
diff --git a/raml/modularization/libraries/resourceTypes.raml b/web-modules/raml/modularization/libraries/resourceTypes.raml
similarity index 100%
rename from raml/modularization/libraries/resourceTypes.raml
rename to web-modules/raml/modularization/libraries/resourceTypes.raml
diff --git a/raml/modularization/libraries/securitySchemes.raml b/web-modules/raml/modularization/libraries/securitySchemes.raml
similarity index 100%
rename from raml/modularization/libraries/securitySchemes.raml
rename to web-modules/raml/modularization/libraries/securitySchemes.raml
diff --git a/raml/modularization/libraries/traits.raml b/web-modules/raml/modularization/libraries/traits.raml
similarity index 100%
rename from raml/modularization/libraries/traits.raml
rename to web-modules/raml/modularization/libraries/traits.raml
diff --git a/raml/modularization/overlays/es_ES/additionalResources.raml b/web-modules/raml/modularization/overlays/es_ES/additionalResources.raml
similarity index 100%
rename from raml/modularization/overlays/es_ES/additionalResources.raml
rename to web-modules/raml/modularization/overlays/es_ES/additionalResources.raml
diff --git a/raml/modularization/overlays/es_ES/documentationItems.raml b/web-modules/raml/modularization/overlays/es_ES/documentationItems.raml
similarity index 100%
rename from raml/modularization/overlays/es_ES/documentationItems.raml
rename to web-modules/raml/modularization/overlays/es_ES/documentationItems.raml
diff --git a/raml/modularization/resourceTypes/collection.raml b/web-modules/raml/modularization/resourceTypes/collection.raml
similarity index 100%
rename from raml/modularization/resourceTypes/collection.raml
rename to web-modules/raml/modularization/resourceTypes/collection.raml
diff --git a/raml/modularization/resourceTypes/item.raml b/web-modules/raml/modularization/resourceTypes/item.raml
similarity index 100%
rename from raml/modularization/resourceTypes/item.raml
rename to web-modules/raml/modularization/resourceTypes/item.raml
diff --git a/raml/modularization/traits/hasNotFound.raml b/web-modules/raml/modularization/traits/hasNotFound.raml
similarity index 100%
rename from raml/modularization/traits/hasNotFound.raml
rename to web-modules/raml/modularization/traits/hasNotFound.raml
diff --git a/raml/modularization/traits/hasRequestItem.raml b/web-modules/raml/modularization/traits/hasRequestItem.raml
similarity index 100%
rename from raml/modularization/traits/hasRequestItem.raml
rename to web-modules/raml/modularization/traits/hasRequestItem.raml
diff --git a/raml/modularization/traits/hasResponseCollection.raml b/web-modules/raml/modularization/traits/hasResponseCollection.raml
similarity index 100%
rename from raml/modularization/traits/hasResponseCollection.raml
rename to web-modules/raml/modularization/traits/hasResponseCollection.raml
diff --git a/raml/modularization/traits/hasResponseItem.raml b/web-modules/raml/modularization/traits/hasResponseItem.raml
similarity index 100%
rename from raml/modularization/traits/hasResponseItem.raml
rename to web-modules/raml/modularization/traits/hasResponseItem.raml
diff --git a/raml/modularization/types/Bar.raml b/web-modules/raml/modularization/types/Bar.raml
similarity index 100%
rename from raml/modularization/types/Bar.raml
rename to web-modules/raml/modularization/types/Bar.raml
diff --git a/raml/modularization/types/Error.raml b/web-modules/raml/modularization/types/Error.raml
similarity index 100%
rename from raml/modularization/types/Error.raml
rename to web-modules/raml/modularization/types/Error.raml
diff --git a/raml/modularization/types/Foo.raml b/web-modules/raml/modularization/types/Foo.raml
similarity index 100%
rename from raml/modularization/types/Foo.raml
rename to web-modules/raml/modularization/types/Foo.raml
diff --git a/raml/resource-types-and-traits/README.md b/web-modules/raml/resource-types-and-traits/README.md
similarity index 100%
rename from raml/resource-types-and-traits/README.md
rename to web-modules/raml/resource-types-and-traits/README.md
diff --git a/raml/resource-types-and-traits/api-before-resource-types-and-traits.raml b/web-modules/raml/resource-types-and-traits/api-before-resource-types-and-traits.raml
similarity index 100%
rename from raml/resource-types-and-traits/api-before-resource-types-and-traits.raml
rename to web-modules/raml/resource-types-and-traits/api-before-resource-types-and-traits.raml
diff --git a/raml/resource-types-and-traits/api.raml b/web-modules/raml/resource-types-and-traits/api.raml
similarity index 100%
rename from raml/resource-types-and-traits/api.raml
rename to web-modules/raml/resource-types-and-traits/api.raml
diff --git a/raml/resource-types-and-traits/examples/Bar.json b/web-modules/raml/resource-types-and-traits/examples/Bar.json
similarity index 100%
rename from raml/resource-types-and-traits/examples/Bar.json
rename to web-modules/raml/resource-types-and-traits/examples/Bar.json
diff --git a/raml/resource-types-and-traits/examples/Bars.json b/web-modules/raml/resource-types-and-traits/examples/Bars.json
similarity index 100%
rename from raml/resource-types-and-traits/examples/Bars.json
rename to web-modules/raml/resource-types-and-traits/examples/Bars.json
diff --git a/raml/resource-types-and-traits/examples/Error.json b/web-modules/raml/resource-types-and-traits/examples/Error.json
similarity index 100%
rename from raml/resource-types-and-traits/examples/Error.json
rename to web-modules/raml/resource-types-and-traits/examples/Error.json
diff --git a/raml/resource-types-and-traits/examples/Foo.json b/web-modules/raml/resource-types-and-traits/examples/Foo.json
similarity index 100%
rename from raml/resource-types-and-traits/examples/Foo.json
rename to web-modules/raml/resource-types-and-traits/examples/Foo.json
diff --git a/raml/resource-types-and-traits/examples/Foos.json b/web-modules/raml/resource-types-and-traits/examples/Foos.json
similarity index 100%
rename from raml/resource-types-and-traits/examples/Foos.json
rename to web-modules/raml/resource-types-and-traits/examples/Foos.json
diff --git a/raml/resource-types-and-traits/types/Bar.raml b/web-modules/raml/resource-types-and-traits/types/Bar.raml
similarity index 100%
rename from raml/resource-types-and-traits/types/Bar.raml
rename to web-modules/raml/resource-types-and-traits/types/Bar.raml
diff --git a/raml/resource-types-and-traits/types/Error.raml b/web-modules/raml/resource-types-and-traits/types/Error.raml
similarity index 100%
rename from raml/resource-types-and-traits/types/Error.raml
rename to web-modules/raml/resource-types-and-traits/types/Error.raml
diff --git a/raml/resource-types-and-traits/types/Foo.raml b/web-modules/raml/resource-types-and-traits/types/Foo.raml
similarity index 100%
rename from raml/resource-types-and-traits/types/Foo.raml
rename to web-modules/raml/resource-types-and-traits/types/Foo.raml
diff --git a/ratpack/README.md b/web-modules/ratpack/README.md
similarity index 100%
rename from ratpack/README.md
rename to web-modules/ratpack/README.md
diff --git a/ratpack/build.gradle b/web-modules/ratpack/build.gradle
similarity index 95%
rename from ratpack/build.gradle
rename to web-modules/ratpack/build.gradle
index c997b4e697..f50c5b3800 100644
--- a/ratpack/build.gradle
+++ b/web-modules/ratpack/build.gradle
@@ -1,37 +1,37 @@
-buildscript {
- repositories {
- jcenter()
- }
- dependencies {
- classpath "io.ratpack:ratpack-gradle:1.5.4"
- classpath "com.h2database:h2:1.4.193"
- }
-}
-
-if (!JavaVersion.current().java8Compatible) {
- throw new IllegalStateException("Must be built with Java 8 or higher")
-}
-
-apply plugin: "io.ratpack.ratpack-java"
-apply plugin: 'java'
-apply plugin: 'groovy'
-apply plugin: 'io.ratpack.ratpack-groovy'
-
-repositories {
- jcenter()
-}
-
-dependencies {
- compile ratpack.dependency('hikari')
- compile 'com.h2database:h2:1.4.193'
- testCompile 'junit:junit:4.11'
- runtime "org.slf4j:slf4j-simple:1.7.21"
-}
-
-test {
- testLogging {
- events 'started', 'passed'
- }
-}
-
-mainClassName = "com.baeldung.Application"
+buildscript {
+ repositories {
+ jcenter()
+ }
+ dependencies {
+ classpath "io.ratpack:ratpack-gradle:1.5.4"
+ classpath "com.h2database:h2:1.4.193"
+ }
+}
+
+if (!JavaVersion.current().java8Compatible) {
+ throw new IllegalStateException("Must be built with Java 8 or higher")
+}
+
+apply plugin: "io.ratpack.ratpack-java"
+apply plugin: 'java'
+apply plugin: 'groovy'
+apply plugin: 'io.ratpack.ratpack-groovy'
+
+repositories {
+ jcenter()
+}
+
+dependencies {
+ compile ratpack.dependency('hikari')
+ compile 'com.h2database:h2:1.4.193'
+ testCompile 'junit:junit:4.11'
+ runtime "org.slf4j:slf4j-simple:1.7.21"
+}
+
+test {
+ testLogging {
+ events 'started', 'passed'
+ }
+}
+
+mainClassName = "com.baeldung.Application"
diff --git a/ratpack/pom.xml b/web-modules/ratpack/pom.xml
similarity index 98%
rename from ratpack/pom.xml
rename to web-modules/ratpack/pom.xml
index c57934d8b7..2a63b4118c 100644
--- a/ratpack/pom.xml
+++ b/web-modules/ratpack/pom.xml
@@ -10,7 +10,7 @@
com.baeldung
- parent-modules
+ web-modules
1.0.0-SNAPSHOT
diff --git a/ratpack/src/main/groovy/com/baeldung/Ratpack.groovy b/web-modules/ratpack/src/main/groovy/com/baeldung/Ratpack.groovy
similarity index 100%
rename from ratpack/src/main/groovy/com/baeldung/Ratpack.groovy
rename to web-modules/ratpack/src/main/groovy/com/baeldung/Ratpack.groovy
diff --git a/ratpack/src/main/groovy/com/baeldung/RatpackGroovyApp.groovy b/web-modules/ratpack/src/main/groovy/com/baeldung/RatpackGroovyApp.groovy
similarity index 100%
rename from ratpack/src/main/groovy/com/baeldung/RatpackGroovyApp.groovy
rename to web-modules/ratpack/src/main/groovy/com/baeldung/RatpackGroovyApp.groovy
diff --git a/ratpack/src/main/groovy/com/baeldung/model/User.groovy b/web-modules/ratpack/src/main/groovy/com/baeldung/model/User.groovy
similarity index 100%
rename from ratpack/src/main/groovy/com/baeldung/model/User.groovy
rename to web-modules/ratpack/src/main/groovy/com/baeldung/model/User.groovy
diff --git a/ratpack/src/main/java/com/baeldung/Application.java b/web-modules/ratpack/src/main/java/com/baeldung/Application.java
similarity index 97%
rename from ratpack/src/main/java/com/baeldung/Application.java
rename to web-modules/ratpack/src/main/java/com/baeldung/Application.java
index 4a391d04a1..235a6f0068 100644
--- a/ratpack/src/main/java/com/baeldung/Application.java
+++ b/web-modules/ratpack/src/main/java/com/baeldung/Application.java
@@ -1,81 +1,81 @@
-package com.baeldung;
-
-import com.baeldung.filter.RequestValidatorFilter;
-import com.baeldung.handler.EmployeeHandler;
-import com.baeldung.handler.RedirectHandler;
-import com.baeldung.model.Employee;
-import com.baeldung.repository.EmployeeRepository;
-import com.baeldung.repository.EmployeeRepositoryImpl;
-import com.zaxxer.hikari.HikariConfig;
-import io.netty.buffer.PooledByteBufAllocator;
-import ratpack.func.Action;
-import ratpack.func.Function;
-import ratpack.guice.BindingsSpec;
-import ratpack.guice.Guice;
-import ratpack.handling.Chain;
-import ratpack.hikari.HikariModule;
-import ratpack.http.client.HttpClient;
-import ratpack.jackson.Jackson;
-import ratpack.registry.Registry;
-import ratpack.server.RatpackServer;
-import ratpack.server.RatpackServerSpec;
-import ratpack.server.ServerConfig;
-
-import java.time.Duration;
-import java.time.temporal.ChronoUnit;
-import java.util.ArrayList;
-import java.util.List;
-
-public class Application {
-
- public static void main(String[] args) throws Exception {
-
- final Action hikariConfigAction = hikariConfig -> {
- hikariConfig.setDataSourceClassName("org.h2.jdbcx.JdbcDataSource");
- hikariConfig.addDataSourceProperty("URL", "jdbc:h2:mem:baeldung;INIT=RUNSCRIPT FROM 'classpath:/DDL.sql'");
- };
-
- final Action bindingsSpecAction = bindings -> bindings.module(HikariModule.class, hikariConfigAction);
- final HttpClient httpClient = HttpClient.of(httpClientSpec -> {
- httpClientSpec.poolSize(10)
- .connectTimeout(Duration.of(60, ChronoUnit.SECONDS))
- .maxContentLength(ServerConfig.DEFAULT_MAX_CONTENT_LENGTH)
- .responseMaxChunkSize(16384)
- .readTimeout(Duration.of(60, ChronoUnit.SECONDS))
- .byteBufAllocator(PooledByteBufAllocator.DEFAULT);
- });
- final Function registryFunction = Guice.registry(bindingsSpecAction);
-
- final Action chainAction = chain -> chain.all(new RequestValidatorFilter())
- .get(ctx -> ctx.render("Welcome to baeldung ratpack!!!"))
- .get("data/employees", ctx -> ctx.render(Jackson.json(createEmpList())))
- .get(":name", ctx -> ctx.render("Hello " + ctx.getPathTokens()
- .get("name") + "!!!"))
- .post(":amount", ctx -> ctx.render(" Amount $" + ctx.getPathTokens()
- .get("amount") + " added successfully !!!"));
-
- final Action routerChainAction = routerChain -> {
- routerChain.path("redirect", new RedirectHandler())
- .prefix("employee", empChain -> {
- empChain.get(":id", new EmployeeHandler());
- });
- };
- final Action ratpackServerSpecAction = serverSpec -> serverSpec.registry(registryFunction)
- .registryOf(registrySpec -> {
- registrySpec.add(EmployeeRepository.class, new EmployeeRepositoryImpl());
- registrySpec.add(HttpClient.class, httpClient);
- })
- .handlers(chain -> chain.insert(routerChainAction)
- .insert(chainAction));
-
- RatpackServer.start(ratpackServerSpecAction);
- }
-
- private static List createEmpList() {
- List employees = new ArrayList<>();
- employees.add(new Employee(1L, "Mr", "John Doe"));
- employees.add(new Employee(2L, "Mr", "White Snow"));
- return employees;
- }
-
-}
+package com.baeldung;
+
+import com.baeldung.filter.RequestValidatorFilter;
+import com.baeldung.handler.EmployeeHandler;
+import com.baeldung.handler.RedirectHandler;
+import com.baeldung.model.Employee;
+import com.baeldung.repository.EmployeeRepository;
+import com.baeldung.repository.EmployeeRepositoryImpl;
+import com.zaxxer.hikari.HikariConfig;
+import io.netty.buffer.PooledByteBufAllocator;
+import ratpack.func.Action;
+import ratpack.func.Function;
+import ratpack.guice.BindingsSpec;
+import ratpack.guice.Guice;
+import ratpack.handling.Chain;
+import ratpack.hikari.HikariModule;
+import ratpack.http.client.HttpClient;
+import ratpack.jackson.Jackson;
+import ratpack.registry.Registry;
+import ratpack.server.RatpackServer;
+import ratpack.server.RatpackServerSpec;
+import ratpack.server.ServerConfig;
+
+import java.time.Duration;
+import java.time.temporal.ChronoUnit;
+import java.util.ArrayList;
+import java.util.List;
+
+public class Application {
+
+ public static void main(String[] args) throws Exception {
+
+ final Action hikariConfigAction = hikariConfig -> {
+ hikariConfig.setDataSourceClassName("org.h2.jdbcx.JdbcDataSource");
+ hikariConfig.addDataSourceProperty("URL", "jdbc:h2:mem:baeldung;INIT=RUNSCRIPT FROM 'classpath:/DDL.sql'");
+ };
+
+ final Action bindingsSpecAction = bindings -> bindings.module(HikariModule.class, hikariConfigAction);
+ final HttpClient httpClient = HttpClient.of(httpClientSpec -> {
+ httpClientSpec.poolSize(10)
+ .connectTimeout(Duration.of(60, ChronoUnit.SECONDS))
+ .maxContentLength(ServerConfig.DEFAULT_MAX_CONTENT_LENGTH)
+ .responseMaxChunkSize(16384)
+ .readTimeout(Duration.of(60, ChronoUnit.SECONDS))
+ .byteBufAllocator(PooledByteBufAllocator.DEFAULT);
+ });
+ final Function registryFunction = Guice.registry(bindingsSpecAction);
+
+ final Action chainAction = chain -> chain.all(new RequestValidatorFilter())
+ .get(ctx -> ctx.render("Welcome to baeldung ratpack!!!"))
+ .get("data/employees", ctx -> ctx.render(Jackson.json(createEmpList())))
+ .get(":name", ctx -> ctx.render("Hello " + ctx.getPathTokens()
+ .get("name") + "!!!"))
+ .post(":amount", ctx -> ctx.render(" Amount $" + ctx.getPathTokens()
+ .get("amount") + " added successfully !!!"));
+
+ final Action routerChainAction = routerChain -> {
+ routerChain.path("redirect", new RedirectHandler())
+ .prefix("employee", empChain -> {
+ empChain.get(":id", new EmployeeHandler());
+ });
+ };
+ final Action ratpackServerSpecAction = serverSpec -> serverSpec.registry(registryFunction)
+ .registryOf(registrySpec -> {
+ registrySpec.add(EmployeeRepository.class, new EmployeeRepositoryImpl());
+ registrySpec.add(HttpClient.class, httpClient);
+ })
+ .handlers(chain -> chain.insert(routerChainAction)
+ .insert(chainAction));
+
+ RatpackServer.start(ratpackServerSpecAction);
+ }
+
+ private static List createEmpList() {
+ List employees = new ArrayList<>();
+ employees.add(new Employee(1L, "Mr", "John Doe"));
+ employees.add(new Employee(2L, "Mr", "White Snow"));
+ return employees;
+ }
+
+}
diff --git a/ratpack/src/main/java/com/baeldung/filter/RequestValidatorFilter.java b/web-modules/ratpack/src/main/java/com/baeldung/filter/RequestValidatorFilter.java
similarity index 100%
rename from ratpack/src/main/java/com/baeldung/filter/RequestValidatorFilter.java
rename to web-modules/ratpack/src/main/java/com/baeldung/filter/RequestValidatorFilter.java
diff --git a/ratpack/src/main/java/com/baeldung/guice/Application.java b/web-modules/ratpack/src/main/java/com/baeldung/guice/Application.java
similarity index 100%
rename from ratpack/src/main/java/com/baeldung/guice/Application.java
rename to web-modules/ratpack/src/main/java/com/baeldung/guice/Application.java
diff --git a/ratpack/src/main/java/com/baeldung/guice/config/DependencyModule.java b/web-modules/ratpack/src/main/java/com/baeldung/guice/config/DependencyModule.java
similarity index 100%
rename from ratpack/src/main/java/com/baeldung/guice/config/DependencyModule.java
rename to web-modules/ratpack/src/main/java/com/baeldung/guice/config/DependencyModule.java
diff --git a/ratpack/src/main/java/com/baeldung/guice/service/DataPumpService.java b/web-modules/ratpack/src/main/java/com/baeldung/guice/service/DataPumpService.java
similarity index 100%
rename from ratpack/src/main/java/com/baeldung/guice/service/DataPumpService.java
rename to web-modules/ratpack/src/main/java/com/baeldung/guice/service/DataPumpService.java
diff --git a/ratpack/src/main/java/com/baeldung/guice/service/ServiceFactory.java b/web-modules/ratpack/src/main/java/com/baeldung/guice/service/ServiceFactory.java
similarity index 100%
rename from ratpack/src/main/java/com/baeldung/guice/service/ServiceFactory.java
rename to web-modules/ratpack/src/main/java/com/baeldung/guice/service/ServiceFactory.java
diff --git a/ratpack/src/main/java/com/baeldung/guice/service/impl/DataPumpServiceImpl.java b/web-modules/ratpack/src/main/java/com/baeldung/guice/service/impl/DataPumpServiceImpl.java
similarity index 100%
rename from ratpack/src/main/java/com/baeldung/guice/service/impl/DataPumpServiceImpl.java
rename to web-modules/ratpack/src/main/java/com/baeldung/guice/service/impl/DataPumpServiceImpl.java
diff --git a/ratpack/src/main/java/com/baeldung/handler/EmployeeHandler.java b/web-modules/ratpack/src/main/java/com/baeldung/handler/EmployeeHandler.java
similarity index 97%
rename from ratpack/src/main/java/com/baeldung/handler/EmployeeHandler.java
rename to web-modules/ratpack/src/main/java/com/baeldung/handler/EmployeeHandler.java
index 9a6b79259c..9144e68434 100644
--- a/ratpack/src/main/java/com/baeldung/handler/EmployeeHandler.java
+++ b/web-modules/ratpack/src/main/java/com/baeldung/handler/EmployeeHandler.java
@@ -1,20 +1,20 @@
-package com.baeldung.handler;
-
-import com.baeldung.repository.EmployeeRepository;
-import com.baeldung.model.Employee;
-import ratpack.exec.Promise;
-import ratpack.handling.Context;
-import ratpack.handling.Handler;
-
-public class EmployeeHandler implements Handler {
- @Override
- public void handle(Context ctx) throws Exception {
- EmployeeRepository repository = ctx.get(EmployeeRepository.class);
- Long id = Long.valueOf(ctx.getPathTokens()
- .get("id"));
- Promise employeePromise = repository.findEmployeeById(id);
- employeePromise.map(employee -> employee.getName())
- .then(name -> ctx.getResponse()
- .send(name));
- }
-}
+package com.baeldung.handler;
+
+import com.baeldung.repository.EmployeeRepository;
+import com.baeldung.model.Employee;
+import ratpack.exec.Promise;
+import ratpack.handling.Context;
+import ratpack.handling.Handler;
+
+public class EmployeeHandler implements Handler {
+ @Override
+ public void handle(Context ctx) throws Exception {
+ EmployeeRepository repository = ctx.get(EmployeeRepository.class);
+ Long id = Long.valueOf(ctx.getPathTokens()
+ .get("id"));
+ Promise employeePromise = repository.findEmployeeById(id);
+ employeePromise.map(employee -> employee.getName())
+ .then(name -> ctx.getResponse()
+ .send(name));
+ }
+}
diff --git a/ratpack/src/main/java/com/baeldung/handler/FooHandler.java b/web-modules/ratpack/src/main/java/com/baeldung/handler/FooHandler.java
similarity index 95%
rename from ratpack/src/main/java/com/baeldung/handler/FooHandler.java
rename to web-modules/ratpack/src/main/java/com/baeldung/handler/FooHandler.java
index d2c4dbdce5..c80d3a0654 100644
--- a/ratpack/src/main/java/com/baeldung/handler/FooHandler.java
+++ b/web-modules/ratpack/src/main/java/com/baeldung/handler/FooHandler.java
@@ -1,12 +1,12 @@
-package com.baeldung.handler;
-
-import ratpack.handling.Context;
-import ratpack.handling.Handler;
-
-public class FooHandler implements Handler {
- @Override
- public void handle(Context ctx) throws Exception {
- ctx.getResponse()
- .send("Hello Foo!");
- }
-}
+package com.baeldung.handler;
+
+import ratpack.handling.Context;
+import ratpack.handling.Handler;
+
+public class FooHandler implements Handler {
+ @Override
+ public void handle(Context ctx) throws Exception {
+ ctx.getResponse()
+ .send("Hello Foo!");
+ }
+}
diff --git a/ratpack/src/main/java/com/baeldung/handler/RedirectHandler.java b/web-modules/ratpack/src/main/java/com/baeldung/handler/RedirectHandler.java
similarity index 97%
rename from ratpack/src/main/java/com/baeldung/handler/RedirectHandler.java
rename to web-modules/ratpack/src/main/java/com/baeldung/handler/RedirectHandler.java
index c95543a961..2ed4431ef2 100644
--- a/ratpack/src/main/java/com/baeldung/handler/RedirectHandler.java
+++ b/web-modules/ratpack/src/main/java/com/baeldung/handler/RedirectHandler.java
@@ -1,23 +1,23 @@
-package com.baeldung.handler;
-
-import ratpack.exec.Promise;
-import ratpack.handling.Context;
-import ratpack.handling.Handler;
-import ratpack.http.client.HttpClient;
-import ratpack.http.client.ReceivedResponse;
-
-import java.net.URI;
-
-public class RedirectHandler implements Handler {
- @Override
- public void handle(Context ctx) throws Exception {
- HttpClient client = ctx.get(HttpClient.class);
- URI uri = URI.create("http://localhost:5050/employee/1");
- Promise responsePromise = client.get(uri);
- responsePromise.map(response -> response.getBody()
- .getText()
- .toUpperCase())
- .then(responseText -> ctx.getResponse()
- .send(responseText));
- }
+package com.baeldung.handler;
+
+import ratpack.exec.Promise;
+import ratpack.handling.Context;
+import ratpack.handling.Handler;
+import ratpack.http.client.HttpClient;
+import ratpack.http.client.ReceivedResponse;
+
+import java.net.URI;
+
+public class RedirectHandler implements Handler {
+ @Override
+ public void handle(Context ctx) throws Exception {
+ HttpClient client = ctx.get(HttpClient.class);
+ URI uri = URI.create("http://localhost:5050/employee/1");
+ Promise responsePromise = client.get(uri);
+ responsePromise.map(response -> response.getBody()
+ .getText()
+ .toUpperCase())
+ .then(responseText -> ctx.getResponse()
+ .send(responseText));
+ }
}
\ No newline at end of file
diff --git a/ratpack/src/main/java/com/baeldung/hystrix/HystrixAsyncHttpCommand.java b/web-modules/ratpack/src/main/java/com/baeldung/hystrix/HystrixAsyncHttpCommand.java
similarity index 100%
rename from ratpack/src/main/java/com/baeldung/hystrix/HystrixAsyncHttpCommand.java
rename to web-modules/ratpack/src/main/java/com/baeldung/hystrix/HystrixAsyncHttpCommand.java
diff --git a/ratpack/src/main/java/com/baeldung/hystrix/HystrixReactiveHttpCommand.java b/web-modules/ratpack/src/main/java/com/baeldung/hystrix/HystrixReactiveHttpCommand.java
similarity index 100%
rename from ratpack/src/main/java/com/baeldung/hystrix/HystrixReactiveHttpCommand.java
rename to web-modules/ratpack/src/main/java/com/baeldung/hystrix/HystrixReactiveHttpCommand.java
diff --git a/ratpack/src/main/java/com/baeldung/hystrix/HystrixSyncHttpCommand.java b/web-modules/ratpack/src/main/java/com/baeldung/hystrix/HystrixSyncHttpCommand.java
similarity index 100%
rename from ratpack/src/main/java/com/baeldung/hystrix/HystrixSyncHttpCommand.java
rename to web-modules/ratpack/src/main/java/com/baeldung/hystrix/HystrixSyncHttpCommand.java
diff --git a/ratpack/src/main/java/com/baeldung/hystrix/RatpackHystrixApp.java b/web-modules/ratpack/src/main/java/com/baeldung/hystrix/RatpackHystrixApp.java
similarity index 100%
rename from ratpack/src/main/java/com/baeldung/hystrix/RatpackHystrixApp.java
rename to web-modules/ratpack/src/main/java/com/baeldung/hystrix/RatpackHystrixApp.java
diff --git a/ratpack/src/main/java/com/baeldung/model/Employee.java b/web-modules/ratpack/src/main/java/com/baeldung/model/Employee.java
similarity index 100%
rename from ratpack/src/main/java/com/baeldung/model/Employee.java
rename to web-modules/ratpack/src/main/java/com/baeldung/model/Employee.java
diff --git a/ratpack/src/main/java/com/baeldung/model/Movie.java b/web-modules/ratpack/src/main/java/com/baeldung/model/Movie.java
similarity index 100%
rename from ratpack/src/main/java/com/baeldung/model/Movie.java
rename to web-modules/ratpack/src/main/java/com/baeldung/model/Movie.java
diff --git a/ratpack/src/main/java/com/baeldung/model/Quote.java b/web-modules/ratpack/src/main/java/com/baeldung/model/Quote.java
similarity index 100%
rename from ratpack/src/main/java/com/baeldung/model/Quote.java
rename to web-modules/ratpack/src/main/java/com/baeldung/model/Quote.java
diff --git a/ratpack/src/main/java/com/baeldung/repository/EmployeeRepository.java b/web-modules/ratpack/src/main/java/com/baeldung/repository/EmployeeRepository.java
similarity index 95%
rename from ratpack/src/main/java/com/baeldung/repository/EmployeeRepository.java
rename to web-modules/ratpack/src/main/java/com/baeldung/repository/EmployeeRepository.java
index de04c23da5..2b23f91877 100644
--- a/ratpack/src/main/java/com/baeldung/repository/EmployeeRepository.java
+++ b/web-modules/ratpack/src/main/java/com/baeldung/repository/EmployeeRepository.java
@@ -1,10 +1,10 @@
-package com.baeldung.repository;
-
-import com.baeldung.model.Employee;
-import ratpack.exec.Promise;
-
-public interface EmployeeRepository {
-
- Promise findEmployeeById(Long id) throws Exception;
-
-}
+package com.baeldung.repository;
+
+import com.baeldung.model.Employee;
+import ratpack.exec.Promise;
+
+public interface EmployeeRepository {
+
+ Promise findEmployeeById(Long id) throws Exception;
+
+}
diff --git a/ratpack/src/main/java/com/baeldung/repository/EmployeeRepositoryImpl.java b/web-modules/ratpack/src/main/java/com/baeldung/repository/EmployeeRepositoryImpl.java
similarity index 96%
rename from ratpack/src/main/java/com/baeldung/repository/EmployeeRepositoryImpl.java
rename to web-modules/ratpack/src/main/java/com/baeldung/repository/EmployeeRepositoryImpl.java
index 6d15012ccb..122e5206b1 100644
--- a/ratpack/src/main/java/com/baeldung/repository/EmployeeRepositoryImpl.java
+++ b/web-modules/ratpack/src/main/java/com/baeldung/repository/EmployeeRepositoryImpl.java
@@ -1,25 +1,25 @@
-package com.baeldung.repository;
-
-import com.baeldung.model.Employee;
-import ratpack.exec.Promise;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public class EmployeeRepositoryImpl implements EmployeeRepository {
-
- private static final Map EMPLOYEE_MAP = new HashMap<>();
-
- public EmployeeRepositoryImpl() {
- EMPLOYEE_MAP.put(1L, new Employee(1L, "Ms", "Jane Doe"));
- EMPLOYEE_MAP.put(2L, new Employee(2L, "Mr", "NY"));
- }
-
- @Override
- public Promise findEmployeeById(Long id) throws Exception {
- return Promise.async(downstream -> {
- Thread.sleep(500);
- downstream.success(EMPLOYEE_MAP.get(id));
- });
- }
-}
+package com.baeldung.repository;
+
+import com.baeldung.model.Employee;
+import ratpack.exec.Promise;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class EmployeeRepositoryImpl implements EmployeeRepository {
+
+ private static final Map EMPLOYEE_MAP = new HashMap<>();
+
+ public EmployeeRepositoryImpl() {
+ EMPLOYEE_MAP.put(1L, new Employee(1L, "Ms", "Jane Doe"));
+ EMPLOYEE_MAP.put(2L, new Employee(2L, "Mr", "NY"));
+ }
+
+ @Override
+ public Promise findEmployeeById(Long id) throws Exception {
+ return Promise.async(downstream -> {
+ Thread.sleep(500);
+ downstream.success(EMPLOYEE_MAP.get(id));
+ });
+ }
+}
diff --git a/ratpack/src/main/java/com/baeldung/rxjava/RatpackErrorHandlingApp.java b/web-modules/ratpack/src/main/java/com/baeldung/rxjava/RatpackErrorHandlingApp.java
similarity index 100%
rename from ratpack/src/main/java/com/baeldung/rxjava/RatpackErrorHandlingApp.java
rename to web-modules/ratpack/src/main/java/com/baeldung/rxjava/RatpackErrorHandlingApp.java
diff --git a/ratpack/src/main/java/com/baeldung/rxjava/RatpackObserveApp.java b/web-modules/ratpack/src/main/java/com/baeldung/rxjava/RatpackObserveApp.java
similarity index 100%
rename from ratpack/src/main/java/com/baeldung/rxjava/RatpackObserveApp.java
rename to web-modules/ratpack/src/main/java/com/baeldung/rxjava/RatpackObserveApp.java
diff --git a/ratpack/src/main/java/com/baeldung/rxjava/RatpackParallelismApp.java b/web-modules/ratpack/src/main/java/com/baeldung/rxjava/RatpackParallelismApp.java
similarity index 100%
rename from ratpack/src/main/java/com/baeldung/rxjava/RatpackParallelismApp.java
rename to web-modules/ratpack/src/main/java/com/baeldung/rxjava/RatpackParallelismApp.java
diff --git a/ratpack/src/main/java/com/baeldung/rxjava/RatpackPromiseApp.java b/web-modules/ratpack/src/main/java/com/baeldung/rxjava/RatpackPromiseApp.java
similarity index 100%
rename from ratpack/src/main/java/com/baeldung/rxjava/RatpackPromiseApp.java
rename to web-modules/ratpack/src/main/java/com/baeldung/rxjava/RatpackPromiseApp.java
diff --git a/ratpack/src/main/java/com/baeldung/rxjava/service/MovieObservableService.java b/web-modules/ratpack/src/main/java/com/baeldung/rxjava/service/MovieObservableService.java
similarity index 100%
rename from ratpack/src/main/java/com/baeldung/rxjava/service/MovieObservableService.java
rename to web-modules/ratpack/src/main/java/com/baeldung/rxjava/service/MovieObservableService.java
diff --git a/ratpack/src/main/java/com/baeldung/rxjava/service/MoviePromiseService.java b/web-modules/ratpack/src/main/java/com/baeldung/rxjava/service/MoviePromiseService.java
similarity index 100%
rename from ratpack/src/main/java/com/baeldung/rxjava/service/MoviePromiseService.java
rename to web-modules/ratpack/src/main/java/com/baeldung/rxjava/service/MoviePromiseService.java
diff --git a/ratpack/src/main/java/com/baeldung/rxjava/service/QuotesService.java b/web-modules/ratpack/src/main/java/com/baeldung/rxjava/service/QuotesService.java
similarity index 100%
rename from ratpack/src/main/java/com/baeldung/rxjava/service/QuotesService.java
rename to web-modules/ratpack/src/main/java/com/baeldung/rxjava/service/QuotesService.java
diff --git a/ratpack/src/main/java/com/baeldung/rxjava/service/impl/MovieObservableServiceImpl.java b/web-modules/ratpack/src/main/java/com/baeldung/rxjava/service/impl/MovieObservableServiceImpl.java
similarity index 100%
rename from ratpack/src/main/java/com/baeldung/rxjava/service/impl/MovieObservableServiceImpl.java
rename to web-modules/ratpack/src/main/java/com/baeldung/rxjava/service/impl/MovieObservableServiceImpl.java
diff --git a/ratpack/src/main/java/com/baeldung/rxjava/service/impl/MoviePromiseServiceImpl.java b/web-modules/ratpack/src/main/java/com/baeldung/rxjava/service/impl/MoviePromiseServiceImpl.java
similarity index 100%
rename from ratpack/src/main/java/com/baeldung/rxjava/service/impl/MoviePromiseServiceImpl.java
rename to web-modules/ratpack/src/main/java/com/baeldung/rxjava/service/impl/MoviePromiseServiceImpl.java
diff --git a/ratpack/src/main/java/com/baeldung/spring/ArticleList.java b/web-modules/ratpack/src/main/java/com/baeldung/spring/ArticleList.java
similarity index 100%
rename from ratpack/src/main/java/com/baeldung/spring/ArticleList.java
rename to web-modules/ratpack/src/main/java/com/baeldung/spring/ArticleList.java
diff --git a/ratpack/src/main/java/com/baeldung/spring/Config.java b/web-modules/ratpack/src/main/java/com/baeldung/spring/Config.java
similarity index 100%
rename from ratpack/src/main/java/com/baeldung/spring/Config.java
rename to web-modules/ratpack/src/main/java/com/baeldung/spring/Config.java
diff --git a/ratpack/src/main/java/com/baeldung/spring/Content.java b/web-modules/ratpack/src/main/java/com/baeldung/spring/Content.java
similarity index 100%
rename from ratpack/src/main/java/com/baeldung/spring/Content.java
rename to web-modules/ratpack/src/main/java/com/baeldung/spring/Content.java
diff --git a/ratpack/src/main/java/com/baeldung/spring/EmbedRatpackApp.java b/web-modules/ratpack/src/main/java/com/baeldung/spring/EmbedRatpackApp.java
similarity index 100%
rename from ratpack/src/main/java/com/baeldung/spring/EmbedRatpackApp.java
rename to web-modules/ratpack/src/main/java/com/baeldung/spring/EmbedRatpackApp.java
diff --git a/ratpack/src/main/java/com/baeldung/spring/EmbedRatpackStreamsApp.java b/web-modules/ratpack/src/main/java/com/baeldung/spring/EmbedRatpackStreamsApp.java
similarity index 100%
rename from ratpack/src/main/java/com/baeldung/spring/EmbedRatpackStreamsApp.java
rename to web-modules/ratpack/src/main/java/com/baeldung/spring/EmbedRatpackStreamsApp.java
diff --git a/ratpack/src/main/java/com/baeldung/spring/EmbedSpringBootApp.java b/web-modules/ratpack/src/main/java/com/baeldung/spring/EmbedSpringBootApp.java
similarity index 100%
rename from ratpack/src/main/java/com/baeldung/spring/EmbedSpringBootApp.java
rename to web-modules/ratpack/src/main/java/com/baeldung/spring/EmbedSpringBootApp.java
diff --git a/ratpack/src/main/resources/DDL.sql b/web-modules/ratpack/src/main/resources/DDL.sql
similarity index 100%
rename from ratpack/src/main/resources/DDL.sql
rename to web-modules/ratpack/src/main/resources/DDL.sql
diff --git a/ratpack/src/main/resources/User.sql b/web-modules/ratpack/src/main/resources/User.sql
similarity index 100%
rename from ratpack/src/main/resources/User.sql
rename to web-modules/ratpack/src/main/resources/User.sql
diff --git a/ratpack/src/main/resources/logback.xml b/web-modules/ratpack/src/main/resources/logback.xml
similarity index 100%
rename from ratpack/src/main/resources/logback.xml
rename to web-modules/ratpack/src/main/resources/logback.xml
diff --git a/ratpack/src/main/resources/public/index.html b/web-modules/ratpack/src/main/resources/public/index.html
similarity index 100%
rename from ratpack/src/main/resources/public/index.html
rename to web-modules/ratpack/src/main/resources/public/index.html
diff --git a/ratpack/src/test/groovy/com/baeldung/RatpackGroovySpec.groovy b/web-modules/ratpack/src/test/groovy/com/baeldung/RatpackGroovySpec.groovy
similarity index 100%
rename from ratpack/src/test/groovy/com/baeldung/RatpackGroovySpec.groovy
rename to web-modules/ratpack/src/test/groovy/com/baeldung/RatpackGroovySpec.groovy
diff --git a/ratpack/src/test/java/com/baeldung/AppHttpUnitTest.java b/web-modules/ratpack/src/test/java/com/baeldung/AppHttpUnitTest.java
similarity index 97%
rename from ratpack/src/test/java/com/baeldung/AppHttpUnitTest.java
rename to web-modules/ratpack/src/test/java/com/baeldung/AppHttpUnitTest.java
index a97516dd74..74517d9a9b 100644
--- a/ratpack/src/test/java/com/baeldung/AppHttpUnitTest.java
+++ b/web-modules/ratpack/src/test/java/com/baeldung/AppHttpUnitTest.java
@@ -1,58 +1,58 @@
-package com.baeldung;
-
-import com.baeldung.model.Employee;
-import org.junit.Test;
-import ratpack.exec.Promise;
-import ratpack.func.Action;
-import ratpack.handling.Chain;
-import ratpack.handling.Handler;
-import ratpack.registry.Registry;
-import ratpack.test.embed.EmbeddedApp;
-import ratpack.test.exec.ExecHarness;
-
-import static org.junit.Assert.assertEquals;
-
-public class AppHttpUnitTest {
-
- @Test
- public void givenAnyUri_GetEmployeeFromSameRegistry() throws Exception {
- Handler allHandler = ctx -> {
- Long id = Long.valueOf(ctx.getPathTokens()
- .get("id"));
- Employee employee = new Employee(id, "Mr", "NY");
- ctx.next(Registry.single(Employee.class, employee));
- };
- Handler empNameHandler = ctx -> {
- Employee employee = ctx.get(Employee.class);
- ctx.getResponse()
- .send("Name of employee with ID " + employee.getId() + " is " + employee.getName());
- };
- Handler empTitleHandler = ctx -> {
- Employee employee = ctx.get(Employee.class);
- ctx.getResponse()
- .send("Title of employee with ID " + employee.getId() + " is " + employee.getTitle());
- };
-
- Action chainAction = chain -> chain.prefix("employee/:id", empChain -> {
- empChain.all(allHandler)
- .get("name", empNameHandler)
- .get("title", empTitleHandler);
- });
- EmbeddedApp.fromHandlers(chainAction)
- .test(testHttpClient -> {
- assertEquals("Name of employee with ID 1 is NY", testHttpClient.get("employee/1/name")
- .getBody()
- .getText());
- assertEquals("Title of employee with ID 1 is Mr", testHttpClient.get("employee/1/title")
- .getBody()
- .getText());
- });
- }
-
- @Test
- public void givenSyncDataSource_GetDataFromPromise() throws Exception {
- String value = ExecHarness.yieldSingle(execution -> Promise.sync(() -> "Foo"))
- .getValueOrThrow();
- assertEquals("Foo", value);
- }
-}
+package com.baeldung;
+
+import com.baeldung.model.Employee;
+import org.junit.Test;
+import ratpack.exec.Promise;
+import ratpack.func.Action;
+import ratpack.handling.Chain;
+import ratpack.handling.Handler;
+import ratpack.registry.Registry;
+import ratpack.test.embed.EmbeddedApp;
+import ratpack.test.exec.ExecHarness;
+
+import static org.junit.Assert.assertEquals;
+
+public class AppHttpUnitTest {
+
+ @Test
+ public void givenAnyUri_GetEmployeeFromSameRegistry() throws Exception {
+ Handler allHandler = ctx -> {
+ Long id = Long.valueOf(ctx.getPathTokens()
+ .get("id"));
+ Employee employee = new Employee(id, "Mr", "NY");
+ ctx.next(Registry.single(Employee.class, employee));
+ };
+ Handler empNameHandler = ctx -> {
+ Employee employee = ctx.get(Employee.class);
+ ctx.getResponse()
+ .send("Name of employee with ID " + employee.getId() + " is " + employee.getName());
+ };
+ Handler empTitleHandler = ctx -> {
+ Employee employee = ctx.get(Employee.class);
+ ctx.getResponse()
+ .send("Title of employee with ID " + employee.getId() + " is " + employee.getTitle());
+ };
+
+ Action chainAction = chain -> chain.prefix("employee/:id", empChain -> {
+ empChain.all(allHandler)
+ .get("name", empNameHandler)
+ .get("title", empTitleHandler);
+ });
+ EmbeddedApp.fromHandlers(chainAction)
+ .test(testHttpClient -> {
+ assertEquals("Name of employee with ID 1 is NY", testHttpClient.get("employee/1/name")
+ .getBody()
+ .getText());
+ assertEquals("Title of employee with ID 1 is Mr", testHttpClient.get("employee/1/title")
+ .getBody()
+ .getText());
+ });
+ }
+
+ @Test
+ public void givenSyncDataSource_GetDataFromPromise() throws Exception {
+ String value = ExecHarness.yieldSingle(execution -> Promise.sync(() -> "Foo"))
+ .getValueOrThrow();
+ assertEquals("Foo", value);
+ }
+}
diff --git a/ratpack/src/test/java/com/baeldung/ApplicationIntegrationTest.java b/web-modules/ratpack/src/test/java/com/baeldung/ApplicationIntegrationTest.java
similarity index 100%
rename from ratpack/src/test/java/com/baeldung/ApplicationIntegrationTest.java
rename to web-modules/ratpack/src/test/java/com/baeldung/ApplicationIntegrationTest.java
diff --git a/ratpack/src/test/java/com/baeldung/hystrix/RatpackHystrixAppFallbackLiveTest.java b/web-modules/ratpack/src/test/java/com/baeldung/hystrix/RatpackHystrixAppFallbackLiveTest.java
similarity index 100%
rename from ratpack/src/test/java/com/baeldung/hystrix/RatpackHystrixAppFallbackLiveTest.java
rename to web-modules/ratpack/src/test/java/com/baeldung/hystrix/RatpackHystrixAppFallbackLiveTest.java
diff --git a/ratpack/src/test/java/com/baeldung/hystrix/RatpackHystrixAppLiveTest.java b/web-modules/ratpack/src/test/java/com/baeldung/hystrix/RatpackHystrixAppLiveTest.java
similarity index 100%
rename from ratpack/src/test/java/com/baeldung/hystrix/RatpackHystrixAppLiveTest.java
rename to web-modules/ratpack/src/test/java/com/baeldung/hystrix/RatpackHystrixAppLiveTest.java
diff --git a/ratpack/src/test/java/com/baeldung/ratpack/CompliantPublisher.java b/web-modules/ratpack/src/test/java/com/baeldung/ratpack/CompliantPublisher.java
similarity index 100%
rename from ratpack/src/test/java/com/baeldung/ratpack/CompliantPublisher.java
rename to web-modules/ratpack/src/test/java/com/baeldung/ratpack/CompliantPublisher.java
diff --git a/ratpack/src/test/java/com/baeldung/ratpack/LoggingSubscriber.java b/web-modules/ratpack/src/test/java/com/baeldung/ratpack/LoggingSubscriber.java
similarity index 100%
rename from ratpack/src/test/java/com/baeldung/ratpack/LoggingSubscriber.java
rename to web-modules/ratpack/src/test/java/com/baeldung/ratpack/LoggingSubscriber.java
diff --git a/ratpack/src/test/java/com/baeldung/ratpack/NonCompliantPublisher.java b/web-modules/ratpack/src/test/java/com/baeldung/ratpack/NonCompliantPublisher.java
similarity index 100%
rename from ratpack/src/test/java/com/baeldung/ratpack/NonCompliantPublisher.java
rename to web-modules/ratpack/src/test/java/com/baeldung/ratpack/NonCompliantPublisher.java
diff --git a/ratpack/src/test/java/com/baeldung/ratpack/RatpackStreamsUnitTest.java b/web-modules/ratpack/src/test/java/com/baeldung/ratpack/RatpackStreamsUnitTest.java
similarity index 100%
rename from ratpack/src/test/java/com/baeldung/ratpack/RatpackStreamsUnitTest.java
rename to web-modules/ratpack/src/test/java/com/baeldung/ratpack/RatpackStreamsUnitTest.java
diff --git a/ratpack/src/test/java/com/baeldung/spring/EmbedRatpackAppIntegrationTest.java b/web-modules/ratpack/src/test/java/com/baeldung/spring/EmbedRatpackAppIntegrationTest.java
similarity index 100%
rename from ratpack/src/test/java/com/baeldung/spring/EmbedRatpackAppIntegrationTest.java
rename to web-modules/ratpack/src/test/java/com/baeldung/spring/EmbedRatpackAppIntegrationTest.java
diff --git a/resteasy/README.md b/web-modules/resteasy/README.md
similarity index 100%
rename from resteasy/README.md
rename to web-modules/resteasy/README.md
diff --git a/resteasy/pom.xml b/web-modules/resteasy/pom.xml
similarity index 99%
rename from resteasy/pom.xml
rename to web-modules/resteasy/pom.xml
index b12576e583..355dcdb9b5 100644
--- a/resteasy/pom.xml
+++ b/web-modules/resteasy/pom.xml
@@ -10,7 +10,7 @@
com.baeldung
- parent-modules
+ web-modules
1.0.0-SNAPSHOT
diff --git a/resteasy/src/main/java/com/baeldung/client/ServicesInterface.java b/web-modules/resteasy/src/main/java/com/baeldung/client/ServicesInterface.java
similarity index 100%
rename from resteasy/src/main/java/com/baeldung/client/ServicesInterface.java
rename to web-modules/resteasy/src/main/java/com/baeldung/client/ServicesInterface.java
diff --git a/resteasy/src/main/java/com/baeldung/filter/CORSFilter.java b/web-modules/resteasy/src/main/java/com/baeldung/filter/CORSFilter.java
similarity index 100%
rename from resteasy/src/main/java/com/baeldung/filter/CORSFilter.java
rename to web-modules/resteasy/src/main/java/com/baeldung/filter/CORSFilter.java
diff --git a/resteasy/src/main/java/com/baeldung/model/Movie.java b/web-modules/resteasy/src/main/java/com/baeldung/model/Movie.java
similarity index 100%
rename from resteasy/src/main/java/com/baeldung/model/Movie.java
rename to web-modules/resteasy/src/main/java/com/baeldung/model/Movie.java
diff --git a/resteasy/src/main/java/com/baeldung/server/MovieCrudService.java b/web-modules/resteasy/src/main/java/com/baeldung/server/MovieCrudService.java
similarity index 100%
rename from resteasy/src/main/java/com/baeldung/server/MovieCrudService.java
rename to web-modules/resteasy/src/main/java/com/baeldung/server/MovieCrudService.java
diff --git a/resteasy/src/main/java/com/baeldung/server/RestEasyServices.java b/web-modules/resteasy/src/main/java/com/baeldung/server/RestEasyServices.java
similarity index 100%
rename from resteasy/src/main/java/com/baeldung/server/RestEasyServices.java
rename to web-modules/resteasy/src/main/java/com/baeldung/server/RestEasyServices.java
diff --git a/resteasy/src/main/resources/logback.xml b/web-modules/resteasy/src/main/resources/logback.xml
similarity index 100%
rename from resteasy/src/main/resources/logback.xml
rename to web-modules/resteasy/src/main/resources/logback.xml
diff --git a/resteasy/src/main/webapp/WEB-INF/classes/logback.xml b/web-modules/resteasy/src/main/webapp/WEB-INF/classes/logback.xml
similarity index 100%
rename from resteasy/src/main/webapp/WEB-INF/classes/logback.xml
rename to web-modules/resteasy/src/main/webapp/WEB-INF/classes/logback.xml
diff --git a/resteasy/src/main/webapp/WEB-INF/jboss-deployment-structure.xml b/web-modules/resteasy/src/main/webapp/WEB-INF/jboss-deployment-structure.xml
similarity index 100%
rename from resteasy/src/main/webapp/WEB-INF/jboss-deployment-structure.xml
rename to web-modules/resteasy/src/main/webapp/WEB-INF/jboss-deployment-structure.xml
diff --git a/resteasy/src/main/webapp/WEB-INF/jboss-web.xml b/web-modules/resteasy/src/main/webapp/WEB-INF/jboss-web.xml
similarity index 100%
rename from resteasy/src/main/webapp/WEB-INF/jboss-web.xml
rename to web-modules/resteasy/src/main/webapp/WEB-INF/jboss-web.xml
diff --git a/resteasy/src/main/webapp/WEB-INF/web.xml b/web-modules/resteasy/src/main/webapp/WEB-INF/web.xml
similarity index 100%
rename from resteasy/src/main/webapp/WEB-INF/web.xml
rename to web-modules/resteasy/src/main/webapp/WEB-INF/web.xml
diff --git a/resteasy/src/main/webapp/script.js b/web-modules/resteasy/src/main/webapp/script.js
similarity index 100%
rename from resteasy/src/main/webapp/script.js
rename to web-modules/resteasy/src/main/webapp/script.js
diff --git a/resteasy/src/test/java/com/baeldung/server/RestEasyClientLiveTest.java b/web-modules/resteasy/src/test/java/com/baeldung/server/RestEasyClientLiveTest.java
similarity index 100%
rename from resteasy/src/test/java/com/baeldung/server/RestEasyClientLiveTest.java
rename to web-modules/resteasy/src/test/java/com/baeldung/server/RestEasyClientLiveTest.java
diff --git a/resteasy/src/test/resources/com/baeldung/server/movies/batman.json b/web-modules/resteasy/src/test/resources/com/baeldung/server/movies/batman.json
similarity index 100%
rename from resteasy/src/test/resources/com/baeldung/server/movies/batman.json
rename to web-modules/resteasy/src/test/resources/com/baeldung/server/movies/batman.json
diff --git a/resteasy/src/test/resources/com/baeldung/server/movies/transformer.json b/web-modules/resteasy/src/test/resources/com/baeldung/server/movies/transformer.json
similarity index 100%
rename from resteasy/src/test/resources/com/baeldung/server/movies/transformer.json
rename to web-modules/resteasy/src/test/resources/com/baeldung/server/movies/transformer.json
diff --git a/restx/README.md b/web-modules/restx/README.md
similarity index 100%
rename from restx/README.md
rename to web-modules/restx/README.md
diff --git a/restx/data/credentials.json b/web-modules/restx/data/credentials.json
similarity index 100%
rename from restx/data/credentials.json
rename to web-modules/restx/data/credentials.json
diff --git a/restx/data/users.json b/web-modules/restx/data/users.json
similarity index 100%
rename from restx/data/users.json
rename to web-modules/restx/data/users.json
diff --git a/restx/md.restx.json b/web-modules/restx/md.restx.json
similarity index 100%
rename from restx/md.restx.json
rename to web-modules/restx/md.restx.json
diff --git a/restx/pom.xml b/web-modules/restx/pom.xml
similarity index 99%
rename from restx/pom.xml
rename to web-modules/restx/pom.xml
index 953b56e2f3..e48ee897e5 100644
--- a/restx/pom.xml
+++ b/web-modules/restx/pom.xml
@@ -10,7 +10,7 @@
com.baeldung
- parent-modules
+ web-modules
1.0.0-SNAPSHOT
diff --git a/restx/src/main/java/restx/demo/AppModule.java b/web-modules/restx/src/main/java/restx/demo/AppModule.java
similarity index 100%
rename from restx/src/main/java/restx/demo/AppModule.java
rename to web-modules/restx/src/main/java/restx/demo/AppModule.java
diff --git a/restx/src/main/java/restx/demo/AppServer.java b/web-modules/restx/src/main/java/restx/demo/AppServer.java
similarity index 100%
rename from restx/src/main/java/restx/demo/AppServer.java
rename to web-modules/restx/src/main/java/restx/demo/AppServer.java
diff --git a/restx/src/main/java/restx/demo/Roles.java b/web-modules/restx/src/main/java/restx/demo/Roles.java
similarity index 100%
rename from restx/src/main/java/restx/demo/Roles.java
rename to web-modules/restx/src/main/java/restx/demo/Roles.java
diff --git a/restx/src/main/java/restx/demo/domain/Message.java b/web-modules/restx/src/main/java/restx/demo/domain/Message.java
similarity index 100%
rename from restx/src/main/java/restx/demo/domain/Message.java
rename to web-modules/restx/src/main/java/restx/demo/domain/Message.java
diff --git a/restx/src/main/java/restx/demo/rest/HelloResource.java b/web-modules/restx/src/main/java/restx/demo/rest/HelloResource.java
similarity index 100%
rename from restx/src/main/java/restx/demo/rest/HelloResource.java
rename to web-modules/restx/src/main/java/restx/demo/rest/HelloResource.java
diff --git a/restx/src/main/resources/logback.xml b/web-modules/restx/src/main/resources/logback.xml
similarity index 100%
rename from restx/src/main/resources/logback.xml
rename to web-modules/restx/src/main/resources/logback.xml
diff --git a/restx/src/main/resources/restx/demo/settings.properties b/web-modules/restx/src/main/resources/restx/demo/settings.properties
similarity index 100%
rename from restx/src/main/resources/restx/demo/settings.properties
rename to web-modules/restx/src/main/resources/restx/demo/settings.properties
diff --git a/restx/src/main/webapp/WEB-INF/web.xml b/web-modules/restx/src/main/webapp/WEB-INF/web.xml
similarity index 100%
rename from restx/src/main/webapp/WEB-INF/web.xml
rename to web-modules/restx/src/main/webapp/WEB-INF/web.xml
diff --git a/restx/src/test/java/restx/demo/rest/HelloResourceSpecIntegrationTest.java b/web-modules/restx/src/test/java/restx/demo/rest/HelloResourceSpecIntegrationTest.java
similarity index 100%
rename from restx/src/test/java/restx/demo/rest/HelloResourceSpecIntegrationTest.java
rename to web-modules/restx/src/test/java/restx/demo/rest/HelloResourceSpecIntegrationTest.java
diff --git a/restx/src/test/resources/specs/hello/should_admin_say_hello.spec.yaml b/web-modules/restx/src/test/resources/specs/hello/should_admin_say_hello.spec.yaml
similarity index 100%
rename from restx/src/test/resources/specs/hello/should_admin_say_hello.spec.yaml
rename to web-modules/restx/src/test/resources/specs/hello/should_admin_say_hello.spec.yaml
diff --git a/restx/src/test/resources/specs/hello/should_anyone_say_hello.spec.yaml b/web-modules/restx/src/test/resources/specs/hello/should_anyone_say_hello.spec.yaml
similarity index 100%
rename from restx/src/test/resources/specs/hello/should_anyone_say_hello.spec.yaml
rename to web-modules/restx/src/test/resources/specs/hello/should_anyone_say_hello.spec.yaml
diff --git a/restx/src/test/resources/specs/hello/should_missing_value_triggers_validation_error.spec.yaml b/web-modules/restx/src/test/resources/specs/hello/should_missing_value_triggers_validation_error.spec.yaml
similarity index 100%
rename from restx/src/test/resources/specs/hello/should_missing_value_triggers_validation_error.spec.yaml
rename to web-modules/restx/src/test/resources/specs/hello/should_missing_value_triggers_validation_error.spec.yaml
diff --git a/restx/src/test/resources/specs/hello/should_user1_say_hello.spec.yaml b/web-modules/restx/src/test/resources/specs/hello/should_user1_say_hello.spec.yaml
similarity index 100%
rename from restx/src/test/resources/specs/hello/should_user1_say_hello.spec.yaml
rename to web-modules/restx/src/test/resources/specs/hello/should_user1_say_hello.spec.yaml
diff --git a/restx/src/test/resources/specs/hello/should_user2_not_say_hello.spec.yaml b/web-modules/restx/src/test/resources/specs/hello/should_user2_not_say_hello.spec.yaml
similarity index 100%
rename from restx/src/test/resources/specs/hello/should_user2_not_say_hello.spec.yaml
rename to web-modules/restx/src/test/resources/specs/hello/should_user2_not_say_hello.spec.yaml
diff --git a/spark-java/README.md b/web-modules/spark-java/README.md
similarity index 100%
rename from spark-java/README.md
rename to web-modules/spark-java/README.md
diff --git a/spark-java/pom.xml b/web-modules/spark-java/pom.xml
similarity index 96%
rename from spark-java/pom.xml
rename to web-modules/spark-java/pom.xml
index 0ecdd02f6a..da09467212 100644
--- a/spark-java/pom.xml
+++ b/web-modules/spark-java/pom.xml
@@ -10,7 +10,7 @@
com.baeldung
- parent-modules
+ web-modules
1.0.0-SNAPSHOT
diff --git a/spark-java/src/main/java/com/baeldung/sparkjava/HelloWorldService.java b/web-modules/spark-java/src/main/java/com/baeldung/sparkjava/HelloWorldService.java
similarity index 100%
rename from spark-java/src/main/java/com/baeldung/sparkjava/HelloWorldService.java
rename to web-modules/spark-java/src/main/java/com/baeldung/sparkjava/HelloWorldService.java
diff --git a/spark-java/src/main/java/com/baeldung/sparkjava/SparkRestExample.java b/web-modules/spark-java/src/main/java/com/baeldung/sparkjava/SparkRestExample.java
similarity index 100%
rename from spark-java/src/main/java/com/baeldung/sparkjava/SparkRestExample.java
rename to web-modules/spark-java/src/main/java/com/baeldung/sparkjava/SparkRestExample.java
diff --git a/spark-java/src/main/java/com/baeldung/sparkjava/StandardResponse.java b/web-modules/spark-java/src/main/java/com/baeldung/sparkjava/StandardResponse.java
similarity index 100%
rename from spark-java/src/main/java/com/baeldung/sparkjava/StandardResponse.java
rename to web-modules/spark-java/src/main/java/com/baeldung/sparkjava/StandardResponse.java
diff --git a/spark-java/src/main/java/com/baeldung/sparkjava/StatusResponse.java b/web-modules/spark-java/src/main/java/com/baeldung/sparkjava/StatusResponse.java
similarity index 100%
rename from spark-java/src/main/java/com/baeldung/sparkjava/StatusResponse.java
rename to web-modules/spark-java/src/main/java/com/baeldung/sparkjava/StatusResponse.java
diff --git a/spark-java/src/main/java/com/baeldung/sparkjava/User.java b/web-modules/spark-java/src/main/java/com/baeldung/sparkjava/User.java
similarity index 100%
rename from spark-java/src/main/java/com/baeldung/sparkjava/User.java
rename to web-modules/spark-java/src/main/java/com/baeldung/sparkjava/User.java
diff --git a/spark-java/src/main/java/com/baeldung/sparkjava/UserException.java b/web-modules/spark-java/src/main/java/com/baeldung/sparkjava/UserException.java
similarity index 100%
rename from spark-java/src/main/java/com/baeldung/sparkjava/UserException.java
rename to web-modules/spark-java/src/main/java/com/baeldung/sparkjava/UserException.java
diff --git a/spark-java/src/main/java/com/baeldung/sparkjava/UserService.java b/web-modules/spark-java/src/main/java/com/baeldung/sparkjava/UserService.java
similarity index 100%
rename from spark-java/src/main/java/com/baeldung/sparkjava/UserService.java
rename to web-modules/spark-java/src/main/java/com/baeldung/sparkjava/UserService.java
diff --git a/spark-java/src/main/java/com/baeldung/sparkjava/UserServiceMapImpl.java b/web-modules/spark-java/src/main/java/com/baeldung/sparkjava/UserServiceMapImpl.java
similarity index 100%
rename from spark-java/src/main/java/com/baeldung/sparkjava/UserServiceMapImpl.java
rename to web-modules/spark-java/src/main/java/com/baeldung/sparkjava/UserServiceMapImpl.java
diff --git a/spark-java/src/main/resources/logback.xml b/web-modules/spark-java/src/main/resources/logback.xml
similarity index 100%
rename from spark-java/src/main/resources/logback.xml
rename to web-modules/spark-java/src/main/resources/logback.xml
diff --git a/struts-2/README.md b/web-modules/struts-2/README.md
similarity index 100%
rename from struts-2/README.md
rename to web-modules/struts-2/README.md
diff --git a/struts-2/WebContent/WEB-INF/web.xml b/web-modules/struts-2/WebContent/WEB-INF/web.xml
similarity index 100%
rename from struts-2/WebContent/WEB-INF/web.xml
rename to web-modules/struts-2/WebContent/WEB-INF/web.xml
diff --git a/struts-2/WebContent/input.jsp b/web-modules/struts-2/WebContent/input.jsp
similarity index 97%
rename from struts-2/WebContent/input.jsp
rename to web-modules/struts-2/WebContent/input.jsp
index 6d80aa3ffd..2d63c22fe3 100644
--- a/struts-2/WebContent/input.jsp
+++ b/web-modules/struts-2/WebContent/input.jsp
@@ -1,21 +1,21 @@
-<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
- pageEncoding="ISO-8859-1"%>
-
-
-
-
-Baledung Struts
-
-
-
-
+<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
+ pageEncoding="ISO-8859-1"%>
+
+
+
+
+Baledung Struts
+
+
+
+
\ No newline at end of file
diff --git a/struts-2/WebContent/result.jsp b/web-modules/struts-2/WebContent/result.jsp
similarity index 95%
rename from struts-2/WebContent/result.jsp
rename to web-modules/struts-2/WebContent/result.jsp
index 0fe9ea2d1d..d095a493ec 100644
--- a/struts-2/WebContent/result.jsp
+++ b/web-modules/struts-2/WebContent/result.jsp
@@ -1,11 +1,11 @@
-<%@ page contentType="text/html; charset=UTF-8" %>
-<%@ taglib prefix="s" uri="/struts-tags" %>
-
-
-Hello World
-
-
- Hello Baeldung User
- You are a
-
-
+<%@ page contentType="text/html; charset=UTF-8" %>
+<%@ taglib prefix="s" uri="/struts-tags" %>
+
+
+Hello World
+
+
+ Hello Baeldung User
+ You are a
+
+
diff --git a/struts-2/pom.xml b/web-modules/struts-2/pom.xml
similarity index 93%
rename from struts-2/pom.xml
rename to web-modules/struts-2/pom.xml
index 87663cf545..8b19bd530f 100644
--- a/struts-2/pom.xml
+++ b/web-modules/struts-2/pom.xml
@@ -1,76 +1,75 @@
-
-
- 4.0.0
- struts-2
- 0.0.1-SNAPSHOT
- struts-2
- pom
-
-
- com.baeldung
- parent-spring-4
- 0.0.1-SNAPSHOT
- ../parent-spring-4
-
-
-
-
- org.apache.struts
- struts2-core
- ${struts2.version}
-
-
- org.apache.struts
- struts2-junit-plugin
- ${struts2.version}
-
-
- org.apache.struts
- struts2-convention-plugin
- ${struts2-convention-plugin.version}
-
-
- javax.servlet
- javax.servlet-api
- ${javax.servlet-api.version}
-
-
- org.springframework
- spring-core
- ${spring.version}
-
-
- commons-logging
- commons-logging
-
-
-
-
-
-
- src/main/java
-
-
- src/main/resources
-
-
-
-
- maven-war-plugin
- ${maven-war-plugin.version}
-
- WebContent
-
-
-
-
-
-
- 2.5.5
- 2.5.8
- 4.3.6.RELEASE
-
-
+
+
+ 4.0.0
+ struts-2
+ struts-2
+ pom
+
+
+ com.baeldung
+ parent-spring-4
+ 0.0.1-SNAPSHOT
+ ../../parent-spring-4
+
+
+
+
+ org.apache.struts
+ struts2-core
+ ${struts2.version}
+
+
+ org.apache.struts
+ struts2-junit-plugin
+ ${struts2.version}
+
+
+ org.apache.struts
+ struts2-convention-plugin
+ ${struts2-convention-plugin.version}
+
+
+ javax.servlet
+ javax.servlet-api
+ ${javax.servlet-api.version}
+
+
+ org.springframework
+ spring-core
+ ${spring.version}
+
+
+ commons-logging
+ commons-logging
+
+
+
+
+
+
+ src/main/java
+
+
+ src/main/resources
+
+
+
+
+ maven-war-plugin
+ ${maven-war-plugin.version}
+
+ WebContent
+
+
+
+
+
+
+ 2.5.5
+ 2.5.8
+ 4.3.6.RELEASE
+
+
\ No newline at end of file
diff --git a/struts-2/src/main/java/com/baeldung/struts/CarAction.java b/web-modules/struts-2/src/main/java/com/baeldung/struts/CarAction.java
similarity index 96%
rename from struts-2/src/main/java/com/baeldung/struts/CarAction.java
rename to web-modules/struts-2/src/main/java/com/baeldung/struts/CarAction.java
index 478f3b4cc2..b4eacb0fea 100644
--- a/struts-2/src/main/java/com/baeldung/struts/CarAction.java
+++ b/web-modules/struts-2/src/main/java/com/baeldung/struts/CarAction.java
@@ -1,37 +1,37 @@
-package com.baeldung.struts;
-
-import org.apache.struts2.convention.annotation.Action;
-import org.apache.struts2.convention.annotation.Namespace;
-import org.apache.struts2.convention.annotation.Result;
-
-@Namespace("/tutorial")
-@Action("/car")
-@Result(name = "success", location = "/result.jsp")
-public class CarAction {
- private String carName;
- private String carMessage;
- private CarMessageService carMessageService = new CarMessageService();
-
- public String execute() {
- System.out.println("inside execute(): carName is" + carName);
- this.setCarMessage(this.carMessageService.getMessage(carName));
- return "success";
- }
-
- public String getCarName() {
- return carName;
- }
-
- public void setCarName(String carName) {
- this.carName = carName;
- }
-
- public String getCarMessage() {
- return carMessage;
- }
-
- public void setCarMessage(String carMessage) {
- this.carMessage = carMessage;
- }
-
-}
+package com.baeldung.struts;
+
+import org.apache.struts2.convention.annotation.Action;
+import org.apache.struts2.convention.annotation.Namespace;
+import org.apache.struts2.convention.annotation.Result;
+
+@Namespace("/tutorial")
+@Action("/car")
+@Result(name = "success", location = "/result.jsp")
+public class CarAction {
+ private String carName;
+ private String carMessage;
+ private CarMessageService carMessageService = new CarMessageService();
+
+ public String execute() {
+ System.out.println("inside execute(): carName is" + carName);
+ this.setCarMessage(this.carMessageService.getMessage(carName));
+ return "success";
+ }
+
+ public String getCarName() {
+ return carName;
+ }
+
+ public void setCarName(String carName) {
+ this.carName = carName;
+ }
+
+ public String getCarMessage() {
+ return carMessage;
+ }
+
+ public void setCarMessage(String carMessage) {
+ this.carMessage = carMessage;
+ }
+
+}
diff --git a/struts-2/src/main/java/com/baeldung/struts/CarMessageService.java b/web-modules/struts-2/src/main/java/com/baeldung/struts/CarMessageService.java
similarity index 96%
rename from struts-2/src/main/java/com/baeldung/struts/CarMessageService.java
rename to web-modules/struts-2/src/main/java/com/baeldung/struts/CarMessageService.java
index 34d3ca3d76..fb674de02e 100644
--- a/struts-2/src/main/java/com/baeldung/struts/CarMessageService.java
+++ b/web-modules/struts-2/src/main/java/com/baeldung/struts/CarMessageService.java
@@ -1,18 +1,18 @@
-package com.baeldung.struts;
-
-public class CarMessageService {
-
- public String getMessage(String carName) {
- System.out.println("inside getMessage()" + carName);
- if (carName.equalsIgnoreCase("ferrari")){
- return "Ferrari Fan!";
- }
- else if (carName.equalsIgnoreCase("bmw")){
- return "BMW Fan!";
- }
- else{
- return "please choose ferrari Or bmw";
- }
- }
-
-}
+package com.baeldung.struts;
+
+public class CarMessageService {
+
+ public String getMessage(String carName) {
+ System.out.println("inside getMessage()" + carName);
+ if (carName.equalsIgnoreCase("ferrari")){
+ return "Ferrari Fan!";
+ }
+ else if (carName.equalsIgnoreCase("bmw")){
+ return "BMW Fan!";
+ }
+ else{
+ return "please choose ferrari Or bmw";
+ }
+ }
+
+}
diff --git a/struts-2/src/main/resources/logback.xml b/web-modules/struts-2/src/main/resources/logback.xml
similarity index 100%
rename from struts-2/src/main/resources/logback.xml
rename to web-modules/struts-2/src/main/resources/logback.xml
diff --git a/struts-2/src/test/java/com/baeldung/struts/test/CarActionTest.java b/web-modules/struts-2/src/test/java/com/baeldung/struts/test/CarActionTest.java
similarity index 97%
rename from struts-2/src/test/java/com/baeldung/struts/test/CarActionTest.java
rename to web-modules/struts-2/src/test/java/com/baeldung/struts/test/CarActionTest.java
index 64b640edfb..41dc0a6ceb 100644
--- a/struts-2/src/test/java/com/baeldung/struts/test/CarActionTest.java
+++ b/web-modules/struts-2/src/test/java/com/baeldung/struts/test/CarActionTest.java
@@ -1,29 +1,29 @@
-//package com.baeldung.struts.test;
-//
-//import org.apache.struts2.StrutsTestCase;
-//import org.junit.Test;
-//
-//import com.baeldung.struts.CarAction;
-//import com.opensymphony.xwork2.ActionProxy;
-//
-//public class CarActionTest extends StrutsTestCase {
-//
-// public void testgivenCarOptions_WhenferrariSelected_ThenShowMessage() throws Exception {
-// request.setParameter("carName", "ferrari");
-// ActionProxy proxy = getActionProxy("/tutorial/car.action");
-// CarAction carAction = (CarAction) proxy.getAction();
-// String result = proxy.execute();
-// assertEquals(result, "success");
-// assertEquals(carAction.getCarMessage(), "Ferrari Fan!");
-// }
-//
-// public void testgivenCarOptions_WhenbmwSelected_ThenShowMessage() throws Exception {
-// request.setParameter("carName", "bmw");
-// ActionProxy proxy = getActionProxy("/tutorial/car.action");
-// CarAction carAction = (CarAction) proxy.getAction();
-// String result = proxy.execute();
-// assertEquals(result, "success");
-// assertEquals(carAction.getCarMessage(), "BMW Fan!");
-// }
-//
-//}
+//package com.baeldung.struts.test;
+//
+//import org.apache.struts2.StrutsTestCase;
+//import org.junit.Test;
+//
+//import com.baeldung.struts.CarAction;
+//import com.opensymphony.xwork2.ActionProxy;
+//
+//public class CarActionTest extends StrutsTestCase {
+//
+// public void testgivenCarOptions_WhenferrariSelected_ThenShowMessage() throws Exception {
+// request.setParameter("carName", "ferrari");
+// ActionProxy proxy = getActionProxy("/tutorial/car.action");
+// CarAction carAction = (CarAction) proxy.getAction();
+// String result = proxy.execute();
+// assertEquals(result, "success");
+// assertEquals(carAction.getCarMessage(), "Ferrari Fan!");
+// }
+//
+// public void testgivenCarOptions_WhenbmwSelected_ThenShowMessage() throws Exception {
+// request.setParameter("carName", "bmw");
+// ActionProxy proxy = getActionProxy("/tutorial/car.action");
+// CarAction carAction = (CarAction) proxy.getAction();
+// String result = proxy.execute();
+// assertEquals(result, "success");
+// assertEquals(carAction.getCarMessage(), "BMW Fan!");
+// }
+//
+//}
diff --git a/vraptor/.gitignore b/web-modules/vraptor/.gitignore
similarity index 100%
rename from vraptor/.gitignore
rename to web-modules/vraptor/.gitignore
diff --git a/vraptor/README.md b/web-modules/vraptor/README.md
similarity index 100%
rename from vraptor/README.md
rename to web-modules/vraptor/README.md
diff --git a/vraptor/pom.xml b/web-modules/vraptor/pom.xml
similarity index 98%
rename from vraptor/pom.xml
rename to web-modules/vraptor/pom.xml
index fad17e7aae..ecc6fe3313 100644
--- a/vraptor/pom.xml
+++ b/web-modules/vraptor/pom.xml
@@ -4,14 +4,13 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
vraptor
- 1.0.0
vraptor
war
A demo project to start using VRaptor 4
com.baeldung
- parent-modules
+ web-modules
1.0.0-SNAPSHOT
diff --git a/vraptor/src/main/java/com/baeldung/config/UserInfo.java b/web-modules/vraptor/src/main/java/com/baeldung/config/UserInfo.java
similarity index 100%
rename from vraptor/src/main/java/com/baeldung/config/UserInfo.java
rename to web-modules/vraptor/src/main/java/com/baeldung/config/UserInfo.java
diff --git a/vraptor/src/main/java/com/baeldung/controllers/AuthController.java b/web-modules/vraptor/src/main/java/com/baeldung/controllers/AuthController.java
similarity index 100%
rename from vraptor/src/main/java/com/baeldung/controllers/AuthController.java
rename to web-modules/vraptor/src/main/java/com/baeldung/controllers/AuthController.java
diff --git a/vraptor/src/main/java/com/baeldung/controllers/IndexController.java b/web-modules/vraptor/src/main/java/com/baeldung/controllers/IndexController.java
similarity index 100%
rename from vraptor/src/main/java/com/baeldung/controllers/IndexController.java
rename to web-modules/vraptor/src/main/java/com/baeldung/controllers/IndexController.java
diff --git a/vraptor/src/main/java/com/baeldung/controllers/PostController.java b/web-modules/vraptor/src/main/java/com/baeldung/controllers/PostController.java
similarity index 100%
rename from vraptor/src/main/java/com/baeldung/controllers/PostController.java
rename to web-modules/vraptor/src/main/java/com/baeldung/controllers/PostController.java
diff --git a/vraptor/src/main/java/com/baeldung/daos/PostDao.java b/web-modules/vraptor/src/main/java/com/baeldung/daos/PostDao.java
similarity index 100%
rename from vraptor/src/main/java/com/baeldung/daos/PostDao.java
rename to web-modules/vraptor/src/main/java/com/baeldung/daos/PostDao.java
diff --git a/vraptor/src/main/java/com/baeldung/daos/UserDao.java b/web-modules/vraptor/src/main/java/com/baeldung/daos/UserDao.java
similarity index 100%
rename from vraptor/src/main/java/com/baeldung/daos/UserDao.java
rename to web-modules/vraptor/src/main/java/com/baeldung/daos/UserDao.java
diff --git a/vraptor/src/main/java/com/baeldung/models/Post.java b/web-modules/vraptor/src/main/java/com/baeldung/models/Post.java
similarity index 100%
rename from vraptor/src/main/java/com/baeldung/models/Post.java
rename to web-modules/vraptor/src/main/java/com/baeldung/models/Post.java
diff --git a/vraptor/src/main/java/com/baeldung/models/User.java b/web-modules/vraptor/src/main/java/com/baeldung/models/User.java
similarity index 100%
rename from vraptor/src/main/java/com/baeldung/models/User.java
rename to web-modules/vraptor/src/main/java/com/baeldung/models/User.java
diff --git a/vraptor/src/main/resources/META-INF/beans.xml b/web-modules/vraptor/src/main/resources/META-INF/beans.xml
similarity index 100%
rename from vraptor/src/main/resources/META-INF/beans.xml
rename to web-modules/vraptor/src/main/resources/META-INF/beans.xml
diff --git a/vraptor/src/main/resources/database.sql b/web-modules/vraptor/src/main/resources/database.sql
similarity index 100%
rename from vraptor/src/main/resources/database.sql
rename to web-modules/vraptor/src/main/resources/database.sql
diff --git a/vraptor/src/main/resources/hibernate.cfg.xml b/web-modules/vraptor/src/main/resources/hibernate.cfg.xml
similarity index 100%
rename from vraptor/src/main/resources/hibernate.cfg.xml
rename to web-modules/vraptor/src/main/resources/hibernate.cfg.xml
diff --git a/vraptor/src/main/resources/log4j.xml b/web-modules/vraptor/src/main/resources/log4j.xml
similarity index 100%
rename from vraptor/src/main/resources/log4j.xml
rename to web-modules/vraptor/src/main/resources/log4j.xml
diff --git a/vraptor/src/main/resources/templates/auth/login.ftl b/web-modules/vraptor/src/main/resources/templates/auth/login.ftl
similarity index 100%
rename from vraptor/src/main/resources/templates/auth/login.ftl
rename to web-modules/vraptor/src/main/resources/templates/auth/login.ftl
diff --git a/vraptor/src/main/resources/templates/auth/register.ftl b/web-modules/vraptor/src/main/resources/templates/auth/register.ftl
similarity index 100%
rename from vraptor/src/main/resources/templates/auth/register.ftl
rename to web-modules/vraptor/src/main/resources/templates/auth/register.ftl
diff --git a/vraptor/src/main/resources/templates/index.ftl b/web-modules/vraptor/src/main/resources/templates/index.ftl
similarity index 100%
rename from vraptor/src/main/resources/templates/index.ftl
rename to web-modules/vraptor/src/main/resources/templates/index.ftl
diff --git a/vraptor/src/main/resources/templates/posts/add.ftl b/web-modules/vraptor/src/main/resources/templates/posts/add.ftl
similarity index 100%
rename from vraptor/src/main/resources/templates/posts/add.ftl
rename to web-modules/vraptor/src/main/resources/templates/posts/add.ftl
diff --git a/vraptor/src/main/resources/templates/view.ftl b/web-modules/vraptor/src/main/resources/templates/view.ftl
similarity index 100%
rename from vraptor/src/main/resources/templates/view.ftl
rename to web-modules/vraptor/src/main/resources/templates/view.ftl
diff --git a/vraptor/src/main/webapp/META-INF/MANIFEST.MF b/web-modules/vraptor/src/main/webapp/META-INF/MANIFEST.MF
similarity index 100%
rename from vraptor/src/main/webapp/META-INF/MANIFEST.MF
rename to web-modules/vraptor/src/main/webapp/META-INF/MANIFEST.MF
diff --git a/vraptor/src/main/webapp/WEB-INF/jsp/index/index.jsp b/web-modules/vraptor/src/main/webapp/WEB-INF/jsp/index/index.jsp
similarity index 100%
rename from vraptor/src/main/webapp/WEB-INF/jsp/index/index.jsp
rename to web-modules/vraptor/src/main/webapp/WEB-INF/jsp/index/index.jsp
diff --git a/vraptor/src/main/webapp/WEB-INF/web.xml b/web-modules/vraptor/src/main/webapp/WEB-INF/web.xml
similarity index 100%
rename from vraptor/src/main/webapp/WEB-INF/web.xml
rename to web-modules/vraptor/src/main/webapp/WEB-INF/web.xml
diff --git a/vraptor/src/main/webapp/css/clean-blog.css b/web-modules/vraptor/src/main/webapp/css/clean-blog.css
similarity index 100%
rename from vraptor/src/main/webapp/css/clean-blog.css
rename to web-modules/vraptor/src/main/webapp/css/clean-blog.css
diff --git a/vraptor/src/main/webapp/css/clean-blog.min.css b/web-modules/vraptor/src/main/webapp/css/clean-blog.min.css
similarity index 100%
rename from vraptor/src/main/webapp/css/clean-blog.min.css
rename to web-modules/vraptor/src/main/webapp/css/clean-blog.min.css
diff --git a/vraptor/src/main/webapp/img/about-bg.jpg b/web-modules/vraptor/src/main/webapp/img/about-bg.jpg
similarity index 100%
rename from vraptor/src/main/webapp/img/about-bg.jpg
rename to web-modules/vraptor/src/main/webapp/img/about-bg.jpg
diff --git a/vraptor/src/main/webapp/img/contact-bg.jpg b/web-modules/vraptor/src/main/webapp/img/contact-bg.jpg
similarity index 100%
rename from vraptor/src/main/webapp/img/contact-bg.jpg
rename to web-modules/vraptor/src/main/webapp/img/contact-bg.jpg
diff --git a/vraptor/src/main/webapp/img/home-bg.jpg b/web-modules/vraptor/src/main/webapp/img/home-bg.jpg
similarity index 100%
rename from vraptor/src/main/webapp/img/home-bg.jpg
rename to web-modules/vraptor/src/main/webapp/img/home-bg.jpg
diff --git a/vraptor/src/main/webapp/img/post-bg.jpg b/web-modules/vraptor/src/main/webapp/img/post-bg.jpg
similarity index 100%
rename from vraptor/src/main/webapp/img/post-bg.jpg
rename to web-modules/vraptor/src/main/webapp/img/post-bg.jpg
diff --git a/vraptor/src/main/webapp/img/post-sample-image.jpg b/web-modules/vraptor/src/main/webapp/img/post-sample-image.jpg
similarity index 100%
rename from vraptor/src/main/webapp/img/post-sample-image.jpg
rename to web-modules/vraptor/src/main/webapp/img/post-sample-image.jpg
diff --git a/vraptor/src/main/webapp/js/clean-blog.js b/web-modules/vraptor/src/main/webapp/js/clean-blog.js
similarity index 100%
rename from vraptor/src/main/webapp/js/clean-blog.js
rename to web-modules/vraptor/src/main/webapp/js/clean-blog.js
diff --git a/vraptor/src/main/webapp/js/clean-blog.min.js b/web-modules/vraptor/src/main/webapp/js/clean-blog.min.js
similarity index 100%
rename from vraptor/src/main/webapp/js/clean-blog.min.js
rename to web-modules/vraptor/src/main/webapp/js/clean-blog.min.js
diff --git a/vraptor/src/main/webapp/js/contact_me.js b/web-modules/vraptor/src/main/webapp/js/contact_me.js
similarity index 100%
rename from vraptor/src/main/webapp/js/contact_me.js
rename to web-modules/vraptor/src/main/webapp/js/contact_me.js
diff --git a/vraptor/src/main/webapp/js/jqBootstrapValidation.js b/web-modules/vraptor/src/main/webapp/js/jqBootstrapValidation.js
similarity index 100%
rename from vraptor/src/main/webapp/js/jqBootstrapValidation.js
rename to web-modules/vraptor/src/main/webapp/js/jqBootstrapValidation.js
diff --git a/vraptor/src/main/webapp/vendor/bootstrap/css/bootstrap.css b/web-modules/vraptor/src/main/webapp/vendor/bootstrap/css/bootstrap.css
similarity index 100%
rename from vraptor/src/main/webapp/vendor/bootstrap/css/bootstrap.css
rename to web-modules/vraptor/src/main/webapp/vendor/bootstrap/css/bootstrap.css
diff --git a/vraptor/src/main/webapp/vendor/bootstrap/css/bootstrap.min.css b/web-modules/vraptor/src/main/webapp/vendor/bootstrap/css/bootstrap.min.css
similarity index 100%
rename from vraptor/src/main/webapp/vendor/bootstrap/css/bootstrap.min.css
rename to web-modules/vraptor/src/main/webapp/vendor/bootstrap/css/bootstrap.min.css
diff --git a/vraptor/src/main/webapp/vendor/bootstrap/fonts/glyphicons-halflings-regular.eot b/web-modules/vraptor/src/main/webapp/vendor/bootstrap/fonts/glyphicons-halflings-regular.eot
similarity index 100%
rename from vraptor/src/main/webapp/vendor/bootstrap/fonts/glyphicons-halflings-regular.eot
rename to web-modules/vraptor/src/main/webapp/vendor/bootstrap/fonts/glyphicons-halflings-regular.eot
diff --git a/vraptor/src/main/webapp/vendor/bootstrap/fonts/glyphicons-halflings-regular.svg b/web-modules/vraptor/src/main/webapp/vendor/bootstrap/fonts/glyphicons-halflings-regular.svg
similarity index 100%
rename from vraptor/src/main/webapp/vendor/bootstrap/fonts/glyphicons-halflings-regular.svg
rename to web-modules/vraptor/src/main/webapp/vendor/bootstrap/fonts/glyphicons-halflings-regular.svg
diff --git a/vraptor/src/main/webapp/vendor/bootstrap/fonts/glyphicons-halflings-regular.ttf b/web-modules/vraptor/src/main/webapp/vendor/bootstrap/fonts/glyphicons-halflings-regular.ttf
similarity index 100%
rename from vraptor/src/main/webapp/vendor/bootstrap/fonts/glyphicons-halflings-regular.ttf
rename to web-modules/vraptor/src/main/webapp/vendor/bootstrap/fonts/glyphicons-halflings-regular.ttf
diff --git a/vraptor/src/main/webapp/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff b/web-modules/vraptor/src/main/webapp/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff
similarity index 100%
rename from vraptor/src/main/webapp/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff
rename to web-modules/vraptor/src/main/webapp/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff
diff --git a/vraptor/src/main/webapp/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff2 b/web-modules/vraptor/src/main/webapp/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff2
similarity index 100%
rename from vraptor/src/main/webapp/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff2
rename to web-modules/vraptor/src/main/webapp/vendor/bootstrap/fonts/glyphicons-halflings-regular.woff2
diff --git a/vraptor/src/main/webapp/vendor/bootstrap/js/bootstrap.js b/web-modules/vraptor/src/main/webapp/vendor/bootstrap/js/bootstrap.js
similarity index 100%
rename from vraptor/src/main/webapp/vendor/bootstrap/js/bootstrap.js
rename to web-modules/vraptor/src/main/webapp/vendor/bootstrap/js/bootstrap.js
diff --git a/vraptor/src/main/webapp/vendor/bootstrap/js/bootstrap.min.js b/web-modules/vraptor/src/main/webapp/vendor/bootstrap/js/bootstrap.min.js
similarity index 100%
rename from vraptor/src/main/webapp/vendor/bootstrap/js/bootstrap.min.js
rename to web-modules/vraptor/src/main/webapp/vendor/bootstrap/js/bootstrap.min.js
diff --git a/vraptor/src/main/webapp/vendor/font-awesome/css/font-awesome.css b/web-modules/vraptor/src/main/webapp/vendor/font-awesome/css/font-awesome.css
similarity index 100%
rename from vraptor/src/main/webapp/vendor/font-awesome/css/font-awesome.css
rename to web-modules/vraptor/src/main/webapp/vendor/font-awesome/css/font-awesome.css
diff --git a/vraptor/src/main/webapp/vendor/font-awesome/css/font-awesome.min.css b/web-modules/vraptor/src/main/webapp/vendor/font-awesome/css/font-awesome.min.css
similarity index 100%
rename from vraptor/src/main/webapp/vendor/font-awesome/css/font-awesome.min.css
rename to web-modules/vraptor/src/main/webapp/vendor/font-awesome/css/font-awesome.min.css
diff --git a/vraptor/src/main/webapp/vendor/font-awesome/fonts/FontAwesome.otf b/web-modules/vraptor/src/main/webapp/vendor/font-awesome/fonts/FontAwesome.otf
similarity index 100%
rename from vraptor/src/main/webapp/vendor/font-awesome/fonts/FontAwesome.otf
rename to web-modules/vraptor/src/main/webapp/vendor/font-awesome/fonts/FontAwesome.otf
diff --git a/vraptor/src/main/webapp/vendor/font-awesome/fonts/fontawesome-webfont.eot b/web-modules/vraptor/src/main/webapp/vendor/font-awesome/fonts/fontawesome-webfont.eot
similarity index 100%
rename from vraptor/src/main/webapp/vendor/font-awesome/fonts/fontawesome-webfont.eot
rename to web-modules/vraptor/src/main/webapp/vendor/font-awesome/fonts/fontawesome-webfont.eot
diff --git a/vraptor/src/main/webapp/vendor/font-awesome/fonts/fontawesome-webfont.svg b/web-modules/vraptor/src/main/webapp/vendor/font-awesome/fonts/fontawesome-webfont.svg
similarity index 100%
rename from vraptor/src/main/webapp/vendor/font-awesome/fonts/fontawesome-webfont.svg
rename to web-modules/vraptor/src/main/webapp/vendor/font-awesome/fonts/fontawesome-webfont.svg
diff --git a/vraptor/src/main/webapp/vendor/font-awesome/fonts/fontawesome-webfont.ttf b/web-modules/vraptor/src/main/webapp/vendor/font-awesome/fonts/fontawesome-webfont.ttf
similarity index 100%
rename from vraptor/src/main/webapp/vendor/font-awesome/fonts/fontawesome-webfont.ttf
rename to web-modules/vraptor/src/main/webapp/vendor/font-awesome/fonts/fontawesome-webfont.ttf
diff --git a/vraptor/src/main/webapp/vendor/font-awesome/fonts/fontawesome-webfont.woff b/web-modules/vraptor/src/main/webapp/vendor/font-awesome/fonts/fontawesome-webfont.woff
similarity index 100%
rename from vraptor/src/main/webapp/vendor/font-awesome/fonts/fontawesome-webfont.woff
rename to web-modules/vraptor/src/main/webapp/vendor/font-awesome/fonts/fontawesome-webfont.woff
diff --git a/vraptor/src/main/webapp/vendor/font-awesome/fonts/fontawesome-webfont.woff2 b/web-modules/vraptor/src/main/webapp/vendor/font-awesome/fonts/fontawesome-webfont.woff2
similarity index 100%
rename from vraptor/src/main/webapp/vendor/font-awesome/fonts/fontawesome-webfont.woff2
rename to web-modules/vraptor/src/main/webapp/vendor/font-awesome/fonts/fontawesome-webfont.woff2
diff --git a/vraptor/src/main/webapp/vendor/font-awesome/less/animated.less b/web-modules/vraptor/src/main/webapp/vendor/font-awesome/less/animated.less
similarity index 100%
rename from vraptor/src/main/webapp/vendor/font-awesome/less/animated.less
rename to web-modules/vraptor/src/main/webapp/vendor/font-awesome/less/animated.less
diff --git a/vraptor/src/main/webapp/vendor/font-awesome/less/bordered-pulled.less b/web-modules/vraptor/src/main/webapp/vendor/font-awesome/less/bordered-pulled.less
similarity index 100%
rename from vraptor/src/main/webapp/vendor/font-awesome/less/bordered-pulled.less
rename to web-modules/vraptor/src/main/webapp/vendor/font-awesome/less/bordered-pulled.less
diff --git a/vraptor/src/main/webapp/vendor/font-awesome/less/core.less b/web-modules/vraptor/src/main/webapp/vendor/font-awesome/less/core.less
similarity index 100%
rename from vraptor/src/main/webapp/vendor/font-awesome/less/core.less
rename to web-modules/vraptor/src/main/webapp/vendor/font-awesome/less/core.less
diff --git a/vraptor/src/main/webapp/vendor/font-awesome/less/fixed-width.less b/web-modules/vraptor/src/main/webapp/vendor/font-awesome/less/fixed-width.less
similarity index 100%
rename from vraptor/src/main/webapp/vendor/font-awesome/less/fixed-width.less
rename to web-modules/vraptor/src/main/webapp/vendor/font-awesome/less/fixed-width.less
diff --git a/vraptor/src/main/webapp/vendor/font-awesome/less/font-awesome.less b/web-modules/vraptor/src/main/webapp/vendor/font-awesome/less/font-awesome.less
similarity index 100%
rename from vraptor/src/main/webapp/vendor/font-awesome/less/font-awesome.less
rename to web-modules/vraptor/src/main/webapp/vendor/font-awesome/less/font-awesome.less
diff --git a/vraptor/src/main/webapp/vendor/font-awesome/less/icons.less b/web-modules/vraptor/src/main/webapp/vendor/font-awesome/less/icons.less
similarity index 100%
rename from vraptor/src/main/webapp/vendor/font-awesome/less/icons.less
rename to web-modules/vraptor/src/main/webapp/vendor/font-awesome/less/icons.less
diff --git a/vraptor/src/main/webapp/vendor/font-awesome/less/larger.less b/web-modules/vraptor/src/main/webapp/vendor/font-awesome/less/larger.less
similarity index 100%
rename from vraptor/src/main/webapp/vendor/font-awesome/less/larger.less
rename to web-modules/vraptor/src/main/webapp/vendor/font-awesome/less/larger.less
diff --git a/vraptor/src/main/webapp/vendor/font-awesome/less/list.less b/web-modules/vraptor/src/main/webapp/vendor/font-awesome/less/list.less
similarity index 100%
rename from vraptor/src/main/webapp/vendor/font-awesome/less/list.less
rename to web-modules/vraptor/src/main/webapp/vendor/font-awesome/less/list.less
diff --git a/vraptor/src/main/webapp/vendor/font-awesome/less/mixins.less b/web-modules/vraptor/src/main/webapp/vendor/font-awesome/less/mixins.less
similarity index 100%
rename from vraptor/src/main/webapp/vendor/font-awesome/less/mixins.less
rename to web-modules/vraptor/src/main/webapp/vendor/font-awesome/less/mixins.less
diff --git a/vraptor/src/main/webapp/vendor/font-awesome/less/path.less b/web-modules/vraptor/src/main/webapp/vendor/font-awesome/less/path.less
similarity index 100%
rename from vraptor/src/main/webapp/vendor/font-awesome/less/path.less
rename to web-modules/vraptor/src/main/webapp/vendor/font-awesome/less/path.less
diff --git a/vraptor/src/main/webapp/vendor/font-awesome/less/rotated-flipped.less b/web-modules/vraptor/src/main/webapp/vendor/font-awesome/less/rotated-flipped.less
similarity index 100%
rename from vraptor/src/main/webapp/vendor/font-awesome/less/rotated-flipped.less
rename to web-modules/vraptor/src/main/webapp/vendor/font-awesome/less/rotated-flipped.less
diff --git a/vraptor/src/main/webapp/vendor/font-awesome/less/screen-reader.less b/web-modules/vraptor/src/main/webapp/vendor/font-awesome/less/screen-reader.less
similarity index 100%
rename from vraptor/src/main/webapp/vendor/font-awesome/less/screen-reader.less
rename to web-modules/vraptor/src/main/webapp/vendor/font-awesome/less/screen-reader.less
diff --git a/vraptor/src/main/webapp/vendor/font-awesome/less/stacked.less b/web-modules/vraptor/src/main/webapp/vendor/font-awesome/less/stacked.less
similarity index 100%
rename from vraptor/src/main/webapp/vendor/font-awesome/less/stacked.less
rename to web-modules/vraptor/src/main/webapp/vendor/font-awesome/less/stacked.less
diff --git a/vraptor/src/main/webapp/vendor/font-awesome/less/variables.less b/web-modules/vraptor/src/main/webapp/vendor/font-awesome/less/variables.less
similarity index 100%
rename from vraptor/src/main/webapp/vendor/font-awesome/less/variables.less
rename to web-modules/vraptor/src/main/webapp/vendor/font-awesome/less/variables.less
diff --git a/vraptor/src/main/webapp/vendor/font-awesome/scss/_animated.scss b/web-modules/vraptor/src/main/webapp/vendor/font-awesome/scss/_animated.scss
similarity index 100%
rename from vraptor/src/main/webapp/vendor/font-awesome/scss/_animated.scss
rename to web-modules/vraptor/src/main/webapp/vendor/font-awesome/scss/_animated.scss
diff --git a/vraptor/src/main/webapp/vendor/font-awesome/scss/_bordered-pulled.scss b/web-modules/vraptor/src/main/webapp/vendor/font-awesome/scss/_bordered-pulled.scss
similarity index 100%
rename from vraptor/src/main/webapp/vendor/font-awesome/scss/_bordered-pulled.scss
rename to web-modules/vraptor/src/main/webapp/vendor/font-awesome/scss/_bordered-pulled.scss
diff --git a/vraptor/src/main/webapp/vendor/font-awesome/scss/_core.scss b/web-modules/vraptor/src/main/webapp/vendor/font-awesome/scss/_core.scss
similarity index 100%
rename from vraptor/src/main/webapp/vendor/font-awesome/scss/_core.scss
rename to web-modules/vraptor/src/main/webapp/vendor/font-awesome/scss/_core.scss
diff --git a/vraptor/src/main/webapp/vendor/font-awesome/scss/_fixed-width.scss b/web-modules/vraptor/src/main/webapp/vendor/font-awesome/scss/_fixed-width.scss
similarity index 100%
rename from vraptor/src/main/webapp/vendor/font-awesome/scss/_fixed-width.scss
rename to web-modules/vraptor/src/main/webapp/vendor/font-awesome/scss/_fixed-width.scss
diff --git a/vraptor/src/main/webapp/vendor/font-awesome/scss/_icons.scss b/web-modules/vraptor/src/main/webapp/vendor/font-awesome/scss/_icons.scss
similarity index 100%
rename from vraptor/src/main/webapp/vendor/font-awesome/scss/_icons.scss
rename to web-modules/vraptor/src/main/webapp/vendor/font-awesome/scss/_icons.scss
diff --git a/vraptor/src/main/webapp/vendor/font-awesome/scss/_larger.scss b/web-modules/vraptor/src/main/webapp/vendor/font-awesome/scss/_larger.scss
similarity index 100%
rename from vraptor/src/main/webapp/vendor/font-awesome/scss/_larger.scss
rename to web-modules/vraptor/src/main/webapp/vendor/font-awesome/scss/_larger.scss
diff --git a/vraptor/src/main/webapp/vendor/font-awesome/scss/_list.scss b/web-modules/vraptor/src/main/webapp/vendor/font-awesome/scss/_list.scss
similarity index 100%
rename from vraptor/src/main/webapp/vendor/font-awesome/scss/_list.scss
rename to web-modules/vraptor/src/main/webapp/vendor/font-awesome/scss/_list.scss
diff --git a/vraptor/src/main/webapp/vendor/font-awesome/scss/_mixins.scss b/web-modules/vraptor/src/main/webapp/vendor/font-awesome/scss/_mixins.scss
similarity index 100%
rename from vraptor/src/main/webapp/vendor/font-awesome/scss/_mixins.scss
rename to web-modules/vraptor/src/main/webapp/vendor/font-awesome/scss/_mixins.scss
diff --git a/vraptor/src/main/webapp/vendor/font-awesome/scss/_path.scss b/web-modules/vraptor/src/main/webapp/vendor/font-awesome/scss/_path.scss
similarity index 100%
rename from vraptor/src/main/webapp/vendor/font-awesome/scss/_path.scss
rename to web-modules/vraptor/src/main/webapp/vendor/font-awesome/scss/_path.scss
diff --git a/vraptor/src/main/webapp/vendor/font-awesome/scss/_rotated-flipped.scss b/web-modules/vraptor/src/main/webapp/vendor/font-awesome/scss/_rotated-flipped.scss
similarity index 100%
rename from vraptor/src/main/webapp/vendor/font-awesome/scss/_rotated-flipped.scss
rename to web-modules/vraptor/src/main/webapp/vendor/font-awesome/scss/_rotated-flipped.scss
diff --git a/vraptor/src/main/webapp/vendor/font-awesome/scss/_screen-reader.scss b/web-modules/vraptor/src/main/webapp/vendor/font-awesome/scss/_screen-reader.scss
similarity index 100%
rename from vraptor/src/main/webapp/vendor/font-awesome/scss/_screen-reader.scss
rename to web-modules/vraptor/src/main/webapp/vendor/font-awesome/scss/_screen-reader.scss
diff --git a/vraptor/src/main/webapp/vendor/font-awesome/scss/_stacked.scss b/web-modules/vraptor/src/main/webapp/vendor/font-awesome/scss/_stacked.scss
similarity index 100%
rename from vraptor/src/main/webapp/vendor/font-awesome/scss/_stacked.scss
rename to web-modules/vraptor/src/main/webapp/vendor/font-awesome/scss/_stacked.scss
diff --git a/vraptor/src/main/webapp/vendor/font-awesome/scss/_variables.scss b/web-modules/vraptor/src/main/webapp/vendor/font-awesome/scss/_variables.scss
similarity index 100%
rename from vraptor/src/main/webapp/vendor/font-awesome/scss/_variables.scss
rename to web-modules/vraptor/src/main/webapp/vendor/font-awesome/scss/_variables.scss
diff --git a/vraptor/src/main/webapp/vendor/font-awesome/scss/font-awesome.scss b/web-modules/vraptor/src/main/webapp/vendor/font-awesome/scss/font-awesome.scss
similarity index 100%
rename from vraptor/src/main/webapp/vendor/font-awesome/scss/font-awesome.scss
rename to web-modules/vraptor/src/main/webapp/vendor/font-awesome/scss/font-awesome.scss
diff --git a/vraptor/src/main/webapp/vendor/jquery/jquery.js b/web-modules/vraptor/src/main/webapp/vendor/jquery/jquery.js
similarity index 100%
rename from vraptor/src/main/webapp/vendor/jquery/jquery.js
rename to web-modules/vraptor/src/main/webapp/vendor/jquery/jquery.js
diff --git a/vraptor/src/main/webapp/vendor/jquery/jquery.min.js b/web-modules/vraptor/src/main/webapp/vendor/jquery/jquery.min.js
similarity index 100%
rename from vraptor/src/main/webapp/vendor/jquery/jquery.min.js
rename to web-modules/vraptor/src/main/webapp/vendor/jquery/jquery.min.js
diff --git a/wicket/README.md b/web-modules/wicket/README.md
similarity index 100%
rename from wicket/README.md
rename to web-modules/wicket/README.md
diff --git a/wicket/pom.xml b/web-modules/wicket/pom.xml
similarity index 98%
rename from wicket/pom.xml
rename to web-modules/wicket/pom.xml
index 55baf64032..c9dac11379 100644
--- a/wicket/pom.xml
+++ b/web-modules/wicket/pom.xml
@@ -11,7 +11,7 @@
com.baeldung
- parent-modules
+ web-modules
1.0.0-SNAPSHOT
diff --git a/wicket/src/main/java/com/baeldung/wicket/examples/HelloWorld.html b/web-modules/wicket/src/main/java/com/baeldung/wicket/examples/HelloWorld.html
similarity index 100%
rename from wicket/src/main/java/com/baeldung/wicket/examples/HelloWorld.html
rename to web-modules/wicket/src/main/java/com/baeldung/wicket/examples/HelloWorld.html
diff --git a/wicket/src/main/java/com/baeldung/wicket/examples/HelloWorld.java b/web-modules/wicket/src/main/java/com/baeldung/wicket/examples/HelloWorld.java
similarity index 100%
rename from wicket/src/main/java/com/baeldung/wicket/examples/HelloWorld.java
rename to web-modules/wicket/src/main/java/com/baeldung/wicket/examples/HelloWorld.java
diff --git a/wicket/src/main/java/com/baeldung/wicket/examples/HelloWorldApplication.java b/web-modules/wicket/src/main/java/com/baeldung/wicket/examples/HelloWorldApplication.java
similarity index 100%
rename from wicket/src/main/java/com/baeldung/wicket/examples/HelloWorldApplication.java
rename to web-modules/wicket/src/main/java/com/baeldung/wicket/examples/HelloWorldApplication.java
diff --git a/wicket/src/main/java/com/baeldung/wicket/examples/cafeaddress/CafeAddress.html b/web-modules/wicket/src/main/java/com/baeldung/wicket/examples/cafeaddress/CafeAddress.html
similarity index 100%
rename from wicket/src/main/java/com/baeldung/wicket/examples/cafeaddress/CafeAddress.html
rename to web-modules/wicket/src/main/java/com/baeldung/wicket/examples/cafeaddress/CafeAddress.html
diff --git a/wicket/src/main/java/com/baeldung/wicket/examples/cafeaddress/CafeAddress.java b/web-modules/wicket/src/main/java/com/baeldung/wicket/examples/cafeaddress/CafeAddress.java
similarity index 100%
rename from wicket/src/main/java/com/baeldung/wicket/examples/cafeaddress/CafeAddress.java
rename to web-modules/wicket/src/main/java/com/baeldung/wicket/examples/cafeaddress/CafeAddress.java
diff --git a/wicket/src/main/java/com/baeldung/wicket/examples/helloworld/HelloWorld.html b/web-modules/wicket/src/main/java/com/baeldung/wicket/examples/helloworld/HelloWorld.html
similarity index 100%
rename from wicket/src/main/java/com/baeldung/wicket/examples/helloworld/HelloWorld.html
rename to web-modules/wicket/src/main/java/com/baeldung/wicket/examples/helloworld/HelloWorld.html
diff --git a/wicket/src/main/java/com/baeldung/wicket/examples/helloworld/HelloWorld.java b/web-modules/wicket/src/main/java/com/baeldung/wicket/examples/helloworld/HelloWorld.java
similarity index 100%
rename from wicket/src/main/java/com/baeldung/wicket/examples/helloworld/HelloWorld.java
rename to web-modules/wicket/src/main/java/com/baeldung/wicket/examples/helloworld/HelloWorld.java
diff --git a/wicket/src/main/resources/logback.xml b/web-modules/wicket/src/main/resources/logback.xml
similarity index 100%
rename from wicket/src/main/resources/logback.xml
rename to web-modules/wicket/src/main/resources/logback.xml
diff --git a/wicket/src/main/test/java/com/baeldung/wicket/examples/HomePageIntegrationTest.java b/web-modules/wicket/src/main/test/java/com/baeldung/wicket/examples/HomePageIntegrationTest.java
similarity index 100%
rename from wicket/src/main/test/java/com/baeldung/wicket/examples/HomePageIntegrationTest.java
rename to web-modules/wicket/src/main/test/java/com/baeldung/wicket/examples/HomePageIntegrationTest.java
diff --git a/wicket/src/main/webapp/WEB-INF/web.xml b/web-modules/wicket/src/main/webapp/WEB-INF/web.xml
similarity index 100%
rename from wicket/src/main/webapp/WEB-INF/web.xml
rename to web-modules/wicket/src/main/webapp/WEB-INF/web.xml