diff --git a/samples/web/src/main/java/Config.java b/samples/web/src/main/java/Config.java
index 3204266..25f569a 100644
--- a/samples/web/src/main/java/Config.java
+++ b/samples/web/src/main/java/Config.java
@@ -24,7 +24,7 @@ import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import org.springframework.session.Session;
import org.springframework.session.data.redis.RedisOperationsSessionRepository;
-import org.springframework.session.web.SessionRepositoryFilter;
+import org.springframework.session.web.http.SessionRepositoryFilter;
import redis.clients.jedis.Protocol;
import redis.embedded.RedisServer;
diff --git a/spring-session/src/main/java/org/springframework/session/data/redis/RedisOperationsSessionRepository.java b/spring-session/src/main/java/org/springframework/session/data/redis/RedisOperationsSessionRepository.java
index f72207e..5820022 100644
--- a/spring-session/src/main/java/org/springframework/session/data/redis/RedisOperationsSessionRepository.java
+++ b/spring-session/src/main/java/org/springframework/session/data/redis/RedisOperationsSessionRepository.java
@@ -20,6 +20,7 @@ import org.springframework.data.redis.core.RedisOperations;
import org.springframework.session.MapSession;
import org.springframework.session.Session;
import org.springframework.session.SessionRepository;
+import org.springframework.session.web.http.SessionRepositoryFilter;
import org.springframework.util.Assert;
import java.util.HashMap;
@@ -31,7 +32,7 @@ import java.util.concurrent.TimeUnit;
*
* A {@link org.springframework.session.SessionRepository} that is implemented using Spring Data's
* {@link org.springframework.data.redis.core.RedisOperations}. In a web environment, this is typically used in
- * combination with {@link org.springframework.session.web.SessionRepositoryFilter}.
+ * combination with {@link SessionRepositoryFilter}.
*
*
* Creating a new instance
diff --git a/spring-session/src/main/java/org/springframework/session/web/CookieHttpSessionStrategy.java b/spring-session/src/main/java/org/springframework/session/web/http/CookieHttpSessionStrategy.java
similarity index 99%
rename from spring-session/src/main/java/org/springframework/session/web/CookieHttpSessionStrategy.java
rename to spring-session/src/main/java/org/springframework/session/web/http/CookieHttpSessionStrategy.java
index 869de00..85c377c 100644
--- a/spring-session/src/main/java/org/springframework/session/web/CookieHttpSessionStrategy.java
+++ b/spring-session/src/main/java/org/springframework/session/web/http/CookieHttpSessionStrategy.java
@@ -13,7 +13,7 @@
* License for the specific language governing permissions and limitations under
* the License.
*/
-package org.springframework.session.web;
+package org.springframework.session.web.http;
import org.springframework.session.Session;
import org.springframework.util.Assert;
diff --git a/spring-session/src/main/java/org/springframework/session/web/HeaderHttpSessionStrategy.java b/spring-session/src/main/java/org/springframework/session/web/http/HeaderHttpSessionStrategy.java
similarity index 98%
rename from spring-session/src/main/java/org/springframework/session/web/HeaderHttpSessionStrategy.java
rename to spring-session/src/main/java/org/springframework/session/web/http/HeaderHttpSessionStrategy.java
index d4be9b8..92d6446 100644
--- a/spring-session/src/main/java/org/springframework/session/web/HeaderHttpSessionStrategy.java
+++ b/spring-session/src/main/java/org/springframework/session/web/http/HeaderHttpSessionStrategy.java
@@ -13,7 +13,7 @@
* License for the specific language governing permissions and limitations under
* the License.
*/
-package org.springframework.session.web;
+package org.springframework.session.web.http;
import org.springframework.session.Session;
import org.springframework.util.Assert;
diff --git a/spring-session/src/main/java/org/springframework/session/web/HttpSessionStrategy.java b/spring-session/src/main/java/org/springframework/session/web/http/HttpSessionStrategy.java
similarity index 98%
rename from spring-session/src/main/java/org/springframework/session/web/HttpSessionStrategy.java
rename to spring-session/src/main/java/org/springframework/session/web/http/HttpSessionStrategy.java
index a9e6ccf..ec353ea 100644
--- a/spring-session/src/main/java/org/springframework/session/web/HttpSessionStrategy.java
+++ b/spring-session/src/main/java/org/springframework/session/web/http/HttpSessionStrategy.java
@@ -13,7 +13,7 @@
* License for the specific language governing permissions and limitations under
* the License.
*/
-package org.springframework.session.web;
+package org.springframework.session.web.http;
import org.springframework.session.Session;
diff --git a/spring-session/src/main/java/org/springframework/session/web/OnCommittedResponseWrapper.java b/spring-session/src/main/java/org/springframework/session/web/http/OnCommittedResponseWrapper.java
similarity index 99%
rename from spring-session/src/main/java/org/springframework/session/web/OnCommittedResponseWrapper.java
rename to spring-session/src/main/java/org/springframework/session/web/http/OnCommittedResponseWrapper.java
index 01768e4..029cdfd 100644
--- a/spring-session/src/main/java/org/springframework/session/web/OnCommittedResponseWrapper.java
+++ b/spring-session/src/main/java/org/springframework/session/web/http/OnCommittedResponseWrapper.java
@@ -10,7 +10,7 @@
* an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
* specific language governing permissions and limitations under the License.
*/
-package org.springframework.session.web;
+package org.springframework.session.web.http;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
diff --git a/spring-session/src/main/java/org/springframework/session/web/OncePerRequestFilter.java b/spring-session/src/main/java/org/springframework/session/web/http/OncePerRequestFilter.java
similarity index 98%
rename from spring-session/src/main/java/org/springframework/session/web/OncePerRequestFilter.java
rename to spring-session/src/main/java/org/springframework/session/web/http/OncePerRequestFilter.java
index 3c35b62..498f54d 100644
--- a/spring-session/src/main/java/org/springframework/session/web/OncePerRequestFilter.java
+++ b/spring-session/src/main/java/org/springframework/session/web/http/OncePerRequestFilter.java
@@ -13,7 +13,7 @@
* License for the specific language governing permissions and limitations under
* the License.
*/
-package org.springframework.session.web;
+package org.springframework.session.web.http;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
diff --git a/spring-session/src/main/java/org/springframework/session/web/SessionRepositoryFilter.java b/spring-session/src/main/java/org/springframework/session/web/http/SessionRepositoryFilter.java
similarity index 99%
rename from spring-session/src/main/java/org/springframework/session/web/SessionRepositoryFilter.java
rename to spring-session/src/main/java/org/springframework/session/web/http/SessionRepositoryFilter.java
index 7e4d22b..34f5a86 100644
--- a/spring-session/src/main/java/org/springframework/session/web/SessionRepositoryFilter.java
+++ b/spring-session/src/main/java/org/springframework/session/web/http/SessionRepositoryFilter.java
@@ -13,7 +13,7 @@
* License for the specific language governing permissions and limitations under
* the License.
*/
-package org.springframework.session.web;
+package org.springframework.session.web.http;
import org.springframework.session.Session;
import org.springframework.session.SessionRepository;
diff --git a/spring-session/src/test/java/org/springframework/session/web/CookieHttpSessionStrategyTests.java b/spring-session/src/test/java/org/springframework/session/web/http/CookieHttpSessionStrategyTests.java
similarity index 96%
rename from spring-session/src/test/java/org/springframework/session/web/CookieHttpSessionStrategyTests.java
rename to spring-session/src/test/java/org/springframework/session/web/http/CookieHttpSessionStrategyTests.java
index 545d13a..b55c26d 100644
--- a/spring-session/src/test/java/org/springframework/session/web/CookieHttpSessionStrategyTests.java
+++ b/spring-session/src/test/java/org/springframework/session/web/http/CookieHttpSessionStrategyTests.java
@@ -1,4 +1,4 @@
-package org.springframework.session.web;
+package org.springframework.session.web.http;
import static org.fest.assertions.Assertions.*;
@@ -8,6 +8,7 @@ import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
import org.springframework.session.MapSession;
import org.springframework.session.Session;
+import org.springframework.session.web.http.CookieHttpSessionStrategy;
import javax.servlet.http.Cookie;
diff --git a/spring-session/src/test/java/org/springframework/session/web/HeaderSessionStrategyTests.java b/spring-session/src/test/java/org/springframework/session/web/http/HeaderSessionStrategyTests.java
similarity index 95%
rename from spring-session/src/test/java/org/springframework/session/web/HeaderSessionStrategyTests.java
rename to spring-session/src/test/java/org/springframework/session/web/http/HeaderSessionStrategyTests.java
index 83ad62f..6ac5679 100644
--- a/spring-session/src/test/java/org/springframework/session/web/HeaderSessionStrategyTests.java
+++ b/spring-session/src/test/java/org/springframework/session/web/http/HeaderSessionStrategyTests.java
@@ -1,4 +1,4 @@
-package org.springframework.session.web;
+package org.springframework.session.web.http;
import org.junit.Before;
import org.junit.Test;
@@ -6,6 +6,7 @@ import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
import org.springframework.session.MapSession;
import org.springframework.session.Session;
+import org.springframework.session.web.http.HeaderHttpSessionStrategy;
import static org.fest.assertions.Assertions.assertThat;
diff --git a/spring-session/src/test/java/org/springframework/session/web/OnCommittedResponseWrapperTests.java b/spring-session/src/test/java/org/springframework/session/web/http/OnCommittedResponseWrapperTests.java
similarity index 98%
rename from spring-session/src/test/java/org/springframework/session/web/OnCommittedResponseWrapperTests.java
rename to spring-session/src/test/java/org/springframework/session/web/http/OnCommittedResponseWrapperTests.java
index 4eb83d7..f0644f0 100644
--- a/spring-session/src/test/java/org/springframework/session/web/OnCommittedResponseWrapperTests.java
+++ b/spring-session/src/test/java/org/springframework/session/web/http/OnCommittedResponseWrapperTests.java
@@ -1,4 +1,4 @@
-package org.springframework.session.web;
+package org.springframework.session.web.http;
import java.io.PrintWriter;
import java.util.Locale;
@@ -8,6 +8,7 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
+import org.springframework.session.web.http.OnCommittedResponseWrapper;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
diff --git a/spring-session/src/test/java/org/springframework/session/web/OncePerRequestFilterTests.java b/spring-session/src/test/java/org/springframework/session/web/http/OncePerRequestFilterTests.java
similarity index 95%
rename from spring-session/src/test/java/org/springframework/session/web/OncePerRequestFilterTests.java
rename to spring-session/src/test/java/org/springframework/session/web/http/OncePerRequestFilterTests.java
index 5626de4..4f1f2f0 100644
--- a/spring-session/src/test/java/org/springframework/session/web/OncePerRequestFilterTests.java
+++ b/spring-session/src/test/java/org/springframework/session/web/http/OncePerRequestFilterTests.java
@@ -1,10 +1,11 @@
-package org.springframework.session.web;
+package org.springframework.session.web.http;
import org.junit.Before;
import org.junit.Test;
import org.springframework.mock.web.MockFilterChain;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
+import org.springframework.session.web.http.OncePerRequestFilter;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
diff --git a/spring-session/src/test/java/org/springframework/session/web/SessionRepositoryFilterTests.java b/spring-session/src/test/java/org/springframework/session/web/http/SessionRepositoryFilterTests.java
similarity index 99%
rename from spring-session/src/test/java/org/springframework/session/web/SessionRepositoryFilterTests.java
rename to spring-session/src/test/java/org/springframework/session/web/http/SessionRepositoryFilterTests.java
index dab21ed..b24d96b 100644
--- a/spring-session/src/test/java/org/springframework/session/web/SessionRepositoryFilterTests.java
+++ b/spring-session/src/test/java/org/springframework/session/web/http/SessionRepositoryFilterTests.java
@@ -1,4 +1,4 @@
-package org.springframework.session.web;
+package org.springframework.session.web.http;
import org.junit.Before;
import org.junit.Test;
@@ -7,6 +7,8 @@ import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
import org.springframework.session.MapSessionRepository;
import org.springframework.session.SessionRepository;
+import org.springframework.session.web.http.OncePerRequestFilter;
+import org.springframework.session.web.http.SessionRepositoryFilter;
import javax.servlet.FilterChain;
import javax.servlet.ServletContext;