diff --git a/core/src/main/java/com/opensymphony/xwork2/interceptor/Interceptor.java b/core/src/main/java/com/opensymphony/xwork2/interceptor/Interceptor.java
index cafa08fc0..eb7f6850e 100644
--- a/core/src/main/java/com/opensymphony/xwork2/interceptor/Interceptor.java
+++ b/core/src/main/java/com/opensymphony/xwork2/interceptor/Interceptor.java
@@ -27,7 +27,7 @@ import java.io.Serializable;
*
*
* An interceptor is a stateless class that follows the interceptor pattern, as
- * found in {@link javax.servlet.Filter} and in AOP languages.
+ * found in {@link jakarta.servlet.Filter} and in AOP languages.
*
*
*
diff --git a/core/src/main/java/org/apache/struts2/RequestUtils.java b/core/src/main/java/org/apache/struts2/RequestUtils.java
index fecd46197..fbba36cae 100644
--- a/core/src/main/java/org/apache/struts2/RequestUtils.java
+++ b/core/src/main/java/org/apache/struts2/RequestUtils.java
@@ -89,7 +89,7 @@ public class RequestUtils {
*/
public static String getUri(HttpServletRequest request) {
// handle http dispatcher includes.
- String uri = (String) request.getAttribute("javax.servlet.include.servlet_path");
+ String uri = (String) request.getAttribute("jakarta.servlet.include.servlet_path");
if (uri != null) {
return uri;
}
diff --git a/core/src/main/java/org/apache/struts2/StrutsStatics.java b/core/src/main/java/org/apache/struts2/StrutsStatics.java
index da03f8f51..a7c8eecf2 100644
--- a/core/src/main/java/org/apache/struts2/StrutsStatics.java
+++ b/core/src/main/java/org/apache/struts2/StrutsStatics.java
@@ -39,17 +39,17 @@ public interface StrutsStatics {
String HTTP_RESPONSE = "com.opensymphony.xwork2.dispatcher.HttpServletResponse";
/**
- * Constant for an HTTP {@link javax.servlet.RequestDispatcher request dispatcher}.
+ * Constant for an HTTP {@link jakarta.servlet.RequestDispatcher request dispatcher}.
*/
String SERVLET_DISPATCHER = "com.opensymphony.xwork2.dispatcher.ServletDispatcher";
/**
- * Constant for the {@link javax.servlet.ServletContext servlet context} object.
+ * Constant for the {@link jakarta.servlet.ServletContext servlet context} object.
*/
String SERVLET_CONTEXT = "com.opensymphony.xwork2.dispatcher.ServletContext";
/**
- * Constant for the JSP {@link javax.servlet.jsp.PageContext page context}.
+ * Constant for the JSP {@link jakarta.servlet.jsp.PageContext page context}.
*/
String PAGE_CONTEXT = "com.opensymphony.xwork2.dispatcher.PageContext";
diff --git a/core/src/main/java/org/apache/struts2/components/Include.java b/core/src/main/java/org/apache/struts2/components/Include.java
index 27d1ef9ff..857a50004 100644
--- a/core/src/main/java/org/apache/struts2/components/Include.java
+++ b/core/src/main/java/org/apache/struts2/components/Include.java
@@ -190,7 +190,7 @@ public class Include extends Component {
returnValue = relativePath;
} else {
HttpServletRequest hrequest = (HttpServletRequest) request;
- String uri = (String) request.getAttribute("javax.servlet.include.servlet_path");
+ String uri = (String) request.getAttribute("jakarta.servlet.include.servlet_path");
if (uri == null) {
uri = RequestUtils.getServletPath(hrequest);
@@ -248,7 +248,7 @@ public class Include extends Component {
/**
* Include a resource in a response.
*
- * @param relativePath the relative path of the resource to include; resolves to {@link #getContextRelativePath(javax.servlet.ServletRequest,
+ * @param relativePath the relative path of the resource to include; resolves to {@link #getContextRelativePath(jakarta.servlet.ServletRequest,
* String)}
* @param writer the Writer to write output to
* @param request the current request
diff --git a/core/src/main/java/org/apache/struts2/components/ServletUrlRenderer.java b/core/src/main/java/org/apache/struts2/components/ServletUrlRenderer.java
index 853c0a389..23b3b8f3b 100644
--- a/core/src/main/java/org/apache/struts2/components/ServletUrlRenderer.java
+++ b/core/src/main/java/org/apache/struts2/components/ServletUrlRenderer.java
@@ -302,7 +302,7 @@ public class ServletUrlRenderer implements UrlRenderer {
// Parse the query string to make sure that the parameters come from the query, and not some posted data
String query = urlComponent.getHttpServletRequest().getQueryString();
if (query == null) {
- query = (String) urlComponent.getHttpServletRequest().getAttribute("javax.servlet.forward.query_string");
+ query = (String) urlComponent.getHttpServletRequest().getAttribute("jakarta.servlet.forward.query_string");
}
if (query != null) {
diff --git a/core/src/main/java/org/apache/struts2/components/template/FreemarkerTemplateEngine.java b/core/src/main/java/org/apache/struts2/components/template/FreemarkerTemplateEngine.java
index d4e1988be..2e82ed637 100644
--- a/core/src/main/java/org/apache/struts2/components/template/FreemarkerTemplateEngine.java
+++ b/core/src/main/java/org/apache/struts2/components/template/FreemarkerTemplateEngine.java
@@ -48,7 +48,7 @@ public class FreemarkerTemplateEngine extends BaseTemplateEngine {
static {
try {
- bodyContent = ClassLoaderUtil.loadClass("javax.servlet.jsp.tagext.BodyContent",
+ bodyContent = ClassLoaderUtil.loadClass("jakarta.servlet.jsp.tagext.BodyContent",
FreemarkerTemplateEngine.class);
} catch (ClassNotFoundException e) {
// this is OK -- this just means JSP isn't even being used here, which is perfectly fine.
diff --git a/core/src/main/java/org/apache/struts2/dispatcher/ApplicationMap.java b/core/src/main/java/org/apache/struts2/dispatcher/ApplicationMap.java
index 29977aa93..de912c988 100644
--- a/core/src/main/java/org/apache/struts2/dispatcher/ApplicationMap.java
+++ b/core/src/main/java/org/apache/struts2/dispatcher/ApplicationMap.java
@@ -28,7 +28,7 @@ import jakarta.servlet.ServletContext;
/**
* A simple implementation of the {@link java.util.Map} interface to handle a collection of attributes and
- * init parameters in a {@link javax.servlet.ServletContext} object. The {@link #entrySet()} method
+ * init parameters in a {@link jakarta.servlet.ServletContext} object. The {@link #entrySet()} method
* enumerates over all servlet context attributes and init parameters and returns a collection of both.
* Note, this will occur lazily - only when the entry set is asked for.
*/
diff --git a/core/src/main/java/org/apache/struts2/dispatcher/DefaultDispatcherErrorHandler.java b/core/src/main/java/org/apache/struts2/dispatcher/DefaultDispatcherErrorHandler.java
index 4fc110664..2c3248636 100644
--- a/core/src/main/java/org/apache/struts2/dispatcher/DefaultDispatcherErrorHandler.java
+++ b/core/src/main/java/org/apache/struts2/dispatcher/DefaultDispatcherErrorHandler.java
@@ -41,7 +41,7 @@ import java.util.List;
/**
* Default implementation of {@link org.apache.struts2.dispatcher.DispatcherErrorHandler}
- * which sends Error Report in devMode or {@link javax.servlet.http.HttpServletResponse#sendError} otherwise.
+ * which sends Error Report in devMode or {@link jakarta.servlet.http.HttpServletResponse#sendError} otherwise.
*/
public class DefaultDispatcherErrorHandler implements DispatcherErrorHandler {
@@ -87,10 +87,10 @@ public class DefaultDispatcherErrorHandler implements DispatcherErrorHandler {
LOG.error("Exception occurred during processing request: {}", e.getMessage(), e);
// send a http error response to use the servlet defined error handler
// make the exception available to the web.xml defined error page
- request.setAttribute("javax.servlet.error.exception", e);
+ request.setAttribute("jakarta.servlet.error.exception", e);
// for compatibility
- request.setAttribute("javax.servlet.jsp.jspException", e);
+ request.setAttribute("jakarta.servlet.jsp.jspException", e);
}
// send the error response
diff --git a/core/src/main/java/org/apache/struts2/dispatcher/DefaultStaticContentLoader.java b/core/src/main/java/org/apache/struts2/dispatcher/DefaultStaticContentLoader.java
index 55f9e096c..ad592a366 100644
--- a/core/src/main/java/org/apache/struts2/dispatcher/DefaultStaticContentLoader.java
+++ b/core/src/main/java/org/apache/struts2/dispatcher/DefaultStaticContentLoader.java
@@ -151,7 +151,7 @@ public class DefaultStaticContentLoader implements StaticContentLoader {
/*
* (non-Javadoc)
*
- * @see org.apache.struts2.dispatcher.StaticResourceLoader#setHostConfig(javax.servlet.FilterConfig)
+ * @see org.apache.struts2.dispatcher.StaticResourceLoader#setHostConfig(jakarta.servlet.FilterConfig)
*/
public void setHostConfig(HostConfig filterConfig) {
String param = filterConfig.getInitParameter("packages");
@@ -203,8 +203,8 @@ public class DefaultStaticContentLoader implements StaticContentLoader {
* (non-Javadoc)
*
* @see org.apache.struts2.dispatcher.StaticResourceLoader#findStaticResource(java.lang.String,
- * javax.servlet.http.HttpServletRequest,
- * javax.servlet.http.HttpServletResponse)
+ * jakarta.servlet.http.HttpServletRequest,
+ * jakarta.servlet.http.HttpServletResponse)
*/
public void findStaticResource(String path, HttpServletRequest request, HttpServletResponse response)
throws IOException {
diff --git a/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java b/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
index e1ef230f7..227f31e13 100644
--- a/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
+++ b/core/src/main/java/org/apache/struts2/dispatcher/Dispatcher.java
@@ -826,8 +826,8 @@ public class Dispatcher {
String saveDir = multipartSaveDir.trim();
if (saveDir.equals("")) {
- File tempdir = (File) servletContext.getAttribute("javax.servlet.context.tempdir");
- LOG.info("Unable to find 'struts.multipart.saveDir' property setting. Defaulting to javax.servlet.context.tempdir");
+ File tempdir = (File) servletContext.getAttribute("jakarta.servlet.context.tempdir");
+ LOG.info("Unable to find 'struts.multipart.saveDir' property setting. Defaulting to jakarta.servlet.context.tempdir");
if (tempdir != null) {
saveDir = tempdir.toString();
@@ -1022,7 +1022,7 @@ public class Dispatcher {
*
* @param request the HttpServletRequest object.
* @param response the HttpServletResponse object.
- * @param code the HttpServletResponse error code (see {@link javax.servlet.http.HttpServletResponse} for possible error codes).
+ * @param code the HttpServletResponse error code (see {@link jakarta.servlet.http.HttpServletResponse} for possible error codes).
* @param e the Exception that is reported.
* @since 2.3.17
*/
diff --git a/core/src/main/java/org/apache/struts2/dispatcher/DispatcherErrorHandler.java b/core/src/main/java/org/apache/struts2/dispatcher/DispatcherErrorHandler.java
index a7837bde4..fe3ec6673 100644
--- a/core/src/main/java/org/apache/struts2/dispatcher/DispatcherErrorHandler.java
+++ b/core/src/main/java/org/apache/struts2/dispatcher/DispatcherErrorHandler.java
@@ -30,16 +30,16 @@ public interface DispatcherErrorHandler {
/**
* Init instance after creating {@link org.apache.struts2.dispatcher.Dispatcher}
- * @param ctx current {@link javax.servlet.ServletContext}
+ * @param ctx current {@link jakarta.servlet.ServletContext}
*/
public void init(ServletContext ctx);
/**
* Handle passed error code or exception
*
- * @param request current {@link javax.servlet.http.HttpServletRequest}
- * @param response current {@link javax.servlet.http.HttpServletResponse}
- * @param code HTTP Error Code, see {@link javax.servlet.http.HttpServletResponse} for possible error codes
+ * @param request current {@link jakarta.servlet.http.HttpServletRequest}
+ * @param response current {@link jakarta.servlet.http.HttpServletResponse}
+ * @param code HTTP Error Code, see {@link jakarta.servlet.http.HttpServletResponse} for possible error codes
* @param e Exception to report
*/
public void handleError(HttpServletRequest request, HttpServletResponse response, int code, Exception e);
diff --git a/core/src/main/java/org/apache/struts2/dispatcher/PrepareOperations.java b/core/src/main/java/org/apache/struts2/dispatcher/PrepareOperations.java
index 47ad8e84e..88352b0ad 100644
--- a/core/src/main/java/org/apache/struts2/dispatcher/PrepareOperations.java
+++ b/core/src/main/java/org/apache/struts2/dispatcher/PrepareOperations.java
@@ -264,7 +264,7 @@ public class PrepareOperations {
/**
* Clear any override of the static devMode value being applied to the current thread.
* This can be useful for any situation where {@link #overrideDevMode(boolean)} might be called
- * in a flow where {@link #cleanupRequest(javax.servlet.http.HttpServletRequest)} does not get called.
+ * in a flow where {@link #cleanupRequest(jakarta.servlet.http.HttpServletRequest)} does not get called.
* May be very situational (such as some unit tests), but may have other utility as well.
*/
public static void clearDevModeOverride() {
diff --git a/core/src/main/java/org/apache/struts2/dispatcher/StrutsRequestWrapper.java b/core/src/main/java/org/apache/struts2/dispatcher/StrutsRequestWrapper.java
index ebb4145a2..69033dd9c 100644
--- a/core/src/main/java/org/apache/struts2/dispatcher/StrutsRequestWrapper.java
+++ b/core/src/main/java/org/apache/struts2/dispatcher/StrutsRequestWrapper.java
@@ -71,8 +71,8 @@ public class StrutsRequestWrapper extends HttpServletRequestWrapper {
throw new NullPointerException("You must specify a key value");
}
- if (disableRequestAttributeValueStackLookup || key.startsWith("javax.servlet")) {
- // don't bother with the standard javax.servlet attributes, we can short-circuit this
+ if (disableRequestAttributeValueStackLookup || key.startsWith("jakarta.servlet")) {
+ // don't bother with the standard jakarta.servlet attributes, we can short-circuit this
// see WW-953 and the forums post linked in that issue for more info
return super.getAttribute(key);
}
diff --git a/core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java b/core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java
index 00c808549..c9af90fb8 100644
--- a/core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java
+++ b/core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java
@@ -273,7 +273,7 @@ public class DefaultActionMapper implements ActionMapper {
/*
* (non-Javadoc)
*
- * @see org.apache.struts2.dispatcher.mapper.ActionMapper#getMapping(javax.servlet.http.HttpServletRequest)
+ * @see org.apache.struts2.dispatcher.mapper.ActionMapper#getMapping(jakarta.servlet.http.HttpServletRequest)
*/
public ActionMapping getMapping(HttpServletRequest request, ConfigurationManager configManager) {
ActionMapping mapping = new ActionMapping();
diff --git a/core/src/main/java/org/apache/struts2/dispatcher/mapper/Restful2ActionMapper.java b/core/src/main/java/org/apache/struts2/dispatcher/mapper/Restful2ActionMapper.java
index 29c2ff4b4..93e8884b7 100644
--- a/core/src/main/java/org/apache/struts2/dispatcher/mapper/Restful2ActionMapper.java
+++ b/core/src/main/java/org/apache/struts2/dispatcher/mapper/Restful2ActionMapper.java
@@ -55,7 +55,7 @@ public class Restful2ActionMapper extends DefaultActionMapper {
/*
* (non-Javadoc)
*
- * @see org.apache.struts2.dispatcher.mapper.ActionMapper#getMapping(javax.servlet.http.HttpServletRequest)
+ * @see org.apache.struts2.dispatcher.mapper.ActionMapper#getMapping(jakarta.servlet.http.HttpServletRequest)
*/
public ActionMapping getMapping(HttpServletRequest request, ConfigurationManager configManager) {
if (!isSlashesInActionNames()) {
diff --git a/core/src/main/java/org/apache/struts2/dispatcher/mapper/RestfulActionMapper.java b/core/src/main/java/org/apache/struts2/dispatcher/mapper/RestfulActionMapper.java
index 9bbe34af2..735b966ff 100644
--- a/core/src/main/java/org/apache/struts2/dispatcher/mapper/RestfulActionMapper.java
+++ b/core/src/main/java/org/apache/struts2/dispatcher/mapper/RestfulActionMapper.java
@@ -47,7 +47,7 @@ public class RestfulActionMapper implements ActionMapper {
}
/* (non-Javadoc)
- * @see org.apache.struts2.dispatcher.mapper.ActionMapper#getMapping(javax.servlet.http.HttpServletRequest)
+ * @see org.apache.struts2.dispatcher.mapper.ActionMapper#getMapping(jakarta.servlet.http.HttpServletRequest)
*/
public ActionMapping getMapping(HttpServletRequest request, ConfigurationManager configManager) {
String uri = RequestUtils.getServletPath(request);
diff --git a/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaStreamMultiPartRequest.java b/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaStreamMultiPartRequest.java
index 0b31ac124..5737f1397 100644
--- a/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaStreamMultiPartRequest.java
+++ b/core/src/main/java/org/apache/struts2/dispatcher/multipart/JakartaStreamMultiPartRequest.java
@@ -188,7 +188,7 @@ public class JakartaStreamMultiPartRequest extends AbstractMultiPartRequest {
}
/* (non-Javadoc)
- * @see org.apache.struts2.dispatcher.multipart.MultiPartRequest#parse(javax.servlet.http.HttpServletRequest, java.lang.String)
+ * @see org.apache.struts2.dispatcher.multipart.MultiPartRequest#parse(jakarta.servlet.http.HttpServletRequest, java.lang.String)
*/
public void parse(HttpServletRequest request, String saveDir) throws IOException {
try {
diff --git a/core/src/main/java/org/apache/struts2/dispatcher/multipart/MultiPartRequestWrapper.java b/core/src/main/java/org/apache/struts2/dispatcher/multipart/MultiPartRequestWrapper.java
index ebc861f4e..32778cd5f 100644
--- a/core/src/main/java/org/apache/struts2/dispatcher/multipart/MultiPartRequestWrapper.java
+++ b/core/src/main/java/org/apache/struts2/dispatcher/multipart/MultiPartRequestWrapper.java
@@ -176,14 +176,14 @@ public class MultiPartRequestWrapper extends StrutsRequestWrapper {
}
/**
- * @see javax.servlet.http.HttpServletRequest#getParameter(String)
+ * @see jakarta.servlet.http.HttpServletRequest#getParameter(String)
*/
public String getParameter(String name) {
return ((multi == null) || (multi.getParameter(name) == null)) ? super.getParameter(name) : multi.getParameter(name);
}
/**
- * @see javax.servlet.http.HttpServletRequest#getParameterMap()
+ * @see jakarta.servlet.http.HttpServletRequest#getParameterMap()
*/
public Map getParameterMap() {
Map map = new HashMap<>();
@@ -198,7 +198,7 @@ public class MultiPartRequestWrapper extends StrutsRequestWrapper {
}
/**
- * @see javax.servlet.http.HttpServletRequest#getParameterNames()
+ * @see jakarta.servlet.http.HttpServletRequest#getParameterNames()
*/
public Enumeration getParameterNames() {
if (multi == null) {
@@ -209,7 +209,7 @@ public class MultiPartRequestWrapper extends StrutsRequestWrapper {
}
/**
- * @see javax.servlet.http.HttpServletRequest#getParameterValues(String)
+ * @see jakarta.servlet.http.HttpServletRequest#getParameterValues(String)
*/
public String[] getParameterValues(String name) {
return ((multi == null) || (multi.getParameterValues(name) == null)) ? super.getParameterValues(name) : multi.getParameterValues(name);
diff --git a/core/src/main/java/org/apache/struts2/interceptor/httpmethod/HttpMethodAware.java b/core/src/main/java/org/apache/struts2/interceptor/httpmethod/HttpMethodAware.java
index 95f3bd106..642f40267 100644
--- a/core/src/main/java/org/apache/struts2/interceptor/httpmethod/HttpMethodAware.java
+++ b/core/src/main/java/org/apache/struts2/interceptor/httpmethod/HttpMethodAware.java
@@ -33,7 +33,7 @@ public interface HttpMethodAware {
/**
* Notifies action about http method used to perform request
*
- * @param httpMethod {@link javax.servlet.http.HttpServletRequest#getMethod()} translated to enum
+ * @param httpMethod {@link jakarta.servlet.http.HttpServletRequest#getMethod()} translated to enum
*/
void setMethod(HttpMethod httpMethod);
diff --git a/core/src/main/java/org/apache/struts2/result/HttpHeaderResult.java b/core/src/main/java/org/apache/struts2/result/HttpHeaderResult.java
index 0a7b3af39..5eaa8f09b 100644
--- a/core/src/main/java/org/apache/struts2/result/HttpHeaderResult.java
+++ b/core/src/main/java/org/apache/struts2/result/HttpHeaderResult.java
@@ -105,7 +105,7 @@ public class HttpHeaderResult implements Result {
* Sets the http servlet error code that should be set on the response
*
* @param error the Http error code
- * @see javax.servlet.http.HttpServletResponse#sendError(int)
+ * @see jakarta.servlet.http.HttpServletResponse#sendError(int)
*/
public void setError(String error) {
this.error = error;
@@ -115,7 +115,7 @@ public class HttpHeaderResult implements Result {
* Sets the error message that should be set on the reponse
*
* @param errorMessage error message send to the client
- * @see javax.servlet.http.HttpServletResponse#sendError(int, String)
+ * @see jakarta.servlet.http.HttpServletResponse#sendError(int, String)
*/
public void setErrorMessage(String errorMessage) {
this.errorMessage = errorMessage;
@@ -144,7 +144,7 @@ public class HttpHeaderResult implements Result {
* Sets the http servlet response status code that should be set on a response.
*
* @param status the Http status code
- * @see javax.servlet.http.HttpServletResponse#setStatus(int)
+ * @see jakarta.servlet.http.HttpServletResponse#setStatus(int)
*/
public void setStatus(int status) {
this.status = status;
diff --git a/core/src/main/java/org/apache/struts2/result/ServletDispatcherResult.java b/core/src/main/java/org/apache/struts2/result/ServletDispatcherResult.java
index 89506ab84..d28afeba9 100644
--- a/core/src/main/java/org/apache/struts2/result/ServletDispatcherResult.java
+++ b/core/src/main/java/org/apache/struts2/result/ServletDispatcherResult.java
@@ -54,11 +54,11 @@ import jakarta.servlet.jsp.PageContext;
* {@link PageContext#include(String) include} method is called.
*
* If there is no PageContext and we're not in any sort of include (there is no
- * "javax.servlet.include.servlet_path" in the request attributes), then a call to
- * {@link RequestDispatcher#forward(javax.servlet.ServletRequest, javax.servlet.ServletResponse) forward}
+ * "jakarta.servlet.include.servlet_path" in the request attributes), then a call to
+ * {@link RequestDispatcher#forward(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse) forward}
* is made.
*
- * Otherwise, {@link RequestDispatcher#include(javax.servlet.ServletRequest, javax.servlet.ServletResponse) include}
+ * Otherwise, {@link RequestDispatcher#include(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse) include}
* is called.
*
*
@@ -90,7 +90,7 @@ import jakarta.servlet.jsp.PageContext;
* This result follows the same rules from {@link StrutsResultSupport}.
*
*
- * @see javax.servlet.RequestDispatcher
+ * @see jakarta.servlet.RequestDispatcher
*/
public class ServletDispatcherResult extends StrutsResultSupport {
@@ -161,7 +161,7 @@ public class ServletDispatcherResult extends StrutsResultSupport {
// If we're included, then include the view
// Otherwise do forward
// This allow the page to, for example, set content type
- if (!insideActionTag && !response.isCommitted() && (request.getAttribute("javax.servlet.include.servlet_path") == null)) {
+ if (!insideActionTag && !response.isCommitted() && (request.getAttribute("jakarta.servlet.include.servlet_path") == null)) {
request.setAttribute("struts.view_uri", finalLocation);
request.setAttribute("struts.request_uri", request.getRequestURI());
diff --git a/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java b/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java
index fdb0fc593..2d76cd2ca 100644
--- a/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java
+++ b/core/src/main/java/org/apache/struts2/views/freemarker/FreemarkerManager.java
@@ -561,10 +561,10 @@ public class FreemarkerManager {
model.putAll(standard);
// support for JSP exception pages, exposing the servlet or JSP exception
- Throwable exception = (Throwable) request.getAttribute("javax.servlet.error.exception");
+ Throwable exception = (Throwable) request.getAttribute("jakarta.servlet.error.exception");
if (exception == null) {
- exception = (Throwable) request.getAttribute("javax.servlet.error.JspException");
+ exception = (Throwable) request.getAttribute("jakarta.servlet.error.JspException");
}
if (exception != null) {
diff --git a/core/src/main/java/org/apache/struts2/views/util/DefaultUrlHelper.java b/core/src/main/java/org/apache/struts2/views/util/DefaultUrlHelper.java
index d0e97bceb..888e946e3 100644
--- a/core/src/main/java/org/apache/struts2/views/util/DefaultUrlHelper.java
+++ b/core/src/main/java/org/apache/struts2/views/util/DefaultUrlHelper.java
@@ -126,7 +126,7 @@ public class DefaultUrlHelper implements UrlHelper {
// (Applicable to Servlet 2.4 containers)
// If the request was forwarded, the attribute below will be set with the original URL
- String uri = (String) request.getAttribute("javax.servlet.forward.request_uri");
+ String uri = (String) request.getAttribute("jakarta.servlet.forward.request_uri");
// If the attribute wasn't found, default to the value in the request object
if (uri == null) {
@@ -145,7 +145,7 @@ public class DefaultUrlHelper implements UrlHelper {
// (Applicable to Servlet 2.4 containers)
// If the request was forwarded, the attribute below will be set with the original URL
if (requestURI == null) {
- requestURI = (String) request.getAttribute("javax.servlet.forward.request_uri");
+ requestURI = (String) request.getAttribute("jakarta.servlet.forward.request_uri");
}
// If neither request attributes were found, default to the value in the request object
diff --git a/core/src/main/resources/org/apache/struts2/default.properties b/core/src/main/resources/org/apache/struts2/default.properties
index 96c5459fe..2654a78d9 100644
--- a/core/src/main/resources/org/apache/struts2/default.properties
+++ b/core/src/main/resources/org/apache/struts2/default.properties
@@ -65,7 +65,7 @@ struts.objectFactory.spring.enableAopSupport = false
# struts.multipart.parser=pell
# struts.multipart.parser=jakarta-stream
struts.multipart.parser=jakarta
-### Uses javax.servlet.context.tempdir by default
+### Uses jakarta.servlet.context.tempdir by default
struts.multipart.saveDir=
struts.multipart.maxSize=2097152
struts.multipart.maxFiles=256
diff --git a/core/src/test/java/org/apache/struts2/dispatcher/DefaultDispatcherErrorHandlerTest.java b/core/src/test/java/org/apache/struts2/dispatcher/DefaultDispatcherErrorHandlerTest.java
index 76b4d28c9..6d44c7dac 100644
--- a/core/src/test/java/org/apache/struts2/dispatcher/DefaultDispatcherErrorHandlerTest.java
+++ b/core/src/test/java/org/apache/struts2/dispatcher/DefaultDispatcherErrorHandlerTest.java
@@ -47,9 +47,9 @@ public class DefaultDispatcherErrorHandlerTest extends StrutsInternalTestCase {
defaultDispatcherErrorHandler.init(dispatcher.servletContext);
Exception fakeException = new Exception("Fake Exception, devMode false");
try {
- requestMock.setAttribute("javax.servlet.error.exception", fakeException);
+ requestMock.setAttribute("jakarta.servlet.error.exception", fakeException);
expectLastCall();
- requestMock.setAttribute("javax.servlet.jsp.jspException", fakeException);
+ requestMock.setAttribute("jakarta.servlet.jsp.jspException", fakeException);
expectLastCall();
responseMock.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, fakeException.getMessage());
expectLastCall().andStubThrow(new IOException("Fake IO Exception (SC_INTERNAL_SERVER_ERROR, devMode false)"));
@@ -93,9 +93,9 @@ public class DefaultDispatcherErrorHandlerTest extends StrutsInternalTestCase {
defaultDispatcherErrorHandler.init(dispatcher.servletContext);
Exception fakeException = new Exception("Fake Exception, devMode false");
try {
- requestMock.setAttribute("javax.servlet.error.exception", fakeException);
+ requestMock.setAttribute("jakarta.servlet.error.exception", fakeException);
expectLastCall();
- requestMock.setAttribute("javax.servlet.jsp.jspException", fakeException);
+ requestMock.setAttribute("jakarta.servlet.jsp.jspException", fakeException);
expectLastCall();
expect(responseMock.isCommitted()).andStubReturn(Boolean.TRUE);
responseMock.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, fakeException.getMessage());
diff --git a/core/src/test/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapperTest.java b/core/src/test/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapperTest.java
index c1cca1a11..53b52e18a 100644
--- a/core/src/test/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapperTest.java
+++ b/core/src/test/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapperTest.java
@@ -69,7 +69,7 @@ public class DefaultActionMapperTest extends StrutsInternalTestCase {
req.setupGetRequestURI("/my/namespace/actionName.action");
req.setupGetServletPath("/my/namespace/actionName.action");
req.setupGetAttribute(null);
- req.addExpectedGetAttributeName("javax.servlet.include.servlet_path");
+ req.addExpectedGetAttributeName("jakarta.servlet.include.servlet_path");
DefaultActionMapper mapper = new DefaultActionMapper();
ActionMapping mapping = mapper.getMapping(req, configManager);
@@ -85,7 +85,7 @@ public class DefaultActionMapperTest extends StrutsInternalTestCase {
req.setupGetRequestURI("/my/namespace/actionName!add.action");
req.setupGetServletPath("/my/namespace/actionName!add.action");
req.setupGetAttribute(null);
- req.addExpectedGetAttributeName("javax.servlet.include.servlet_path");
+ req.addExpectedGetAttributeName("jakarta.servlet.include.servlet_path");
DefaultActionMapper mapper = new DefaultActionMapper();
mapper.setAllowDynamicMethodCalls("true");
@@ -101,7 +101,7 @@ public class DefaultActionMapperTest extends StrutsInternalTestCase {
req.setupGetRequestURI("/my/foo/actionName.action");
req.setupGetServletPath("/my/foo/actionName.action");
req.setupGetAttribute(null);
- req.addExpectedGetAttributeName("javax.servlet.include.servlet_path");
+ req.addExpectedGetAttributeName("jakarta.servlet.include.servlet_path");
DefaultActionMapper mapper = new DefaultActionMapper();
mapper.setSlashesInActionNames("true");
@@ -117,7 +117,7 @@ public class DefaultActionMapperTest extends StrutsInternalTestCase {
req.setupGetRequestURI("/foo/actionName.action");
req.setupGetServletPath("/foo/actionName.action");
req.setupGetAttribute(null);
- req.addExpectedGetAttributeName("javax.servlet.include.servlet_path");
+ req.addExpectedGetAttributeName("jakarta.servlet.include.servlet_path");
DefaultActionMapper mapper = new DefaultActionMapper();
mapper.setSlashesInActionNames("true");
@@ -146,7 +146,7 @@ public class DefaultActionMapperTest extends StrutsInternalTestCase {
req.setupGetRequestURI("/foo/actionName.action");
req.setupGetServletPath("/foo/actionName.action");
req.setupGetAttribute(null);
- req.addExpectedGetAttributeName("javax.servlet.include.servlet_path");
+ req.addExpectedGetAttributeName("jakarta.servlet.include.servlet_path");
DefaultActionMapper mapper = new DefaultActionMapper();
mapper.setSlashesInActionNames("true");
@@ -163,7 +163,7 @@ public class DefaultActionMapperTest extends StrutsInternalTestCase {
req.setupGetRequestURI("/my-hh/abc.action");
req.setupGetServletPath("/my-hh/abc.action");
req.setupGetAttribute(null);
- req.addExpectedGetAttributeName("javax.servlet.include.servlet_path");
+ req.addExpectedGetAttributeName("jakarta.servlet.include.servlet_path");
DefaultActionMapper mapper = new DefaultActionMapper();
ActionMapping mapping = mapper.getMapping(req, configManager);
@@ -172,7 +172,7 @@ public class DefaultActionMapperTest extends StrutsInternalTestCase {
assertEquals("abc", mapping.getName());
req.setupGetAttribute(null);
- req.addExpectedGetAttributeName("javax.servlet.include.servlet_path");
+ req.addExpectedGetAttributeName("jakarta.servlet.include.servlet_path");
mapper = new DefaultActionMapper();
mapper.setSlashesInActionNames("true");
mapping = mapper.getMapping(req, configManager);
@@ -185,7 +185,7 @@ public class DefaultActionMapperTest extends StrutsInternalTestCase {
req.setupGetRequestURI("/bo/foo/actionName.action");
req.setupGetServletPath("/bo/foo/actionName.action");
req.setupGetAttribute(null);
- req.addExpectedGetAttributeName("javax.servlet.include.servlet_path");
+ req.addExpectedGetAttributeName("jakarta.servlet.include.servlet_path");
DefaultActionMapper mapper = new DefaultActionMapper();
ActionMapping mapping = mapper.getMapping(req, configManager);
@@ -199,7 +199,7 @@ public class DefaultActionMapperTest extends StrutsInternalTestCase {
req.setupGetRequestURI("/bo/foo/actionName.action");
req.setupGetServletPath("/bo/foo/actionName.action");
req.setupGetAttribute(null);
- req.addExpectedGetAttributeName("javax.servlet.include.servlet_path");
+ req.addExpectedGetAttributeName("jakarta.servlet.include.servlet_path");
DefaultActionMapper mapper = new DefaultActionMapper();
mapper.setAlwaysSelectFullNamespace("true");
@@ -262,7 +262,7 @@ public class DefaultActionMapperTest extends StrutsInternalTestCase {
req.setupGetRequestURI("/my/namespace/actionName.action");
req.setupGetServletPath("/my/namespace/actionName.action");
req.setupGetAttribute(null);
- req.addExpectedGetAttributeName("javax.servlet.include.servlet_path");
+ req.addExpectedGetAttributeName("jakarta.servlet.include.servlet_path");
DefaultActionMapper mapper = new DefaultActionMapper();
ActionMapping mapping = mapper.getMapping(req, configManager);
@@ -275,7 +275,7 @@ public class DefaultActionMapperTest extends StrutsInternalTestCase {
req.setupGetRequestURI("/my/namespace/actionName.action;abc=123rty56");
req.setupGetServletPath("/my/namespace/actionName.action;abc=123rty56");
req.setupGetAttribute(null);
- req.addExpectedGetAttributeName("javax.servlet.include.servlet_path");
+ req.addExpectedGetAttributeName("jakarta.servlet.include.servlet_path");
DefaultActionMapper mapper = new DefaultActionMapper();
ActionMapping mapping = mapper.getMapping(req, configManager);
@@ -288,7 +288,7 @@ public class DefaultActionMapperTest extends StrutsInternalTestCase {
req.setupGetRequestURI("/my/namespace/actionName!add.action");
req.setupGetServletPath("/my/namespace/actionName!add.action");
req.setupGetAttribute(null);
- req.addExpectedGetAttributeName("javax.servlet.include.servlet_path");
+ req.addExpectedGetAttributeName("jakarta.servlet.include.servlet_path");
DefaultActionMapper mapper = new DefaultActionMapper();
ActionMapping mapping = mapper.getMapping(req, configManager);
@@ -313,7 +313,7 @@ public class DefaultActionMapperTest extends StrutsInternalTestCase {
req.setupGetRequestURI("/my/namespace/actionName");
req.setupGetServletPath("/my/namespace/actionName");
req.setupGetAttribute(null);
- req.addExpectedGetAttributeName("javax.servlet.include.servlet_path");
+ req.addExpectedGetAttributeName("jakarta.servlet.include.servlet_path");
DefaultActionMapper mapper = new DefaultActionMapper();
mapper.setExtensions("");
@@ -330,7 +330,7 @@ public class DefaultActionMapperTest extends StrutsInternalTestCase {
req.setupGetRequestURI("/my/namespace/actionName.html");
req.setupGetServletPath("/my/namespace/actionName.html");
req.setupGetAttribute(null);
- req.addExpectedGetAttributeName("javax.servlet.include.servlet_path");
+ req.addExpectedGetAttributeName("jakarta.servlet.include.servlet_path");
DefaultActionMapper mapper = new DefaultActionMapper();
mapper.setExtensions("");
diff --git a/core/src/test/java/org/apache/struts2/dispatcher/mapper/Restful2ActionMapperTest.java b/core/src/test/java/org/apache/struts2/dispatcher/mapper/Restful2ActionMapperTest.java
index d792b227e..4e28de88d 100644
--- a/core/src/test/java/org/apache/struts2/dispatcher/mapper/Restful2ActionMapperTest.java
+++ b/core/src/test/java/org/apache/struts2/dispatcher/mapper/Restful2ActionMapperTest.java
@@ -64,7 +64,7 @@ public class Restful2ActionMapperTest extends StrutsInternalTestCase {
req.setupGetRequestURI("/my/namespace/foo/");
req.setupGetServletPath("/my/namespace/foo/");
req.setupGetAttribute(null);
- req.addExpectedGetAttributeName("javax.servlet.include.servlet_path");
+ req.addExpectedGetAttributeName("jakarta.servlet.include.servlet_path");
req.setupGetMethod("GET");
ActionMapping mapping = mapper.getMapping(req, configManager);
@@ -79,7 +79,7 @@ public class Restful2ActionMapperTest extends StrutsInternalTestCase {
req.setupGetRequestURI("/my/namespace/foo/3");
req.setupGetServletPath("/my/namespace/foo/3");
req.setupGetAttribute(null);
- req.addExpectedGetAttributeName("javax.servlet.include.servlet_path");
+ req.addExpectedGetAttributeName("jakarta.servlet.include.servlet_path");
req.setupGetMethod("GET");
ActionMapping mapping = mapper.getMapping(req, configManager);
@@ -96,7 +96,7 @@ public class Restful2ActionMapperTest extends StrutsInternalTestCase {
req.setupGetRequestURI("/my/namespace/foo/3!edit");
req.setupGetServletPath("/my/namespace/foo/3!edit");
req.setupGetAttribute(null);
- req.addExpectedGetAttributeName("javax.servlet.include.servlet_path");
+ req.addExpectedGetAttributeName("jakarta.servlet.include.servlet_path");
req.setupGetMethod("GET");
ActionMapping mapping = mapper.getMapping(req, configManager);
@@ -111,7 +111,7 @@ public class Restful2ActionMapperTest extends StrutsInternalTestCase {
req.setupGetRequestURI("/my/namespace/bar/1/foo/");
req.setupGetServletPath("/my/namespace/bar/1/foo/");
req.setupGetAttribute(null);
- req.addExpectedGetAttributeName("javax.servlet.include.servlet_path");
+ req.addExpectedGetAttributeName("jakarta.servlet.include.servlet_path");
req.setupGetMethod("GET");
ActionMapping mapping = mapper.getMapping(req, configManager);
@@ -127,7 +127,7 @@ public class Restful2ActionMapperTest extends StrutsInternalTestCase {
req.setupGetRequestURI("/my/namespace/bar/1/foo/");
req.setupGetServletPath("/my/namespace/bar/1/foo/");
req.setupGetAttribute(null);
- req.addExpectedGetAttributeName("javax.servlet.include.servlet_path");
+ req.addExpectedGetAttributeName("jakarta.servlet.include.servlet_path");
req.setupGetMethod("POST");
ActionMapping mapping = mapper.getMapping(req, configManager);
@@ -144,7 +144,7 @@ public class Restful2ActionMapperTest extends StrutsInternalTestCase {
req.setupGetRequestURI("/my/namespace/bar/1/foo/2");
req.setupGetServletPath("/my/namespace/bar/1/foo/2");
req.setupGetAttribute(null);
- req.addExpectedGetAttributeName("javax.servlet.include.servlet_path");
+ req.addExpectedGetAttributeName("jakarta.servlet.include.servlet_path");
req.setupGetMethod("PUT");
ActionMapping mapping = mapper.getMapping(req, configManager);
@@ -162,7 +162,7 @@ public class Restful2ActionMapperTest extends StrutsInternalTestCase {
req.setupGetRequestURI("/my/namespace/bar/1/foo/2");
req.setupGetServletPath("/my/namespace/bar/1/foo/2");
req.setupGetAttribute(null);
- req.addExpectedGetAttributeName("javax.servlet.include.servlet_path");
+ req.addExpectedGetAttributeName("jakarta.servlet.include.servlet_path");
req.setupGetMethod("PUT");
ActionMapping mapping = mapper.getMapping(req, configManager);
@@ -183,7 +183,7 @@ public class Restful2ActionMapperTest extends StrutsInternalTestCase {
req.setupAddParameter(Restful2ActionMapper.HTTP_METHOD_PARAM, "put");
req.setupAddParameter(Restful2ActionMapper.HTTP_METHOD_PARAM, "put");
req.setupGetAttribute(null);
- req.addExpectedGetAttributeName("javax.servlet.include.servlet_path");
+ req.addExpectedGetAttributeName("jakarta.servlet.include.servlet_path");
req.setupGetMethod("POST");
ActionMapping mapping = mapper.getMapping(req, configManager);
@@ -200,7 +200,7 @@ public class Restful2ActionMapperTest extends StrutsInternalTestCase {
req.setupGetRequestURI("/my/namespace/bar/1/foo/2");
req.setupGetServletPath("/my/namespace/bar/1/foo/2");
req.setupGetAttribute(null);
- req.addExpectedGetAttributeName("javax.servlet.include.servlet_path");
+ req.addExpectedGetAttributeName("jakarta.servlet.include.servlet_path");
req.setupGetMethod("DELETE");
ActionMapping mapping = mapper.getMapping(req, configManager);
@@ -219,7 +219,7 @@ public class Restful2ActionMapperTest extends StrutsInternalTestCase {
req.setupAddParameter(Restful2ActionMapper.HTTP_METHOD_PARAM, "DELETE");
req.setupAddParameter(Restful2ActionMapper.HTTP_METHOD_PARAM, "DELETE");
req.setupGetAttribute(null);
- req.addExpectedGetAttributeName("javax.servlet.include.servlet_path");
+ req.addExpectedGetAttributeName("jakarta.servlet.include.servlet_path");
req.setupGetMethod("POST");
ActionMapping mapping = mapper.getMapping(req, configManager);
diff --git a/core/src/test/java/org/apache/struts2/result/ServletDispatcherResultTest.java b/core/src/test/java/org/apache/struts2/result/ServletDispatcherResultTest.java
index bc979a820..2253c86ca 100644
--- a/core/src/test/java/org/apache/struts2/result/ServletDispatcherResultTest.java
+++ b/core/src/test/java/org/apache/struts2/result/ServletDispatcherResultTest.java
@@ -72,7 +72,7 @@ public class ServletDispatcherResultTest extends StrutsInternalTestCase implemen
Mock requestMock = new Mock(HttpServletRequest.class);
requestMock.expectAndReturn("getAttribute", "struts.actiontag.invocation", null);
- requestMock.expectAndReturn("getAttribute", "javax.servlet.include.servlet_path", null);
+ requestMock.expectAndReturn("getAttribute", "jakarta.servlet.include.servlet_path", null);
requestMock.expectAndReturn("getRequestDispatcher", C.args(C.eq("foo.jsp")), dispatcherMock.proxy());
requestMock.expect("setAttribute", C.ANY_ARGS); // this is a bad mock, but it works
requestMock.expect("setAttribute", C.ANY_ARGS); // this is a bad mock, but it works
@@ -105,7 +105,7 @@ public class ServletDispatcherResultTest extends StrutsInternalTestCase implemen
Mock requestMock = new Mock(HttpServletRequest.class);
requestMock.expectAndReturn("getAttribute", "struts.actiontag.invocation", null);
- requestMock.expectAndReturn("getAttribute", "javax.servlet.include.servlet_path", null);
+ requestMock.expectAndReturn("getAttribute", "jakarta.servlet.include.servlet_path", null);
requestMock.expectAndReturn("getRequestDispatcher", C.args(C.eq("foo.jsp?bar=1")), dispatcherMock.proxy());
requestMock.expect("setAttribute", C.ANY_ARGS); // this is a bad mock, but it works
requestMock.expect("setAttribute", C.ANY_ARGS); // this is a bad mock, but it works
diff --git a/core/src/test/java/org/apache/struts2/util/SecurityMemberAccessInServletsTest.java b/core/src/test/java/org/apache/struts2/util/SecurityMemberAccessInServletsTest.java
index de9b328a3..1eb562eaa 100644
--- a/core/src/test/java/org/apache/struts2/util/SecurityMemberAccessInServletsTest.java
+++ b/core/src/test/java/org/apache/struts2/util/SecurityMemberAccessInServletsTest.java
@@ -49,7 +49,7 @@ public class SecurityMemberAccessInServletsTest extends StrutsInternalTestCase {
boolean actual = sma.isAccessible(context, new ActionTag(), member, propertyName);
// then
- assertTrue("javax.servlet package isn't accessible!", actual);
+ assertTrue("jakarta.servlet package isn't accessible!", actual);
}
public void testJavaxServletPackageExclusion() throws Exception {
@@ -65,7 +65,7 @@ public class SecurityMemberAccessInServletsTest extends StrutsInternalTestCase {
boolean actual = sma.isAccessible(context, new ActionTag(), member, propertyName);
// then
- assertFalse("javax.servlet package is accessible!", actual);
+ assertFalse("jakarta.servlet package is accessible!", actual);
}
}
diff --git a/core/src/test/java/org/apache/struts2/views/jsp/DynAttribsTest.java b/core/src/test/java/org/apache/struts2/views/jsp/DynAttribsTest.java
index 253203ff9..8fec4c445 100644
--- a/core/src/test/java/org/apache/struts2/views/jsp/DynAttribsTest.java
+++ b/core/src/test/java/org/apache/struts2/views/jsp/DynAttribsTest.java
@@ -36,7 +36,7 @@ import org.w3c.dom.NodeList;
* When a tag is declared in a TLD file as
* true
* then the tag-class must implement the
- * javax.servlet.jsp.tagext.DynamicAttributes interface.
+ * jakarta.servlet.jsp.tagext.DynamicAttributes interface.
* If a tag's class does not implement this interface,
* the the application server will treat the tag as unsafe.
*
diff --git a/core/src/test/java/org/apache/struts2/views/util/DefaultUrlHelperTest.java b/core/src/test/java/org/apache/struts2/views/util/DefaultUrlHelperTest.java
index 14f6b536e..65c53d13e 100644
--- a/core/src/test/java/org/apache/struts2/views/util/DefaultUrlHelperTest.java
+++ b/core/src/test/java/org/apache/struts2/views/util/DefaultUrlHelperTest.java
@@ -314,7 +314,7 @@ public class DefaultUrlHelperTest extends StrutsInternalTestCase {
/**
* The UrlHelper should build a URL that starts with "https" followed by the server name when the scheme of the
* current request is "http" and the port for the "https" scheme is 443. When the request has been forwarded
- * in a Servlet 2.4 container, the UrlHelper should use the javax.servlet.forward.request_uri request attribute
+ * in a Servlet 2.4 container, the UrlHelper should use the jakarta.servlet.forward.request_uri request attribute
* instead of a call to HttpServletRequest#getRequestURI().
*/
public void testForwardedRequest() {
@@ -325,7 +325,7 @@ public class DefaultUrlHelperTest extends StrutsInternalTestCase {
mockHttpServletRequest.expectAndReturn("getScheme", "http");
mockHttpServletRequest.expectAndReturn("getServerPort", 80);
mockHttpServletRequest.expectAndReturn("getContextPath", "/mywebapp");
- mockHttpServletRequest.expectAndReturn("getAttribute", "javax.servlet.forward.request_uri", "/mywebapp/product/widget/");
+ mockHttpServletRequest.expectAndReturn("getAttribute", "jakarta.servlet.forward.request_uri", "/mywebapp/product/widget/");
mockHttpServletRequest.expectAndReturn("getRequestURI", "/mywebapp/");
Mock mockHttpServletResponse = new Mock(HttpServletResponse.class);
diff --git a/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/Constants.java b/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/Constants.java
index 80db8231d..a9b5fa706 100644
--- a/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/Constants.java
+++ b/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/Constants.java
@@ -52,9 +52,9 @@ public class Constants {
* generated code.
*/
public static final String[] STANDARD_IMPORTS = {
- "javax.servlet.*",
- "javax.servlet.http.*",
- "javax.servlet.jsp.*"
+ "jakarta.servlet.*",
+ "jakarta.servlet.http.*",
+ "jakarta.servlet.jsp.*"
};
/**
@@ -113,8 +113,8 @@ public class Constants {
* Servlet context and request attributes that the JSP engine
* uses.
*/
- public static final String INC_SERVLET_PATH = "javax.servlet.include.servlet_path";
- public static final String TMP_DIR = "javax.servlet.context.tempdir";
+ public static final String INC_SERVLET_PATH = "jakarta.servlet.include.servlet_path";
+ public static final String TMP_DIR = "jakarta.servlet.context.tempdir";
// Must be kept in sync with org/apache/catalina/Globals.java
public static final String ALT_DD_ATTR =
diff --git a/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/EmbeddedServletOptions.java b/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/EmbeddedServletOptions.java
index b8217e069..3d2943ab5 100644
--- a/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/EmbeddedServletOptions.java
+++ b/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/EmbeddedServletOptions.java
@@ -572,7 +572,7 @@ public final class EmbeddedServletOptions implements Options {
if (dir != null) {
scratchDir = new File(dir);
} else {
- // First try the Servlet 2.2 javax.servlet.context.tempdir property
+ // First try the Servlet 2.2 jakarta.servlet.context.tempdir property
scratchDir = (File) context.getAttribute(Constants.TMP_DIR);
if (scratchDir == null) {
// Not running in a Servlet 2.2 container.
diff --git a/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/Generator.java b/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/Generator.java
index cb3bb1594..4f8f08238 100644
--- a/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/Generator.java
+++ b/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/Generator.java
@@ -1718,7 +1718,7 @@ class Generator {
out.print(tagMethod);
out.print("(");
if (parent != null) {
- out.print("javax.servlet.jsp.tagext.JspTag ");
+ out.print("jakarta.servlet.jsp.tagext.JspTag ");
out.print(parent);
out.print(", ");
}
@@ -2248,7 +2248,7 @@ class Generator {
if (!n.hasEmptyBody()) {
out.printin("if (");
out.print(tagEvalVar);
- out.println(" != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {");
+ out.println(" != jakarta.servlet.jsp.tagext.Tag.SKIP_BODY) {");
out.pushIndent();
// Declare NESTED scripting variables
@@ -2259,7 +2259,7 @@ class Generator {
out.printin("if (");
out.print(tagEvalVar);
out
- .println(" != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {");
+ .println(" != jakarta.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {");
// Assume EVAL_BODY_BUFFERED
out.pushIndent();
out.printil("out = _jspx_page_context.pushBody();");
@@ -2272,7 +2272,7 @@ class Generator {
}
out.printin(tagHandlerVar);
out
- .println(".setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);");
+ .println(".setBodyContent((jakarta.servlet.jsp.tagext.BodyContent) out);");
out.printin(tagHandlerVar);
out.println(".doInitBody();");
@@ -2312,7 +2312,7 @@ class Generator {
syncScriptingVars(n, VariableInfo.NESTED);
out
- .printil("if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)");
+ .printil("if (evalDoAfterBody != jakarta.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)");
out.pushIndent();
out.printil("break;");
out.popIndent();
@@ -2327,7 +2327,7 @@ class Generator {
out.printin("if (");
out.print(tagEvalVar);
out
- .println(" != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {");
+ .println(" != jakarta.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {");
out.pushIndent();
out.printil("out = _jspx_page_context.popBody();");
if (n.implementsTryCatchFinally()) {
@@ -2348,7 +2348,7 @@ class Generator {
out.printin("if (");
out.print(tagHandlerVar);
out
- .println(".doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {");
+ .println(".doEndTag() == jakarta.servlet.jsp.tagext.Tag.SKIP_PAGE) {");
out.pushIndent();
if (!n.implementsTryCatchFinally()) {
if (isPoolingEnabled && !(n.implementsJspIdConsumer())) {
@@ -2974,19 +2974,19 @@ class Generator {
if (isTagFile && parent == null) {
out.printin(tagHandlerVar);
out.print(".setParent(");
- out.print("new javax.servlet.jsp.tagext.TagAdapter(");
- out.print("(javax.servlet.jsp.tagext.SimpleTag) this ));");
+ out.print("new jakarta.servlet.jsp.tagext.TagAdapter(");
+ out.print("(jakarta.servlet.jsp.tagext.SimpleTag) this ));");
} else if (!simpleTag) {
out.printin(tagHandlerVar);
out.print(".setParent(");
if (parent != null) {
if (isSimpleTagParent) {
- out.print("new javax.servlet.jsp.tagext.TagAdapter(");
- out.print("(javax.servlet.jsp.tagext.SimpleTag) ");
+ out.print("new jakarta.servlet.jsp.tagext.TagAdapter(");
+ out.print("(jakarta.servlet.jsp.tagext.SimpleTag) ");
out.print(parent);
out.println("));");
} else {
- out.print("(javax.servlet.jsp.tagext.Tag) ");
+ out.print("(jakarta.servlet.jsp.tagext.Tag) ");
out.print(parent);
out.println(");");
}
@@ -3210,7 +3210,7 @@ class Generator {
out.printil("out = _jspx_page_context.pushBody();");
visitBody(n);
out.printil("String " + varName + " = "
- + "((javax.servlet.jsp.tagext.BodyContent)"
+ + "((jakarta.servlet.jsp.tagext.BodyContent)"
+ "out).getString();");
out.printil("out = _jspx_page_context.popBody();");
}
@@ -3237,7 +3237,7 @@ class Generator {
String tagHandlerVar) throws JasperException {
String varName = n.getTemporaryVariableName();
- out.printin("javax.servlet.jsp.tagext.JspFragment " + varName
+ out.printin("jakarta.servlet.jsp.tagext.JspFragment " + varName
+ " = ");
generateJspFragment(n, tagHandlerVar);
out.println(";");
@@ -3446,7 +3446,7 @@ class Generator {
out.printin(" implements org.apache.struts2.jasper.runtime.JspSourceDependent");
if (tagInfo.hasDynamicAttributes()) {
out.println(",");
- out.printin(" javax.servlet.jsp.tagext.DynamicAttributes");
+ out.printin(" jakarta.servlet.jsp.tagext.DynamicAttributes");
}
out.println(" {");
out.println();
@@ -3587,7 +3587,7 @@ class Generator {
for (int i = 0; i < attrInfos.length; i++) {
out.printin("private ");
if (attrInfos[i].isFragment()) {
- out.print("javax.servlet.jsp.tagext.JspFragment ");
+ out.print("jakarta.servlet.jsp.tagext.JspFragment ");
} else {
out.print(JspUtil.toJavaSourceType(attrInfos[i].getTypeName()));
out.print(" ");
@@ -3603,7 +3603,7 @@ class Generator {
// getter method
out.printin("public ");
if (attrInfos[i].isFragment()) {
- out.print("javax.servlet.jsp.tagext.JspFragment ");
+ out.print("jakarta.servlet.jsp.tagext.JspFragment ");
} else {
out.print(JspUtil.toJavaSourceType(attrInfos[i]
.getTypeName()));
@@ -3623,7 +3623,7 @@ class Generator {
out.printin("public void ");
out.print(toSetterMethodName(attrInfos[i].getName()));
if (attrInfos[i].isFragment()) {
- out.print("(javax.servlet.jsp.tagext.JspFragment ");
+ out.print("(jakarta.servlet.jsp.tagext.JspFragment ");
} else {
out.print("(");
out.print(JspUtil.toJavaSourceType(attrInfos[i]
@@ -3738,7 +3738,7 @@ class Generator {
/*
* Generates implementation of
- * javax.servlet.jsp.tagext.DynamicAttributes.setDynamicAttribute() method,
+ * jakarta.servlet.jsp.tagext.DynamicAttributes.setDynamicAttribute() method,
* which saves each dynamic attribute that is passed in so that a scoped
* variable can later be created for it.
*/
@@ -4048,12 +4048,12 @@ class Generator {
out.printil("{");
out.pushIndent();
out
- .printil("private javax.servlet.jsp.tagext.JspTag _jspx_parent;");
+ .printil("private jakarta.servlet.jsp.tagext.JspTag _jspx_parent;");
out.printil("private int[] _jspx_push_body_count;");
out.println();
out.printil("public " + className
+ "( int discriminator, JspContext jspContext, "
- + "javax.servlet.jsp.tagext.JspTag _jspx_parent, "
+ + "jakarta.servlet.jsp.tagext.JspTag _jspx_parent, "
+ "int[] _jspx_push_body_count ) {");
out.pushIndent();
out.printil("super( discriminator, jspContext, _jspx_parent );");
diff --git a/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/PageDataImpl.java b/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/PageDataImpl.java
index 9228411a5..f4ad075d4 100644
--- a/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/PageDataImpl.java
+++ b/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/PageDataImpl.java
@@ -29,7 +29,7 @@ import org.xml.sax.helpers.AttributesImpl;
import org.apache.struts2.jasper.JasperException;
/**
- * An implementation of javax.servlet.jsp.tagext.PageData which
+ * An implementation of jakarta.servlet.jsp.tagext.PageData which
* builds the XML view of a given page.
*
* The XML view is built in two passes:
diff --git a/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/TagLibraryInfoImpl.java b/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/TagLibraryInfoImpl.java
index 22352197e..6bebd1bd4 100644
--- a/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/TagLibraryInfoImpl.java
+++ b/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/TagLibraryInfoImpl.java
@@ -572,10 +572,10 @@ class TagLibraryInfoImpl extends TagLibraryInfo implements TagConstants {
* 'type' and 'rtexprvalue' must not be specified if 'fragment' has
* been specified (this will be enforced by validating parser).
* Also, if 'fragment' is TRUE, 'type' is fixed at
- * javax.servlet.jsp.tagext.JspFragment, and 'rtexprvalue' is fixed
+ * jakarta.servlet.jsp.tagext.JspFragment, and 'rtexprvalue' is fixed
* at true. See also JSP.8.5.2.
*/
- type = "javax.servlet.jsp.tagext.JspFragment";
+ type = "jakarta.servlet.jsp.tagext.JspFragment";
rtexprvalue = true;
}
@@ -732,7 +732,7 @@ class TagLibraryInfoImpl extends TagLibraryInfo implements TagConstants {
}
// *********************************************************************
- // Until javax.servlet.jsp.tagext.TagLibraryInfo is fixed
+ // Until jakarta.servlet.jsp.tagext.TagLibraryInfo is fixed
/**
* The instance (if any) for the TagLibraryValidator class.
diff --git a/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/runtime/JspRuntimeLibrary.java b/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/runtime/JspRuntimeLibrary.java
index 0ce5decba..e3705ce8a 100644
--- a/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/runtime/JspRuntimeLibrary.java
+++ b/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/runtime/JspRuntimeLibrary.java
@@ -60,9 +60,9 @@ import java.util.Enumeration;
public class JspRuntimeLibrary {
private static final String SERVLET_EXCEPTION
- = "javax.servlet.error.exception";
+ = "jakarta.servlet.error.exception";
private static final String JSP_EXCEPTION
- = "javax.servlet.jsp.jspException";
+ = "jakarta.servlet.jsp.jspException";
protected static class PrivilegedIntrospectHelper
implements PrivilegedExceptionAction {
@@ -98,9 +98,9 @@ public class JspRuntimeLibrary {
* variable is initialized.
*
* @param request servlet request
- * @return the value of the javax.servlet.error.exception request
+ * @return the value of the jakarta.servlet.error.exception request
* attribute value, if present, otherwise the value of the
- * javax.servlet.jsp.jspException request attribute value.
+ * jakarta.servlet.jsp.jspException request attribute value.
*/
public static Throwable getThrowable(ServletRequest request) {
Throwable error = (Throwable) request.getAttribute(SERVLET_EXCEPTION);
@@ -926,10 +926,10 @@ public class JspRuntimeLibrary {
return (relativePath);
HttpServletRequest hrequest = (HttpServletRequest) request;
String uri = (String)
- request.getAttribute("javax.servlet.include.servlet_path");
+ request.getAttribute("jakarta.servlet.include.servlet_path");
if (uri != null) {
String pathInfo = (String)
- request.getAttribute("javax.servlet.include.path_info");
+ request.getAttribute("jakarta.servlet.include.path_info");
if (pathInfo == null) {
if (uri.lastIndexOf('/') >= 0)
uri = uri.substring(0, uri.lastIndexOf('/'));
diff --git a/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/runtime/PageContextImpl.java b/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/runtime/PageContextImpl.java
index bceeb0247..d91e1bfd2 100644
--- a/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/runtime/PageContextImpl.java
+++ b/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/runtime/PageContextImpl.java
@@ -171,7 +171,7 @@ public class PageContextImpl extends PageContext {
setAttribute(PAGECONTEXT, this);
setAttribute(APPLICATION, context);
- isIncluded = request.getAttribute("javax.servlet.include.servlet_path") != null;
+ isIncluded = request.getAttribute("jakarta.servlet.include.servlet_path") != null;
}
public void release() {
@@ -607,7 +607,7 @@ public class PageContextImpl extends PageContext {
if (!path.startsWith("/")) {
String uri = (String) request
- .getAttribute("javax.servlet.include.servlet_path");
+ .getAttribute("jakarta.servlet.include.servlet_path");
if (uri == null)
uri = ((HttpServletRequest) request).getServletPath();
String baseURI = uri.substring(0, uri.lastIndexOf('/'));
@@ -801,19 +801,19 @@ public class PageContextImpl extends PageContext {
/*
* Set request attributes. Do not set the
- * javax.servlet.error.exception attribute here (instead, set in the
+ * jakarta.servlet.error.exception attribute here (instead, set in the
* generated servlet code for the error page) in order to prevent
* the ErrorReportValve, which is invoked as part of forwarding the
* request to the error page, from throwing it if the response has
* not been committed (the response will have been committed if the
* error page is a JSP page).
*/
- request.setAttribute("javax.servlet.jsp.jspException", t);
- request.setAttribute("javax.servlet.error.status_code",
+ request.setAttribute("jakarta.servlet.jsp.jspException", t);
+ request.setAttribute("jakarta.servlet.error.status_code",
new Integer(HttpServletResponse.SC_INTERNAL_SERVER_ERROR));
- request.setAttribute("javax.servlet.error.request_uri",
+ request.setAttribute("jakarta.servlet.error.request_uri",
((HttpServletRequest) request).getRequestURI());
- request.setAttribute("javax.servlet.error.servlet_name", config
+ request.setAttribute("jakarta.servlet.error.servlet_name", config
.getServletName());
try {
forward(errorPageURL);
@@ -824,18 +824,18 @@ public class PageContextImpl extends PageContext {
// The error page could be inside an include.
Object newException = request
- .getAttribute("javax.servlet.error.exception");
+ .getAttribute("jakarta.servlet.error.exception");
// t==null means the attribute was not set.
if ((newException != null) && (newException == t)) {
- request.removeAttribute("javax.servlet.error.exception");
+ request.removeAttribute("jakarta.servlet.error.exception");
}
// now clear the error code - to prevent double handling.
- request.removeAttribute("javax.servlet.error.status_code");
- request.removeAttribute("javax.servlet.error.request_uri");
- request.removeAttribute("javax.servlet.error.status_code");
- request.removeAttribute("javax.servlet.jsp.jspException");
+ request.removeAttribute("jakarta.servlet.error.status_code");
+ request.removeAttribute("jakarta.servlet.error.request_uri");
+ request.removeAttribute("jakarta.servlet.error.status_code");
+ request.removeAttribute("jakarta.servlet.jsp.jspException");
} else {
// Otherwise throw the exception wrapped inside a ServletException.
diff --git a/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/servlet/JspServlet.java b/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/servlet/JspServlet.java
index ccc8da3d4..523afff3b 100644
--- a/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/servlet/JspServlet.java
+++ b/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/servlet/JspServlet.java
@@ -225,10 +225,10 @@ public class JspServlet extends HttpServlet implements PeriodicEventListener {
/*
* Requested JSP has been target of
* RequestDispatcher.include(). Its path is assembled from the
- * relevant javax.servlet.include.* request attributes
+ * relevant jakarta.servlet.include.* request attributes
*/
String pathInfo = (String) request.getAttribute(
- "javax.servlet.include.path_info");
+ "jakarta.servlet.include.path_info");
if (pathInfo != null) {
jspUri += pathInfo;
}
@@ -308,7 +308,7 @@ public class JspServlet extends HttpServlet implements PeriodicEventListener {
if (null == context.getResource(jspUri)) {
String includeRequestUri = (String)
request.getAttribute(
- "javax.servlet.include.request_uri");
+ "jakarta.servlet.include.request_uri");
if (includeRequestUri != null) {
// This file was included. Throw an exception as
// a response.sendError() will be ignored
diff --git a/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/servlet/JspServletWrapper.java b/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/servlet/JspServletWrapper.java
index 35f70d27c..48c6295f8 100644
--- a/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/servlet/JspServletWrapper.java
+++ b/plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/servlet/JspServletWrapper.java
@@ -368,7 +368,7 @@ public class JspServletWrapper {
} catch (UnavailableException ex) {
String includeRequestUri = (String)
- request.getAttribute("javax.servlet.include.request_uri");
+ request.getAttribute("jakarta.servlet.include.request_uri");
if (includeRequestUri != null) {
// This file was included. Throw an exception as
// a response.sendError() will be ignored by the
diff --git a/plugins/embeddedjsp/src/main/resources/org/apache/struts2/jasper/resources/LocalStrings.properties b/plugins/embeddedjsp/src/main/resources/org/apache/struts2/jasper/resources/LocalStrings.properties
index 1a4cf9c21..89d401043 100644
--- a/plugins/embeddedjsp/src/main/resources/org/apache/struts2/jasper/resources/LocalStrings.properties
+++ b/plugins/embeddedjsp/src/main/resources/org/apache/struts2/jasper/resources/LocalStrings.properties
@@ -337,7 +337,7 @@ jsp.error.attribute.noquote=quote symbol expected
jsp.error.attribute.unterminated=attribute for {0} is not properly terminated
jsp.error.attribute.noescape=Attribute value {0} is quoted with {1} which must be escaped when used within the value
jsp.error.missing.tagInfo=TagInfo object for {0} is missing from TLD
-jsp.error.fragmentwithtype=Cannot specify both 'fragment' and 'type' attributes. If 'fragment' is present, 'type' is fixed as 'javax.servlet.jsp.tagext.JspFragment'
+jsp.error.fragmentwithtype=Cannot specify both 'fragment' and 'type' attributes. If 'fragment' is present, 'type' is fixed as 'jakarta.servlet.jsp.tagext.JspFragment'
jsp.error.fragmentwithrtexprvalue=Cannot specify both 'fragment' and 'rtexprvalue' attributes. If 'fragment' is present, 'rtexprvalue' is fixed as 'true'
jsp.error.fragmentWithDeclareOrScope=Both 'fragment' and 'declare' or 'scope' attributes specified in variable directive
jsp.error.var_and_varReader=Only one of \'var\' or \'varReader\' may be specified
diff --git a/plugins/embeddedjsp/src/main/resources/org/apache/struts2/jasper/resources/LocalStrings_es.properties b/plugins/embeddedjsp/src/main/resources/org/apache/struts2/jasper/resources/LocalStrings_es.properties
index 63d75d653..43d6dd90c 100644
--- a/plugins/embeddedjsp/src/main/resources/org/apache/struts2/jasper/resources/LocalStrings_es.properties
+++ b/plugins/embeddedjsp/src/main/resources/org/apache/struts2/jasper/resources/LocalStrings_es.properties
@@ -329,7 +329,7 @@ jsp.error.attribute.noequal=se esperaba símbolo igual
jsp.error.attribute.noquote=se esperaba símbolo comillas
jsp.error.attribute.unterminated=el atributo para {0} no está terminado correctamente
jsp.error.missing.tagInfo=El objeto TagInfo para {0} falta del TLD
-jsp.error.fragmentwithtype=No puede especificar ambos atributos 'fragment' y 'type'. Si está presente 'fragment', 'type' se pone como 'javax.servlet.jsp.tagext.JspFragment'
+jsp.error.fragmentwithtype=No puede especificar ambos atributos 'fragment' y 'type'. Si está presente 'fragment', 'type' se pone como 'jakarta.servlet.jsp.tagext.JspFragment'
jsp.error.fragmentwithrtexprvalue=No puede especificar ambos atributos 'fragment' y 'rtexprvalue'. Si está presente 'fragment', 'rtexprvalue' se pone como 'true'
jsp.error.fragmentWithDeclareOrScope=Ambos atributos 'fragment' y 'declare' o 'scope' se han especificado en la directiva variable
jsp.error.var_and_varReader=Sólo se puede especificar uno de \'var\' o \'varReader\'
diff --git a/plugins/embeddedjsp/src/main/resources/org/apache/struts2/jasper/resources/LocalStrings_fr.properties b/plugins/embeddedjsp/src/main/resources/org/apache/struts2/jasper/resources/LocalStrings_fr.properties
index 5740f662e..c4baf6a3a 100644
--- a/plugins/embeddedjsp/src/main/resources/org/apache/struts2/jasper/resources/LocalStrings_fr.properties
+++ b/plugins/embeddedjsp/src/main/resources/org/apache/struts2/jasper/resources/LocalStrings_fr.properties
@@ -279,7 +279,7 @@ jsp.error.attribute.noequal=Symbole égal (equal) attendu
jsp.error.attribute.noquote=Symbole guillemet (quote) attendu
jsp.error.attribute.unterminated=L''attribut pour {0} n''est pas correctement terminé
jsp.error.missing.tagInfo=L''objet TagInfo de {0} est absent de la TLD
-jsp.error.fragmentwithtype=On ne peut indiquer à la fois les attributs 'fragment' et 'type'. Si 'fragment' est présent, 'type' est fixé comme 'javax.servlet.jsp.tagext.JspFragment'
+jsp.error.fragmentwithtype=On ne peut indiquer à la fois les attributs 'fragment' et 'type'. Si 'fragment' est présent, 'type' est fixé comme 'jakarta.servlet.jsp.tagext.JspFragment'
jsp.error.fragmentwithrtexprvalue=On ne peut indiquer à la fois les attributs 'fragment' et 'rtexprvalue'. Si 'fragment' est présent, 'rtexprvalue' est fixé à 'true'
jsp.error.fragmentWithDeclareOrScope=Les attributs 'fragment' et 'declare' ou 'scope' sont indiqués dans la directive variable
jsp.error.var_and_varReader=A la fois 'var' et 'varReader' sont indiqués
diff --git a/plugins/embeddedjsp/src/main/resources/org/apache/struts2/jasper/resources/LocalStrings_ja.properties b/plugins/embeddedjsp/src/main/resources/org/apache/struts2/jasper/resources/LocalStrings_ja.properties
index f3df353e5..b923b7679 100644
--- a/plugins/embeddedjsp/src/main/resources/org/apache/struts2/jasper/resources/LocalStrings_ja.properties
+++ b/plugins/embeddedjsp/src/main/resources/org/apache/struts2/jasper/resources/LocalStrings_ja.properties
@@ -329,7 +329,7 @@ jsp.error.attribute.noequal=\u7b49\u53f7\u8a18\u53f7\u304c\u5fc5\u8981\u3067\u30
jsp.error.attribute.noquote=\u5f15\u7528\u7b26\u304c\u5fc5\u8981\u3067\u3059
jsp.error.attribute.unterminated={0} \u306e\u5c5e\u6027\u304c\u6b63\u3057\u304f\u7d42\u4e86\u3057\u3066\u3044\u307e\u305b\u3093
jsp.error.missing.tagInfo={0} \u306b\u5bfe\u3059\u308bTagInfo\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304cTLD\u304b\u3089\u5931\u308f\u308c\u307e\u3057\u305f
-jsp.error.fragmentwithtype='fragment'\u5c5e\u6027\u3068'type'\u5c5e\u6027\u3092\u4e21\u65b9\u6307\u5b9a\u3067\u304d\u307e\u305b\u3093\u3002'fragment'\u304c\u5b58\u5728\u3059\u308b\u5834\u5408\u306b\u306f'type'\u306f'javax.servlet.jsp.tagext.JspFragment'\u306b\u56fa\u5b9a\u3055\u308c\u307e\u3059
+jsp.error.fragmentwithtype='fragment'\u5c5e\u6027\u3068'type'\u5c5e\u6027\u3092\u4e21\u65b9\u6307\u5b9a\u3067\u304d\u307e\u305b\u3093\u3002'fragment'\u304c\u5b58\u5728\u3059\u308b\u5834\u5408\u306b\u306f'type'\u306f'jakarta.servlet.jsp.tagext.JspFragment'\u306b\u56fa\u5b9a\u3055\u308c\u307e\u3059
jsp.error.fragmentwithrtexprvalue='fragment'\u5c5e\u6027\u3068'rtexprvalue'\u5c5e\u6027\u3092\u4e21\u65b9\u6307\u5b9a\u3067\u304d\u307e\u305b\u3093\u3002'fragment'\u304c\u5b58\u5728\u3059\u308b\u5834\u5408\u306b\u306f'rtexprvalue'\u306f'true'\u306b\u56fa\u5b9a\u3055\u308c\u307e\u3059
jsp.error.fragmentWithDeclareOrScope='fragment'\u5c5e\u6027\u3068'declare'\u5c5e\u6027\u306e\u4e21\u65b9\u53c8\u306f'scope'\u5c5e\u6027\u304cvariable\u6307\u793a\u5b50\u4e2d\u3067\u6307\u5b9a\u3055\u308c\u3066\u3044\u307e\u3059
jsp.error.var_and_varReader=\'var\'\u53c8\u306f\'varReader\'\u306e\u3069\u3061\u3089\u304b\u4e00\u3064\u3092\u6307\u5b9a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059
diff --git a/plugins/osgi/src/main/resources/struts-osgi.properties b/plugins/osgi/src/main/resources/struts-osgi.properties
index 23b01f0dc..5bad6290d 100644
--- a/plugins/osgi/src/main/resources/struts-osgi.properties
+++ b/plugins/osgi/src/main/resources/struts-osgi.properties
@@ -22,5 +22,5 @@ scanning.package.includes = com.opensymphony.xwork2, \
ognl, \
freemarker, \
org.apache.velocity, \
- javax.servlet;2.5
+ jakarta.servlet;2.5
diff --git a/plugins/osgi/src/test/resources/struts-osgi.properties b/plugins/osgi/src/test/resources/struts-osgi.properties
index e80d81129..f0349a32a 100644
--- a/plugins/osgi/src/test/resources/struts-osgi.properties
+++ b/plugins/osgi/src/test/resources/struts-osgi.properties
@@ -22,5 +22,5 @@ scanning.package.includes = com.opensymphony.xwork2, \
ognl, \
freemarker, \
org.apache.velocity, \
- javax.servlet;2.5
+ jakarta.servlet;2.5
diff --git a/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusFilter.java b/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusFilter.java
index 825033128..f9b5af69e 100644
--- a/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusFilter.java
+++ b/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusFilter.java
@@ -55,7 +55,7 @@ public class PlexusFilter implements Filter {
}
/* (non-Javadoc)
- * @see javax.servlet.Filter#init(javax.servlet.FilterConfig)
+ * @see jakarta.servlet.Filter#init(jakarta.servlet.FilterConfig)
*/
public void init(FilterConfig filterConfig) throws ServletException {
ctx = filterConfig.getServletContext();
@@ -63,7 +63,7 @@ public class PlexusFilter implements Filter {
}
/* (non-Javadoc)
- * @see javax.servlet.Filter#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
+ * @see jakarta.servlet.Filter#doFilter(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse, jakarta.servlet.FilterChain)
*/
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
PlexusContainer child = null;
@@ -109,7 +109,7 @@ public class PlexusFilter implements Filter {
}
/* (non-Javadoc)
- * @see javax.servlet.Filter#destroy()
+ * @see jakarta.servlet.Filter#destroy()
*/
public void destroy() {
}
diff --git a/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusLifecycleListener.java b/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusLifecycleListener.java
index 7a05c3c18..651b6d65b 100644
--- a/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusLifecycleListener.java
+++ b/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusLifecycleListener.java
@@ -50,7 +50,7 @@ public class PlexusLifecycleListener implements ServletContextListener, HttpSess
}
/* (non-Javadoc)
- * @see javax.servlet.ServletContextListener#contextInitialized(javax.servlet.ServletContextEvent)
+ * @see jakarta.servlet.ServletContextListener#contextInitialized(jakarta.servlet.ServletContextEvent)
*/
public void contextInitialized(ServletContextEvent servletContextEvent) {
loaded = true;
@@ -69,7 +69,7 @@ public class PlexusLifecycleListener implements ServletContextListener, HttpSess
}
/* (non-Javadoc)
- * @see javax.servlet.ServletContextListener#contextDestroyed(javax.servlet.ServletContextEvent)
+ * @see jakarta.servlet.ServletContextListener#contextDestroyed(jakarta.servlet.ServletContextEvent)
*/
public void contextDestroyed(ServletContextEvent servletContextEvent) {
try {
@@ -82,7 +82,7 @@ public class PlexusLifecycleListener implements ServletContextListener, HttpSess
}
/* (non-Javadoc)
- * @see javax.servlet.http.HttpSessionListener#sessionCreated(javax.servlet.http.HttpSessionEvent)
+ * @see jakarta.servlet.http.HttpSessionListener#sessionCreated(jakarta.servlet.http.HttpSessionEvent)
*/
public void sessionCreated(HttpSessionEvent httpSessionEvent) {
try {
@@ -100,7 +100,7 @@ public class PlexusLifecycleListener implements ServletContextListener, HttpSess
}
/* (non-Javadoc)
- * @see javax.servlet.http.HttpSessionListener#sessionDestroyed(javax.servlet.http.HttpSessionEvent)
+ * @see jakarta.servlet.http.HttpSessionListener#sessionDestroyed(jakarta.servlet.http.HttpSessionEvent)
*/
public void sessionDestroyed(HttpSessionEvent httpSessionEvent) {
try {
diff --git a/plugins/rest/src/main/java/org/apache/struts2/rest/DefaultHttpHeaders.java b/plugins/rest/src/main/java/org/apache/struts2/rest/DefaultHttpHeaders.java
index 530e820d1..391c60161 100644
--- a/plugins/rest/src/main/java/org/apache/struts2/rest/DefaultHttpHeaders.java
+++ b/plugins/rest/src/main/java/org/apache/struts2/rest/DefaultHttpHeaders.java
@@ -88,7 +88,7 @@ public class DefaultHttpHeaders implements HttpHeaders {
}
/* (non-Javadoc)
- * @see org.apache.struts2.rest.HttpHeaders#apply(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.Object)
+ * @see org.apache.struts2.rest.HttpHeaders#apply(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse, java.lang.Object)
*/
public String apply(HttpServletRequest request, HttpServletResponse response, Object target) {
diff --git a/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java b/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java
index 2832d4c5b..235680799 100644
--- a/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java
+++ b/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java
@@ -273,7 +273,7 @@ public class FreemarkerDecoratorServlet extends freemarker.ext.servlet.Freemarke
* @param response the actual HTTP response
* @param template the template that will get executed
* @return true to process the template, false to suppress template processing.
- * @see freemarker.ext.servlet.FreemarkerServlet#preTemplateProcess(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, freemarker.template.Template, freemarker.template.TemplateModel)
+ * @see freemarker.ext.servlet.FreemarkerServlet#preTemplateProcess(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse, freemarker.template.Template, freemarker.template.TemplateModel)
*/
protected boolean preTemplateProcess(HttpServletRequest request, HttpServletResponse response, Template template, TemplateModel templateModel) throws ServletException, IOException {
boolean result = super.preTemplateProcess(request, response, template, templateModel);
diff --git a/plugins/tiles/src/main/java/org/apache/tiles/request/jsp/extractor/package-info.java b/plugins/tiles/src/main/java/org/apache/tiles/request/jsp/extractor/package-info.java
index 0e2d9cbbc..e22fddf8e 100644
--- a/plugins/tiles/src/main/java/org/apache/tiles/request/jsp/extractor/package-info.java
+++ b/plugins/tiles/src/main/java/org/apache/tiles/request/jsp/extractor/package-info.java
@@ -19,6 +19,6 @@
* under the License.
*/
/**
- * Extractors to get scopes from {@link javax.servlet.jsp.PageContext}.
+ * Extractors to get scopes from {@link jakarta.servlet.jsp.PageContext}.
*/
package org.apache.tiles.request.jsp.extractor;
diff --git a/plugins/tiles/src/main/java/org/apache/tiles/web/util/TilesDispatchServlet.java b/plugins/tiles/src/main/java/org/apache/tiles/web/util/TilesDispatchServlet.java
index dd7a91fdb..1542b4102 100644
--- a/plugins/tiles/src/main/java/org/apache/tiles/web/util/TilesDispatchServlet.java
+++ b/plugins/tiles/src/main/java/org/apache/tiles/web/util/TilesDispatchServlet.java
@@ -113,7 +113,7 @@ public class TilesDispatchServlet extends HttpServlet {
* @return The definition name to render.
*/
protected String getDefinitionName(HttpServletRequest request) {
- String path = (String) request.getAttribute("javax.servlet.include.servlet_path");
+ String path = (String) request.getAttribute("jakarta.servlet.include.servlet_path");
if (path == null) {
path = request.getServletPath();
}
@@ -141,7 +141,7 @@ public class TilesDispatchServlet extends HttpServlet {
/**
* {@inheritDoc}
*/
- public void mutate(AttributeContext context, javax.servlet.ServletRequest request) {
+ public void mutate(AttributeContext context, jakarta.servlet.ServletRequest request) {
// noop;
}
}