#{of:printStackTrace(requestScope['javax.servlet.error.exception'])}+
#{of:printStackTrace(requestScope['jakarta.servlet.error.exception'])}
ServletRequest
@@ -154,9 +154,9 @@ protected boolean onAccessDenied(ServletRequest request, ServletResponse respons
* {@link #onAccessDenied(ServletRequest, ServletResponse, Object) onAccessDenied(Request,Response,Object)}.
*
* @return true
if
- * {@link #isAccessAllowed(javax.servlet.ServletRequest, javax.servlet.ServletResponse, Object) isAccessAllowed},
+ * {@link #isAccessAllowed(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse, Object) isAccessAllowed},
* otherwise returns the result of
- * {@link #onAccessDenied(javax.servlet.ServletRequest, javax.servlet.ServletResponse) onAccessDenied}.
+ * {@link #onAccessDenied(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse) onAccessDenied}.
* @throws Exception if an error occurs.
*/
public boolean onPreHandle(ServletRequest request, ServletResponse response, Object mappedValue) throws Exception {
@@ -182,7 +182,7 @@ protected boolean isLoginRequest(ServletRequest request, ServletResponse respons
/**
* Convenience method for subclasses to use when a login redirect is required.
*
- * This implementation simply calls {@link #saveRequest(javax.servlet.ServletRequest) saveRequest(request)}
+ * This implementation simply calls {@link #saveRequest(jakarta.servlet.ServletRequest) saveRequest(request)}
* and then {@link #redirectToLogin(ServletRequest, ServletResponse) redirectToLogin(request,response)}.
*
* @param request the incoming ServletRequest
@@ -196,12 +196,12 @@ protected void saveRequestAndRedirectToLogin(ServletRequest request, ServletResp
/**
* Convenience method merely delegates to
- * {@link WebUtils#saveRequest(javax.servlet.ServletRequest) WebUtils.saveRequest(request)} to save the request
+ * {@link WebUtils#saveRequest(jakarta.servlet.ServletRequest) WebUtils.saveRequest(request)} to save the request
* state for reuse later. This is mostly used to retain user request state when a redirect is issued to
* return the user to their originally requested url/resource.
*
* If you need to save and then immediately redirect the user to login, consider using
- * {@link #saveRequestAndRedirectToLogin(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
+ * {@link #saveRequestAndRedirectToLogin(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse)
* saveRequestAndRedirectToLogin(request,response)} directly.
*
* @param request the incoming ServletRequest to save for re-use later (for example, after a redirect).
@@ -216,7 +216,7 @@ protected void saveRequest(ServletRequest request) {
*
* N.B. If you want to issue a redirect with the intention of allowing the user to then return to their
* originally requested URL, don't use this method directly. Instead you should call
- * {@link #saveRequestAndRedirectToLogin(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
+ * {@link #saveRequestAndRedirectToLogin(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse)
* saveRequestAndRedirectToLogin(request,response)}, which will save the current request state so that it can
* be reconstructed and re-used after a successful login.
*
diff --git a/web/src/main/java/org/apache/shiro/web/filter/InvalidRequestFilter.java b/web/src/main/java/org/apache/shiro/web/filter/InvalidRequestFilter.java
index e29bd3eb62..c903074522 100644
--- a/web/src/main/java/org/apache/shiro/web/filter/InvalidRequestFilter.java
+++ b/web/src/main/java/org/apache/shiro/web/filter/InvalidRequestFilter.java
@@ -22,10 +22,10 @@
import org.apache.shiro.lang.util.StringUtils;
import org.apache.shiro.web.util.WebUtils;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
diff --git a/web/src/main/java/org/apache/shiro/web/filter/PathConfigProcessor.java b/web/src/main/java/org/apache/shiro/web/filter/PathConfigProcessor.java
index aa5be8169b..34fd240297 100644
--- a/web/src/main/java/org/apache/shiro/web/filter/PathConfigProcessor.java
+++ b/web/src/main/java/org/apache/shiro/web/filter/PathConfigProcessor.java
@@ -18,7 +18,7 @@
*/
package org.apache.shiro.web.filter;
-import javax.servlet.Filter;
+import jakarta.servlet.Filter;
/**
* A PathConfigProcessor processes configuration entries on a per path (url) basis.
diff --git a/web/src/main/java/org/apache/shiro/web/filter/PathMatchingFilter.java b/web/src/main/java/org/apache/shiro/web/filter/PathMatchingFilter.java
index 4ac41845c7..a948e4f6ab 100644
--- a/web/src/main/java/org/apache/shiro/web/filter/PathMatchingFilter.java
+++ b/web/src/main/java/org/apache/shiro/web/filter/PathMatchingFilter.java
@@ -26,9 +26,9 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.servlet.Filter;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
+import jakarta.servlet.Filter;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
import java.util.LinkedHashMap;
import java.util.Map;
@@ -95,7 +95,7 @@ public Filter processPathConfig(String path, String config) {
* Returns the context path within the application based on the specified request
.
*
* This implementation merely delegates to
- * {@link WebUtils#getPathWithinApplication(javax.servlet.http.HttpServletRequest)
+ * {@link WebUtils#getPathWithinApplication(jakarta.servlet.http.HttpServletRequest)
* WebUtils.getPathWithinApplication(request)},
* but can be overridden by subclasses for custom logic.
*
@@ -165,15 +165,15 @@ protected boolean pathsMatch(String pattern, String path) {
/**
* Implementation that handles path-matching behavior before a request is evaluated. If the path matches and
* the filter
- * {@link #isEnabled(javax.servlet.ServletRequest, javax.servlet.ServletResponse, String, Object) isEnabled} for
+ * {@link #isEnabled(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse, String, Object) isEnabled} for
* that path/config, the request will be allowed through via the result from
- * {@link #onPreHandle(javax.servlet.ServletRequest, javax.servlet.ServletResponse, Object) onPreHandle}. If the
+ * {@link #onPreHandle(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse, Object) onPreHandle}. If the
* path does not match or the filter is not enabled for that path, this filter will allow passthrough immediately
* to allow the {@code FilterChain} to continue executing.
*
* In order to retain path-matching functionality, subclasses should not override this method if at all
* possible, and instead override
- * {@link #onPreHandle(javax.servlet.ServletRequest, javax.servlet.ServletResponse, Object) onPreHandle} instead.
+ * {@link #onPreHandle(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse, Object) onPreHandle} instead.
*
* @param request the incoming ServletRequest
* @param response the outgoing ServletResponse
@@ -246,7 +246,7 @@ private boolean isFilterChainContinued(ServletRequest request, ServletResponse r
* @return {@code true} if the request should be able to continue, {@code false} if the filter will
* handle the response directly.
* @throws Exception if an error occurs
- * @see #isEnabled(javax.servlet.ServletRequest, javax.servlet.ServletResponse, String, Object)
+ * @see #isEnabled(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse, String, Object)
*/
protected boolean onPreHandle(ServletRequest request, ServletResponse response, Object mappedValue) throws Exception {
return true;
diff --git a/web/src/main/java/org/apache/shiro/web/filter/authc/AnonymousFilter.java b/web/src/main/java/org/apache/shiro/web/filter/authc/AnonymousFilter.java
index 419a878d12..b7ff097ab7 100644
--- a/web/src/main/java/org/apache/shiro/web/filter/authc/AnonymousFilter.java
+++ b/web/src/main/java/org/apache/shiro/web/filter/authc/AnonymousFilter.java
@@ -20,8 +20,8 @@
import org.apache.shiro.web.filter.PathMatchingFilter;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
/**
* Filter that allows access to a path immediately without performing security checks of any kind.
diff --git a/web/src/main/java/org/apache/shiro/web/filter/authc/AuthenticatingFilter.java b/web/src/main/java/org/apache/shiro/web/filter/authc/AuthenticatingFilter.java
index a56a76367b..b69871d471 100644
--- a/web/src/main/java/org/apache/shiro/web/filter/authc/AuthenticatingFilter.java
+++ b/web/src/main/java/org/apache/shiro/web/filter/authc/AuthenticatingFilter.java
@@ -24,9 +24,9 @@
import org.apache.shiro.authz.UnauthenticatedException;
import org.apache.shiro.subject.Subject;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
import java.io.IOException;
import java.util.Arrays;
diff --git a/web/src/main/java/org/apache/shiro/web/filter/authc/AuthenticationFilter.java b/web/src/main/java/org/apache/shiro/web/filter/authc/AuthenticationFilter.java
index 33b1d46723..20a79fc2f9 100644
--- a/web/src/main/java/org/apache/shiro/web/filter/authc/AuthenticationFilter.java
+++ b/web/src/main/java/org/apache/shiro/web/filter/authc/AuthenticationFilter.java
@@ -22,8 +22,8 @@
import org.apache.shiro.web.filter.AccessControlFilter;
import org.apache.shiro.web.util.WebUtils;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
/**
* Base class for all Filters that require the current user to be authenticated. This class encapsulates the
@@ -69,7 +69,7 @@ public void setSuccessUrl(String successUrl) {
/**
* Determines whether the current subject is authenticated.
*
- * The default implementation {@link #getSubject(javax.servlet.ServletRequest, javax.servlet.ServletResponse) acquires}
+ * The default implementation {@link #getSubject(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse) acquires}
* the currently executing Subject and then returns
* {@link org.apache.shiro.subject.Subject#isAuthenticated() subject.isAuthenticated()};
*
diff --git a/web/src/main/java/org/apache/shiro/web/filter/authc/BasicHttpAuthenticationFilter.java b/web/src/main/java/org/apache/shiro/web/filter/authc/BasicHttpAuthenticationFilter.java
index d9243817fa..97b1a2c3ab 100644
--- a/web/src/main/java/org/apache/shiro/web/filter/authc/BasicHttpAuthenticationFilter.java
+++ b/web/src/main/java/org/apache/shiro/web/filter/authc/BasicHttpAuthenticationFilter.java
@@ -23,9 +23,9 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
/**
@@ -48,7 +48,7 @@
* Authorization: Basic Base64_encoded_username_and_password
AuthenticationToken
via the
- * {@link #createToken(String, String, javax.servlet.ServletRequest, javax.servlet.ServletResponse) createToken} methodAuthenticationToken
is returned.true
, which by default occurs when the request is for the {@link #setLoginUrl(String) loginUrl} and
* is a POST request.
*
diff --git a/web/src/main/java/org/apache/shiro/web/filter/authc/HttpAuthenticationFilter.java b/web/src/main/java/org/apache/shiro/web/filter/authc/HttpAuthenticationFilter.java
index 636744a322..84a151c9fb 100644
--- a/web/src/main/java/org/apache/shiro/web/filter/authc/HttpAuthenticationFilter.java
+++ b/web/src/main/java/org/apache/shiro/web/filter/authc/HttpAuthenticationFilter.java
@@ -23,10 +23,10 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.util.HashSet;
import java.util.Locale;
import java.util.Set;
diff --git a/web/src/main/java/org/apache/shiro/web/filter/authc/LogoutFilter.java b/web/src/main/java/org/apache/shiro/web/filter/authc/LogoutFilter.java
index 46bc9a05b4..7c3a06d247 100644
--- a/web/src/main/java/org/apache/shiro/web/filter/authc/LogoutFilter.java
+++ b/web/src/main/java/org/apache/shiro/web/filter/authc/LogoutFilter.java
@@ -26,15 +26,15 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
+import jakarta.servlet.http.HttpServletResponse;
import java.util.Locale;
/**
* Simple Filter that, upon receiving a request, will immediately log-out the currently executing
- * {@link #getSubject(javax.servlet.ServletRequest, javax.servlet.ServletResponse) subject}
+ * {@link #getSubject(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse) subject}
* and then redirect them to a configured {@link #getRedirectUrl() redirectUrl}.
*
* @since 1.2
@@ -62,9 +62,9 @@ public class LogoutFilter extends AdviceFilter {
private boolean postOnlyLogout;
/**
- * Acquires the currently executing {@link #getSubject(javax.servlet.ServletRequest, javax.servlet.ServletResponse) subject},
- * a potentially Subject or request-specific
- * {@link #getRedirectUrl(ServletRequest, ServletResponse, org.apache.shiro.subject.Subject) redirectUrl},
+ * Acquires the currently executing
+ * {@link #getSubject(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse) subject}, a potentially Subject or
+ * request-specific {@link #getRedirectUrl(ServletRequest, ServletResponse, org.apache.shiro.subject.Subject) redirectUrl},
* and redirects the end-user to that redirect url.
*
* @param request the incoming ServletRequest
@@ -112,7 +112,7 @@ protected Subject getSubject(ServletRequest request, ServletResponse response) {
/**
* Issues an HTTP redirect to the specified URL after subject logout. This implementation simply calls
- * {@code WebUtils.}{@link WebUtils#issueRedirect(javax.servlet.ServletRequest, javax.servlet.ServletResponse, String)
+ * {@code WebUtils.}{@link WebUtils#issueRedirect(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse, String)
* issueRedirect(request,response,redirectUrl)}.
*
* @param request the incoming Servlet request
diff --git a/web/src/main/java/org/apache/shiro/web/filter/authc/PassThruAuthenticationFilter.java b/web/src/main/java/org/apache/shiro/web/filter/authc/PassThruAuthenticationFilter.java
index 6aa9ea2bee..520b6c661f 100644
--- a/web/src/main/java/org/apache/shiro/web/filter/authc/PassThruAuthenticationFilter.java
+++ b/web/src/main/java/org/apache/shiro/web/filter/authc/PassThruAuthenticationFilter.java
@@ -20,8 +20,8 @@
import org.apache.shiro.subject.Subject;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
/**
* An authentication filter that redirects the user to the login page when they are trying to access
diff --git a/web/src/main/java/org/apache/shiro/web/filter/authc/UserFilter.java b/web/src/main/java/org/apache/shiro/web/filter/authc/UserFilter.java
index 1c31fd1987..0f75d95483 100644
--- a/web/src/main/java/org/apache/shiro/web/filter/authc/UserFilter.java
+++ b/web/src/main/java/org/apache/shiro/web/filter/authc/UserFilter.java
@@ -21,8 +21,8 @@
import org.apache.shiro.subject.Subject;
import org.apache.shiro.web.filter.AccessControlFilter;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
/**
* Filter that allows access to resources if the accessor is a known user, which is defined as
@@ -37,13 +37,13 @@ public class UserFilter extends AccessControlFilter {
/**
* Returns true
if the request is a
- * {@link #isLoginRequest(javax.servlet.ServletRequest, javax.servlet.ServletResponse) loginRequest} or
- * if the current {@link #getSubject(javax.servlet.ServletRequest, javax.servlet.ServletResponse) subject}
+ * {@link #isLoginRequest(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse) loginRequest} or
+ * if the current {@link #getSubject(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse) subject}
* is not null
, false
otherwise.
*
* @return true
if the request is a
- * {@link #isLoginRequest(javax.servlet.ServletRequest, javax.servlet.ServletResponse) loginRequest} or
- * if the current {@link #getSubject(javax.servlet.ServletRequest, javax.servlet.ServletResponse) subject}
+ * {@link #isLoginRequest(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse) loginRequest} or
+ * if the current {@link #getSubject(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse) subject}
* is not null
, false
otherwise.
*/
protected boolean isAccessAllowed(ServletRequest request, ServletResponse response, Object mappedValue) {
diff --git a/web/src/main/java/org/apache/shiro/web/filter/authz/AuthorizationFilter.java b/web/src/main/java/org/apache/shiro/web/filter/authz/AuthorizationFilter.java
index 8d1a12706d..50a16c60c7 100644
--- a/web/src/main/java/org/apache/shiro/web/filter/authz/AuthorizationFilter.java
+++ b/web/src/main/java/org/apache/shiro/web/filter/authz/AuthorizationFilter.java
@@ -23,17 +23,17 @@
import org.apache.shiro.web.filter.AccessControlFilter;
import org.apache.shiro.web.util.WebUtils;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* Superclass for authorization-related filters. If an request is unauthorized, response handling is delegated to the
- * {@link #onAccessDenied(javax.servlet.ServletRequest, javax.servlet.ServletResponse) onAccessDenied} method, which
+ * {@link #onAccessDenied(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse) onAccessDenied} method, which
* provides reasonable handling for most applications.
*
- * @see #onAccessDenied(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
+ * @see #onAccessDenied(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse)
* @since 0.9
*/
public abstract class AuthorizationFilter extends AccessControlFilter {
@@ -83,7 +83,7 @@ public void setUnauthorizedUrl(String unauthorizedUrl) {
* {@link #addFilter(String, javax.servlet.Filter, boolean) addFilter}(name, filter, false);
+ * {@link #addFilter(String, jakarta.servlet.Filter, boolean) addFilter}(name, filter, false);
*
* @param name the name to assign to the filter, used to reference the filter in chain definitions
* @param filter the filter to initialize and then add to the pool of available filters that can be used
@@ -99,7 +99,7 @@ public interface FilterChainManager {
* @param name the name to assign to the filter, used to reference the filter in chain definitions
* @param filter the filter to assign to the filter pool
* @param init whether or not the {@code Filter} should be
- * {@link Filter#init(javax.servlet.FilterConfig) initialized} first before being added to the pool.
+ * {@link Filter#init(jakarta.servlet.FilterConfig) initialized} first before being added to the pool.
*/
void addFilter(String name, Filter filter, boolean init);
@@ -121,7 +121,7 @@ public interface FilterChainManager {
* where
* WebUtils.{@link org.apache.shiro.web.util.WebUtils#getPathWithinApplication(javax.servlet.http.HttpServletRequest)
+ * WebUtils.{@link org.apache.shiro.web.util.WebUtils#getPathWithinApplication(jakarta.servlet.http.HttpServletRequest)
* getPathWithinApplication(request)}
* and can be overridden by subclasses for custom request-to-application-path resolution behavior.
*
diff --git a/web/src/main/java/org/apache/shiro/web/filter/mgt/SimpleNamedFilterList.java b/web/src/main/java/org/apache/shiro/web/filter/mgt/SimpleNamedFilterList.java
index 7592f96589..bcfb2e0636 100644
--- a/web/src/main/java/org/apache/shiro/web/filter/mgt/SimpleNamedFilterList.java
+++ b/web/src/main/java/org/apache/shiro/web/filter/mgt/SimpleNamedFilterList.java
@@ -21,8 +21,8 @@
import org.apache.shiro.lang.util.StringUtils;
import org.apache.shiro.web.servlet.ProxiedFilterChain;
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
+import jakarta.servlet.Filter;
+import jakarta.servlet.FilterChain;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
diff --git a/web/src/main/java/org/apache/shiro/web/filter/session/NoSessionCreationFilter.java b/web/src/main/java/org/apache/shiro/web/filter/session/NoSessionCreationFilter.java
index 086804aa24..7d50190c8b 100644
--- a/web/src/main/java/org/apache/shiro/web/filter/session/NoSessionCreationFilter.java
+++ b/web/src/main/java/org/apache/shiro/web/filter/session/NoSessionCreationFilter.java
@@ -21,8 +21,8 @@
import org.apache.shiro.subject.support.DefaultSubjectContext;
import org.apache.shiro.web.filter.PathMatchingFilter;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
/**
* A {@code PathMatchingFilter} that will disable creating new Sessions during the request. This is a useful
diff --git a/web/src/main/java/org/apache/shiro/web/mgt/CookieRememberMeManager.java b/web/src/main/java/org/apache/shiro/web/mgt/CookieRememberMeManager.java
index f44d1ae2cd..6695c89d56 100644
--- a/web/src/main/java/org/apache/shiro/web/mgt/CookieRememberMeManager.java
+++ b/web/src/main/java/org/apache/shiro/web/mgt/CookieRememberMeManager.java
@@ -33,9 +33,9 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.servlet.ServletRequest;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
/**
diff --git a/web/src/main/java/org/apache/shiro/web/mgt/DefaultWebSecurityManager.java b/web/src/main/java/org/apache/shiro/web/mgt/DefaultWebSecurityManager.java
index 02b515c9a8..8ef1043409 100644
--- a/web/src/main/java/org/apache/shiro/web/mgt/DefaultWebSecurityManager.java
+++ b/web/src/main/java/org/apache/shiro/web/mgt/DefaultWebSecurityManager.java
@@ -42,8 +42,8 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
import java.io.Serializable;
import java.util.Collection;
import java.util.function.Supplier;
diff --git a/web/src/main/java/org/apache/shiro/web/mgt/DefaultWebSessionStorageEvaluator.java b/web/src/main/java/org/apache/shiro/web/mgt/DefaultWebSessionStorageEvaluator.java
index 367179fb93..4be330900b 100644
--- a/web/src/main/java/org/apache/shiro/web/mgt/DefaultWebSessionStorageEvaluator.java
+++ b/web/src/main/java/org/apache/shiro/web/mgt/DefaultWebSessionStorageEvaluator.java
@@ -33,7 +33,7 @@
* This implementation usually works in conjunction with the
* {@link org.apache.shiro.web.filter.session.NoSessionCreationFilter}: If the {@code NoSessionCreationFilter}
* is configured in a filter chain, that filter will set a specific
- * {@code ServletRequest} {@link javax.servlet.ServletRequest#setAttribute attribute} indicating that session creation
+ * {@code ServletRequest} {@link jakarta.servlet.ServletRequest#setAttribute attribute} indicating that session creation
* should be disabled.
*
* This {@code DefaultWebSessionStorageEvaluator} will then inspect this attribute, and if it has been set, will return
diff --git a/web/src/main/java/org/apache/shiro/web/mgt/DefaultWebSubjectFactory.java b/web/src/main/java/org/apache/shiro/web/mgt/DefaultWebSubjectFactory.java
index 3c8fc06e0b..a355c0030f 100644
--- a/web/src/main/java/org/apache/shiro/web/mgt/DefaultWebSubjectFactory.java
+++ b/web/src/main/java/org/apache/shiro/web/mgt/DefaultWebSubjectFactory.java
@@ -27,8 +27,8 @@
import org.apache.shiro.web.subject.WebSubjectContext;
import org.apache.shiro.web.subject.support.WebDelegatingSubject;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
import org.apache.shiro.web.subject.WebSubject;
diff --git a/web/src/main/java/org/apache/shiro/web/servlet/AbstractFilter.java b/web/src/main/java/org/apache/shiro/web/servlet/AbstractFilter.java
index 77e9797007..9c0b5fa4a9 100644
--- a/web/src/main/java/org/apache/shiro/web/servlet/AbstractFilter.java
+++ b/web/src/main/java/org/apache/shiro/web/servlet/AbstractFilter.java
@@ -22,15 +22,15 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.servlet.Filter;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletException;
+import jakarta.servlet.Filter;
+import jakarta.servlet.FilterConfig;
+import jakarta.servlet.ServletException;
/**
* Base abstract Filter simplifying Filter initialization and {@link #getInitParam(String) access} to init parameters.
* Subclass initialization logic should be performed by overriding the {@link #onFilterConfigSet()} template method.
* FilterChain execution logic (the
- * {@link #doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)} method
+ * {@link #doFilter(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse, jakarta.servlet.FilterChain)} method
* is left to subclasses.
*
* @since 1.0
@@ -46,7 +46,7 @@ public abstract class AbstractFilter extends ServletContextSupport implements Fi
/**
* Returns the servlet container specified {@code FilterConfig} instance provided at
- * {@link #init(javax.servlet.FilterConfig) startup}.
+ * {@link #init(jakarta.servlet.FilterConfig) startup}.
*
* @return the servlet container specified {@code FilterConfig} instance provided at start-up.
*/
@@ -89,7 +89,7 @@ protected String getInitParam(String paramName) {
* {@link #onFilterConfigSet() onFilterConfigSet()} to trigger any processing a subclass might wish to perform.
*
* @param filterConfig the servlet container supplied FilterConfig instance.
- * @throws javax.servlet.ServletException if {@link #onFilterConfigSet() onFilterConfigSet()} throws an Exception.
+ * @throws jakarta.servlet.ServletException if {@link #onFilterConfigSet() onFilterConfigSet()} throws an Exception.
*/
public final void init(FilterConfig filterConfig) throws ServletException {
setFilterConfig(filterConfig);
diff --git a/web/src/main/java/org/apache/shiro/web/servlet/AbstractShiroFilter.java b/web/src/main/java/org/apache/shiro/web/servlet/AbstractShiroFilter.java
index 0b1304347c..272175e90e 100644
--- a/web/src/main/java/org/apache/shiro/web/servlet/AbstractShiroFilter.java
+++ b/web/src/main/java/org/apache/shiro/web/servlet/AbstractShiroFilter.java
@@ -30,12 +30,12 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.servlet.FilterChain;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.concurrent.Callable;
@@ -230,7 +230,7 @@ protected ServletRequest wrapServletRequest(HttpServletRequest orig) {
* processing.
*
* If the {@code ServletRequest} is an instance of {@link HttpServletRequest}, the value returned from this method
- * is obtained by calling {@link #wrapServletRequest(javax.servlet.http.HttpServletRequest)} to allow Shiro-specific
+ * is obtained by calling {@link #wrapServletRequest(jakarta.servlet.http.HttpServletRequest)} to allow Shiro-specific
* HTTP behavior, otherwise the original {@code ServletRequest} argument is returned.
*
* @param request the incoming ServletRequest
@@ -267,7 +267,7 @@ protected ServletResponse wrapServletResponse(HttpServletResponse orig, ShiroHtt
* Prepares the {@code ServletResponse} instance that will be passed to the {@code FilterChain} for request
* processing.
*
- * This implementation delegates to {@link #wrapServletRequest(javax.servlet.http.HttpServletRequest)}
+ * This implementation delegates to {@link #wrapServletRequest(jakarta.servlet.http.HttpServletRequest)}
* only if Shiro-based sessions are enabled (that is, !{@link #isHttpSessions()}) and the request instance is a
* {@link ShiroHttpServletRequest}. This ensures that any URL rewriting that occurs is handled correctly using the
* Shiro-managed Session's sessionId and not a servlet container session ID.
@@ -345,11 +345,11 @@ protected void updateSessionLastAccessTime(ServletRequest request, ServletRespon
* the incoming {@code ServletRequest} for use during Shiro's processing
* - {@link #prepareServletResponse(ServletRequest, ServletResponse, FilterChain) Prepares}
* the outgoing {@code ServletResponse} for use during Shiro's processing
- * - {@link #createSubject(javax.servlet.ServletRequest, javax.servlet.ServletResponse) Creates} a
+ *
- {@link #createSubject(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse) Creates} a
* {@link Subject} instance based on the specified request/response pair.
* - Finally {@link Subject#execute(Runnable) executes} the
- * {@link #updateSessionLastAccessTime(javax.servlet.ServletRequest, javax.servlet.ServletResponse)} and
- * {@link #executeChain(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)}
+ * {@link #updateSessionLastAccessTime(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse)} and
+ * {@link #executeChain(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse, jakarta.servlet.FilterChain)}
* methods
*
*
@@ -360,7 +360,7 @@ protected void updateSessionLastAccessTime(ServletRequest request, ServletRespon
* @param servletResponse the outgoing {@code ServletResponse}
* @param chain the container-provided {@code FilterChain} to execute
* @throws IOException if an IO error occurs
- * @throws javax.servlet.ServletException if a Throwable other than an IOException
+ * @throws jakarta.servlet.ServletException if a Throwable other than an IOException
*/
protected void doFilterInternal(ServletRequest servletRequest, ServletResponse servletResponse, final FilterChain chain)
throws ServletException, IOException {
@@ -440,11 +440,10 @@ protected FilterChain getExecutionChain(ServletRequest request, ServletResponse
* Executes a {@link FilterChain} for the given request.
*
* This implementation first delegates to
- * {@link #getExecutionChain(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
- * getExecutionChain}
- * to allow the application's Shiro configuration to determine exactly how the chain should execute. The resulting
- * value from that call is then executed directly by calling the returned {@code FilterChain}'s
- * {@link FilterChain#doFilter doFilter} method. That is:
+ * {@link #getExecutionChain(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse,
+ * jakarta.servlet.FilterChain) getExecutionChain}
to allow the application's Shiro configuration to determine exactly
+ * how the chain should execute. The resulting value from that call is then executed directly by calling the returned
+ * {@code FilterChain}'s {@link FilterChain#doFilter doFilter} method. That is:
*
* FilterChain chain = {@link #getExecutionChain}(request, response, origChain);
* chain.{@link FilterChain#doFilter doFilter}(request,response);
diff --git a/web/src/main/java/org/apache/shiro/web/servlet/AdviceFilter.java b/web/src/main/java/org/apache/shiro/web/servlet/AdviceFilter.java
index 0f7e6b509f..1d00d73dda 100644
--- a/web/src/main/java/org/apache/shiro/web/servlet/AdviceFilter.java
+++ b/web/src/main/java/org/apache/shiro/web/servlet/AdviceFilter.java
@@ -21,17 +21,17 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.servlet.FilterChain;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
import java.io.IOException;
/**
* A Servlet Filter that enables AOP-style "around" advice for a ServletRequest via
- * {@link #preHandle(javax.servlet.ServletRequest, javax.servlet.ServletResponse) preHandle},
- * {@link #postHandle(javax.servlet.ServletRequest, javax.servlet.ServletResponse) postHandle},
- * and {@link #afterCompletion(javax.servlet.ServletRequest, javax.servlet.ServletResponse, Exception) afterCompletion}
+ * {@link #preHandle(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse) preHandle},
+ * {@link #postHandle(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse) postHandle},
+ * and {@link #afterCompletion(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse, Exception) afterCompletion}
* hooks.
*
* @since 0.9
@@ -62,7 +62,7 @@ protected boolean preHandle(ServletRequest request, ServletResponse response) th
* Allows 'post' advice logic to be called, but only if no exception occurs during filter chain execution. That
* is, if {@link #executeChain executeChain} throws an exception, this method will never be called. Be aware of
* this when implementing logic. Most resource 'cleanup' behavior is often done in the
- * {@link #afterCompletion(javax.servlet.ServletRequest, javax.servlet.ServletResponse, Exception)
+ * {@link #afterCompletion(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse, Exception)
* afterCompletion(request,response,exception)}
* implementation, which is guaranteed to be called for every request, even when the chain processing throws
* an Exception.
@@ -111,9 +111,9 @@ protected void executeChain(ServletRequest request, ServletResponse response, Fi
/**
* Actually implements the chain execution logic, utilizing
- * {@link #preHandle(javax.servlet.ServletRequest, javax.servlet.ServletResponse) pre},
- * {@link #postHandle(javax.servlet.ServletRequest, javax.servlet.ServletResponse) post}, and
- * {@link #afterCompletion(javax.servlet.ServletRequest, javax.servlet.ServletResponse, Exception) after}
+ * {@link #preHandle(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse) pre},
+ * {@link #postHandle(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse) post}, and
+ * {@link #afterCompletion(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse, Exception) after}
* advice hooks.
*
* @param request the incoming ServletRequest
@@ -152,12 +152,12 @@ public void doFilterInternal(ServletRequest request, ServletResponse response, F
/**
* Executes cleanup logic in the {@code finally} code block in the
- * {@link #doFilterInternal(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
+ * {@link #doFilterInternal(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse, jakarta.servlet.FilterChain)
* doFilterInternal(request, response, filterChain)}
* implementation.
*
* This implementation specifically calls
- * {@link #afterCompletion(javax.servlet.ServletRequest, javax.servlet.ServletResponse, Exception) afterCompletion}
+ * {@link #afterCompletion(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse, Exception) afterCompletion}
* as well as handles any exceptions properly.
*
* @param request the incoming {@code ServletRequest}
diff --git a/web/src/main/java/org/apache/shiro/web/servlet/Cookie.java b/web/src/main/java/org/apache/shiro/web/servlet/Cookie.java
index 8a333e3562..17c710e424 100644
--- a/web/src/main/java/org/apache/shiro/web/servlet/Cookie.java
+++ b/web/src/main/java/org/apache/shiro/web/servlet/Cookie.java
@@ -18,8 +18,8 @@
*/
package org.apache.shiro.web.servlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
/**
* Interface representing HTTP cookie operations, supporting pojo-style getters and setters for all
diff --git a/web/src/main/java/org/apache/shiro/web/servlet/HttpSessionContext.java b/web/src/main/java/org/apache/shiro/web/servlet/HttpSessionContext.java
deleted file mode 100644
index 6942b7a28e..0000000000
--- a/web/src/main/java/org/apache/shiro/web/servlet/HttpSessionContext.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on 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.apache.shiro.web.servlet;
-
-/**
- * Shim for interface that no longer exists in Jakarta EE,
- * but still exists in Java EE
- */
-@Deprecated
-public interface HttpSessionContext {
-
-}
diff --git a/web/src/main/java/org/apache/shiro/web/servlet/IniShiroFilter.java b/web/src/main/java/org/apache/shiro/web/servlet/IniShiroFilter.java
index 83bd90e179..98082b244c 100644
--- a/web/src/main/java/org/apache/shiro/web/servlet/IniShiroFilter.java
+++ b/web/src/main/java/org/apache/shiro/web/servlet/IniShiroFilter.java
@@ -74,7 +74,7 @@
* </filter>
*
* Unqualified (schemeless or 'non-prefixed') paths are assumed to be {@code ServletContext} resource paths, resolvable
- * via {@link javax.servlet.ServletContext#getResourceAsStream(String) ServletContext#getResourceAsStream}.
+ * via {@link jakarta.servlet.ServletContext#getResourceAsStream(String) ServletContext#getResourceAsStream}.
*
* Non-ServletContext resources may be loaded from qualified locations by specifying prefixes indicating the source,
* e.g. {@code file:}, {@code url:}, and {@code classpath:}. See the
@@ -337,7 +337,7 @@ protected Ini getServletContextIniResource(String servletContextPath) {
*
* If the path does not have a resource prefix as defined by {@link ResourceUtils#hasResourcePrefix(String)}, the
* path is expected to be resolvable by the {@code ServletContext} via
- * {@link javax.servlet.ServletContext#getResourceAsStream(String)}.
+ * {@link jakarta.servlet.ServletContext#getResourceAsStream(String)}.
*
* @param path the path of the INI resource to load into an INI instance.
* @return an INI instance populated based on the given INI resource path.
diff --git a/web/src/main/java/org/apache/shiro/web/servlet/NameableFilter.java b/web/src/main/java/org/apache/shiro/web/servlet/NameableFilter.java
index c8d503c2e1..daa5548db3 100644
--- a/web/src/main/java/org/apache/shiro/web/servlet/NameableFilter.java
+++ b/web/src/main/java/org/apache/shiro/web/servlet/NameableFilter.java
@@ -20,13 +20,13 @@
import org.apache.shiro.lang.util.Nameable;
-import javax.servlet.FilterConfig;
+import jakarta.servlet.FilterConfig;
/**
* Allows a filter to be named via JavaBeans-compatible
* {@link #getName()}/{@link #setName(String)} methods. If no name is specified, the name of the filter will
* default to the name given to it in {@code web.xml} (the {@code FilterConfig}'s
- * {@link javax.servlet.FilterConfig#getFilterName() filterName}).
+ * {@link jakarta.servlet.FilterConfig#getFilterName() filterName}).
*
* @since 1.0
*/
@@ -46,8 +46,8 @@ public abstract class NameableFilter extends AbstractFilter implements Nameable
* this.name = {@link #getFilterConfig() getFilterConfig()}.{@link FilterConfig#getFilterName() getName()};
*
* @return the filter name, or {@code null} if none available
- * @see javax.servlet.GenericServlet#getServletName()
- * @see javax.servlet.FilterConfig#getFilterName()
+ * @see jakarta.servlet.GenericServlet#getServletName()
+ * @see jakarta.servlet.FilterConfig#getFilterName()
*/
protected String getName() {
if (this.name == null) {
@@ -67,7 +67,7 @@ protected String getName() {
* servlet container at start-up:
*
* this.name = {@link #getFilterConfig() getFilterConfig()}.
- * {@link javax.servlet.FilterConfig#getFilterName() getName()};
+ * {@link jakarta.servlet.FilterConfig#getFilterName() getName()};
*
* @param name the name of the filter.
*/
diff --git a/web/src/main/java/org/apache/shiro/web/servlet/OncePerRequestFilter.java b/web/src/main/java/org/apache/shiro/web/servlet/OncePerRequestFilter.java
index fadfb4d532..59291f31ee 100644
--- a/web/src/main/java/org/apache/shiro/web/servlet/OncePerRequestFilter.java
+++ b/web/src/main/java/org/apache/shiro/web/servlet/OncePerRequestFilter.java
@@ -21,10 +21,10 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.servlet.FilterChain;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
import java.io.IOException;
/**
@@ -36,7 +36,7 @@
* to identify that a request is already filtered. The default implementation
* is based on the configured name of the concrete filter instance.
* Controlling filter execution
- * 1.2 introduced the {@link #isEnabled(javax.servlet.ServletRequest, javax.servlet.ServletResponse)} method and
+ * 1.2 introduced the {@link #isEnabled(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse)} method and
* {@link #isEnabled()} property to allow explicit control over whether the filter executes (or allows passthrough)
* for any given request.
*
@@ -68,7 +68,7 @@ public abstract class OncePerRequestFilter extends NameableFilter {
/**
* Determines if the filter's once per request functionality is enabled, defaults to false. It is recommended
- * to leave this disabled if you are using a {@link javax.servlet.RequestDispatcher RequestDispatcher} to forward
+ * to leave this disabled if you are using a {@link jakarta.servlet.RequestDispatcher RequestDispatcher} to forward
* or include request (JSP tags, programmatically, or via a framework).
*/
private boolean filterOncePerRequest;
@@ -81,7 +81,7 @@ public abstract class OncePerRequestFilter extends NameableFilter {
*
* * This configuration property is for general configuration for any request that comes through
* the filter. The
- * {@link #isEnabled(javax.servlet.ServletRequest, javax.servlet.ServletResponse) isEnabled(request,response)}
+ * {@link #isEnabled(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse) isEnabled(request,response)}
* method actually determines whether or not if the filter is enabled based on the current request.
*
* @return {@code true} if this filter should generally execute, {@code false} if it should let the
@@ -116,7 +116,7 @@ public boolean isFilterOncePerRequest() {
/**
* Sets whether this filter executes once per request or for every invocation of the filter. It is recommended
- * to leave this disabled if you are using a {@link javax.servlet.RequestDispatcher RequestDispatcher} to forward
+ * to leave this disabled if you are using a {@link jakarta.servlet.RequestDispatcher RequestDispatcher} to forward
* or include request (JSP tags, programmatically, or via a framework).
*
* @param filterOncePerRequest Whether this filter executes once per request.
@@ -214,7 +214,7 @@ protected String getAlreadyFilteredAttributeName() {
* @param request current HTTP request
* @return whether the given request should not be filtered
* @throws ServletException in case of errors
- * @deprecated in favor of overriding {@link #isEnabled(javax.servlet.ServletRequest, javax.servlet.ServletResponse)}
+ * @deprecated in favor of overriding {@link #isEnabled(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse)}
* for custom behavior. This method will be removed in Shiro 2.0.
*/
@Deprecated
@@ -226,7 +226,7 @@ protected boolean shouldNotFilter(ServletRequest request) throws ServletExceptio
/**
* Same contract as for
- * {@link #doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)},
+ * {@link #doFilter(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse, jakarta.servlet.FilterChain)},
* but guaranteed to be invoked only once per request.
*
* @param request incoming {@code ServletRequest}
diff --git a/web/src/main/java/org/apache/shiro/web/servlet/ProxiedFilterChain.java b/web/src/main/java/org/apache/shiro/web/servlet/ProxiedFilterChain.java
index 15590ee943..237c731d01 100644
--- a/web/src/main/java/org/apache/shiro/web/servlet/ProxiedFilterChain.java
+++ b/web/src/main/java/org/apache/shiro/web/servlet/ProxiedFilterChain.java
@@ -21,11 +21,11 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
+import jakarta.servlet.Filter;
+import jakarta.servlet.FilterChain;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletRequest;
+import jakarta.servlet.ServletResponse;
import java.io.IOException;
import java.util.List;
diff --git a/web/src/main/java/org/apache/shiro/web/servlet/ServletContextSupport.java b/web/src/main/java/org/apache/shiro/web/servlet/ServletContextSupport.java
index 652620b98c..e6f09eeaed 100644
--- a/web/src/main/java/org/apache/shiro/web/servlet/ServletContextSupport.java
+++ b/web/src/main/java/org/apache/shiro/web/servlet/ServletContextSupport.java
@@ -18,7 +18,7 @@
*/
package org.apache.shiro.web.servlet;
-import javax.servlet.ServletContext;
+import jakarta.servlet.ServletContext;
/**
* Base implementation for any components that need to access the web application's {@link ServletContext ServletContext}.
diff --git a/web/src/main/java/org/apache/shiro/web/servlet/ShiroHttpServletRequest.java b/web/src/main/java/org/apache/shiro/web/servlet/ShiroHttpServletRequest.java
index 664014f576..9239a91c00 100644
--- a/web/src/main/java/org/apache/shiro/web/servlet/ShiroHttpServletRequest.java
+++ b/web/src/main/java/org/apache/shiro/web/servlet/ShiroHttpServletRequest.java
@@ -24,10 +24,10 @@
import org.apache.shiro.subject.support.DisabledSessionException;
import org.apache.shiro.web.util.WebUtils;
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletRequestWrapper;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequestWrapper;
+import jakarta.servlet.http.HttpSession;
import java.security.Principal;
diff --git a/web/src/main/java/org/apache/shiro/web/servlet/ShiroHttpServletResponse.java b/web/src/main/java/org/apache/shiro/web/servlet/ShiroHttpServletResponse.java
index 9b16b51a72..e645f7b360 100644
--- a/web/src/main/java/org/apache/shiro/web/servlet/ShiroHttpServletResponse.java
+++ b/web/src/main/java/org/apache/shiro/web/servlet/ShiroHttpServletResponse.java
@@ -18,11 +18,11 @@
*/
package org.apache.shiro.web.servlet;
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpServletResponseWrapper;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletResponseWrapper;
+import jakarta.servlet.http.HttpSession;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
diff --git a/web/src/main/java/org/apache/shiro/web/servlet/ShiroHttpSession.java b/web/src/main/java/org/apache/shiro/web/servlet/ShiroHttpSession.java
index 3223eb4b0b..8e068357cc 100644
--- a/web/src/main/java/org/apache/shiro/web/servlet/ShiroHttpSession.java
+++ b/web/src/main/java/org/apache/shiro/web/servlet/ShiroHttpSession.java
@@ -22,11 +22,11 @@
import org.apache.shiro.session.Session;
import org.apache.shiro.web.session.HttpServletSession;
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
-import javax.servlet.http.HttpSessionBindingEvent;
-import javax.servlet.http.HttpSessionBindingListener;
+import jakarta.servlet.ServletContext;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpSession;
+import jakarta.servlet.http.HttpSessionBindingEvent;
+import jakarta.servlet.http.HttpSessionBindingListener;
import java.util.Collection;
import java.util.Enumeration;
import java.util.HashSet;
@@ -49,28 +49,6 @@ public class ShiroHttpSession implements HttpSession {
*/
public static final String DEFAULT_SESSION_ID_NAME = "JSESSIONID";
- private static final Enumeration EMPTY_ENUMERATION = new Enumeration<>() {
- public boolean hasMoreElements() {
- return false;
- }
-
- public String nextElement() {
- return null;
- }
- };
-
- @SuppressWarnings({"deprecation"})
- private static final javax.servlet.http.HttpSessionContext HTTP_SESSION_CONTEXT =
- new javax.servlet.http.HttpSessionContext() {
- public HttpSession getSession(String s) {
- return null;
- }
-
- public Enumeration getIds() {
- return EMPTY_ENUMERATION;
- }
- };
-
protected ServletContext servletContext;
protected HttpServletRequest currentRequest;
//'real' Shiro Session
@@ -127,11 +105,6 @@ public int getMaxInactiveInterval() {
}
}
- @SuppressWarnings({"deprecation"})
- public javax.servlet.http.HttpSessionContext getSessionContext() {
- return HTTP_SESSION_CONTEXT;
- }
-
public Object getAttribute(String s) {
try {
return getSession().getAttribute(s);
@@ -140,12 +113,6 @@ public Object getAttribute(String s) {
}
}
- @Deprecated
- @Override
- public Object getValue(String s) {
- return getAttribute(s);
- }
-
protected Set getKeyNames() {
Collection