diff --git a/jee-7-security/README.md b/jee-7-security/README.md
new file mode 100644
index 0000000000..314de6d957
--- /dev/null
+++ b/jee-7-security/README.md
@@ -0,0 +1,2 @@
+### Relevant Articles:
+- [Securing Java EE with Spring Security](http://www.baeldung.com/java-ee-spring-security)
diff --git a/jee-7-security/pom.xml b/jee-7-security/pom.xml
new file mode 100644
index 0000000000..622ca19903
--- /dev/null
+++ b/jee-7-security/pom.xml
@@ -0,0 +1,102 @@
+
+
+ 4.0.0
+ jee-7-security
+ 1.0-SNAPSHOT
+ war
+ jee-7-security
+ JavaEE 7 Spring Security Application
+
+
+ com.baeldung
+ parent-modules
+ 1.0.0-SNAPSHOT
+
+
+
+
+ javax
+ javaee-api
+ ${javaee_api.version}
+ provided
+
+
+ com.sun.faces
+ jsf-api
+ ${com.sun.faces.jsf.version}
+
+
+ com.sun.faces
+ jsf-impl
+ ${com.sun.faces.jsf.version}
+
+
+ javax.servlet
+ jstl
+ ${jstl.version}
+
+
+ javax.servlet
+ javax.servlet-api
+ ${javax.servlet-api.version}
+
+
+ javax.servlet.jsp
+ jsp-api
+ ${jsp-api.version}
+ provided
+
+
+ taglibs
+ standard
+ ${taglibs.standard.version}
+
+
+
+ javax.mvc
+ javax.mvc-api
+ 1.0-pr
+
+
+
+ org.springframework.security
+ spring-security-web
+ ${org.springframework.security.version}
+
+
+
+ org.springframework.security
+ spring-security-config
+ ${org.springframework.security.version}
+
+
+ org.springframework.security
+ spring-security-taglibs
+ ${org.springframework.security.version}
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ ${maven-war-plugin.version}
+
+ src/main/webapp
+ false
+
+
+
+
+
+
+ 7.0
+ 2.2.14
+ 2.2
+ 1.1.2
+ 4.2.3.RELEASE
+
+
+
diff --git a/jee-7/src/main/java/com/baeldung/springSecurity/SecurityWebApplicationInitializer.java b/jee-7-security/src/main/java/com/baeldung/springsecurity/SecurityWebApplicationInitializer.java
similarity index 88%
rename from jee-7/src/main/java/com/baeldung/springSecurity/SecurityWebApplicationInitializer.java
rename to jee-7-security/src/main/java/com/baeldung/springsecurity/SecurityWebApplicationInitializer.java
index e6a05f7b71..e3e2ed80e6 100644
--- a/jee-7/src/main/java/com/baeldung/springSecurity/SecurityWebApplicationInitializer.java
+++ b/jee-7-security/src/main/java/com/baeldung/springsecurity/SecurityWebApplicationInitializer.java
@@ -1,4 +1,4 @@
-package com.baeldung.springSecurity;
+package com.baeldung.springsecurity;
import org.springframework.security.web.context.AbstractSecurityWebApplicationInitializer;
diff --git a/jee-7/src/main/java/com/baeldung/springSecurity/SpringSecurityConfig.java b/jee-7-security/src/main/java/com/baeldung/springsecurity/SpringSecurityConfig.java
similarity index 97%
rename from jee-7/src/main/java/com/baeldung/springSecurity/SpringSecurityConfig.java
rename to jee-7-security/src/main/java/com/baeldung/springsecurity/SpringSecurityConfig.java
index bda8930f36..70be1f91ce 100644
--- a/jee-7/src/main/java/com/baeldung/springSecurity/SpringSecurityConfig.java
+++ b/jee-7-security/src/main/java/com/baeldung/springsecurity/SpringSecurityConfig.java
@@ -1,4 +1,4 @@
-package com.baeldung.springSecurity;
+package com.baeldung.springsecurity;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
diff --git a/jee-7/src/main/java/com/baeldung/springSecurity/controller/HomeController.java b/jee-7-security/src/main/java/com/baeldung/springsecurity/controller/HomeController.java
similarity index 89%
rename from jee-7/src/main/java/com/baeldung/springSecurity/controller/HomeController.java
rename to jee-7-security/src/main/java/com/baeldung/springsecurity/controller/HomeController.java
index 53fd9f4b81..1662f38609 100644
--- a/jee-7/src/main/java/com/baeldung/springSecurity/controller/HomeController.java
+++ b/jee-7-security/src/main/java/com/baeldung/springsecurity/controller/HomeController.java
@@ -1,4 +1,4 @@
-package com.baeldung.springSecurity.controller;
+package com.baeldung.springsecurity.controller;
import javax.mvc.annotation.Controller;
import javax.ws.rs.GET;
diff --git a/jee-7/src/main/java/com/baeldung/springSecurity/controller/LoginController.java b/jee-7-security/src/main/java/com/baeldung/springsecurity/controller/LoginController.java
similarity index 82%
rename from jee-7/src/main/java/com/baeldung/springSecurity/controller/LoginController.java
rename to jee-7-security/src/main/java/com/baeldung/springsecurity/controller/LoginController.java
index a7e7bb471d..45d7ff3d2c 100644
--- a/jee-7/src/main/java/com/baeldung/springSecurity/controller/LoginController.java
+++ b/jee-7-security/src/main/java/com/baeldung/springsecurity/controller/LoginController.java
@@ -1,4 +1,4 @@
-package com.baeldung.springSecurity.controller;
+package com.baeldung.springsecurity.controller;
import javax.mvc.annotation.Controller;
import javax.ws.rs.GET;
diff --git a/jee-7-security/src/main/resources/logback.xml b/jee-7-security/src/main/resources/logback.xml
new file mode 100644
index 0000000000..c8c077ba1d
--- /dev/null
+++ b/jee-7-security/src/main/resources/logback.xml
@@ -0,0 +1,13 @@
+
+
+
+
+ %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/jee-7-security/src/main/webapp/WEB-INF/beans.xml b/jee-7-security/src/main/webapp/WEB-INF/beans.xml
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/jee-7-security/src/main/webapp/WEB-INF/faces-config.xml b/jee-7-security/src/main/webapp/WEB-INF/faces-config.xml
new file mode 100644
index 0000000000..1f4085458f
--- /dev/null
+++ b/jee-7-security/src/main/webapp/WEB-INF/faces-config.xml
@@ -0,0 +1,8 @@
+
+
+
\ No newline at end of file
diff --git a/jee-7/src/main/webapp/WEB-INF/spring/security.xml b/jee-7-security/src/main/webapp/WEB-INF/spring/security.xml
similarity index 100%
rename from jee-7/src/main/webapp/WEB-INF/spring/security.xml
rename to jee-7-security/src/main/webapp/WEB-INF/spring/security.xml
diff --git a/jee-7/src/main/webapp/WEB-INF/views/admin.jsp b/jee-7-security/src/main/webapp/WEB-INF/views/admin.jsp
similarity index 100%
rename from jee-7/src/main/webapp/WEB-INF/views/admin.jsp
rename to jee-7-security/src/main/webapp/WEB-INF/views/admin.jsp
diff --git a/jee-7/src/main/webapp/WEB-INF/views/home.jsp b/jee-7-security/src/main/webapp/WEB-INF/views/home.jsp
similarity index 100%
rename from jee-7/src/main/webapp/WEB-INF/views/home.jsp
rename to jee-7-security/src/main/webapp/WEB-INF/views/home.jsp
diff --git a/jee-7/src/main/webapp/WEB-INF/views/login.jsp b/jee-7-security/src/main/webapp/WEB-INF/views/login.jsp
similarity index 100%
rename from jee-7/src/main/webapp/WEB-INF/views/login.jsp
rename to jee-7-security/src/main/webapp/WEB-INF/views/login.jsp
diff --git a/jee-7/src/main/webapp/WEB-INF/views/user.jsp b/jee-7-security/src/main/webapp/WEB-INF/views/user.jsp
similarity index 100%
rename from jee-7/src/main/webapp/WEB-INF/views/user.jsp
rename to jee-7-security/src/main/webapp/WEB-INF/views/user.jsp
diff --git a/jee-7-security/src/main/webapp/WEB-INF/web.xml b/jee-7-security/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000000..e656ffc5be
--- /dev/null
+++ b/jee-7-security/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,71 @@
+
+
+
+
+ Faces Servlet
+ javax.faces.webapp.FacesServlet
+
+
+ Faces Servlet
+ *.jsf
+
+
+ javax.faces.PROJECT_STAGE
+ Development
+
+
+ State saving method: 'client' or 'server' (default). See JSF Specification section 2.5.2
+ javax.faces.STATE_SAVING_METHOD
+ client
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ index.jsf
+ welcome.jsf
+ index.html
+ index.jsp
+
+
\ No newline at end of file
diff --git a/jee-7/src/main/webapp/index.jsp b/jee-7-security/src/main/webapp/index.jsp
similarity index 100%
rename from jee-7/src/main/webapp/index.jsp
rename to jee-7-security/src/main/webapp/index.jsp
diff --git a/jee-7/src/main/webapp/secure.jsp b/jee-7-security/src/main/webapp/secure.jsp
similarity index 100%
rename from jee-7/src/main/webapp/secure.jsp
rename to jee-7-security/src/main/webapp/secure.jsp
diff --git a/jee-7/README.md b/jee-7/README.md
index f0bd65fdf2..a2493e561b 100644
--- a/jee-7/README.md
+++ b/jee-7/README.md
@@ -5,5 +5,3 @@
- [Introduction to JAX-WS](http://www.baeldung.com/jax-ws)
- [A Guide to Java EE Web-Related Annotations](http://www.baeldung.com/javaee-web-annotations)
- [Introduction to Testing with Arquillian](http://www.baeldung.com/arquillian)
-- [Securing Java EE with Spring Security](http://www.baeldung.com/java-ee-spring-security)
-- [A Guide to Java EE Web-Related Annotations](https://www.baeldung.com/javaee-web-annotations)
\ No newline at end of file
diff --git a/jee-7/src/main/java/com/baeldung/springSecurity/ApplicationConfig.java b/jee-7/src/main/java/com/baeldung/springSecurity/ApplicationConfig.java
deleted file mode 100755
index f8e7982253..0000000000
--- a/jee-7/src/main/java/com/baeldung/springSecurity/ApplicationConfig.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.baeldung.springSecurity;
-
-import javax.ws.rs.ApplicationPath;
-import javax.ws.rs.core.Application;
-
-/**
- * Application class required by JAX-RS. If you don't want to have any
- * prefix in the URL, you can set the application path to "/".
- */
-@ApplicationPath("/")
-public class ApplicationConfig extends Application {
-
-}
diff --git a/jee-7/src/main/webapp/WEB-INF/web.xml b/jee-7/src/main/webapp/WEB-INF/web.xml
index 1bcbb96e24..e656ffc5be 100644
--- a/jee-7/src/main/webapp/WEB-INF/web.xml
+++ b/jee-7/src/main/webapp/WEB-INF/web.xml
@@ -1,5 +1,8 @@
-
+