diff --git a/framework-platform/framework-platform.gradle b/framework-platform/framework-platform.gradle index 8f5f61ca49..0e155f0a11 100644 --- a/framework-platform/framework-platform.gradle +++ b/framework-platform/framework-platform.gradle @@ -75,13 +75,13 @@ dependencies { api("jakarta.mail:jakarta.mail-api:2.0.1") api("jakarta.persistence:jakarta.persistence-api:3.0.0") api("jakarta.resource:jakarta.resource-api:2.0.0") - api("jakarta.servlet.jsp.jstl:jakarta.servlet.jsp.jstl-api:3.0.0") - api("jakarta.servlet.jsp:jakarta.servlet.jsp-api:3.1.1") - api("jakarta.servlet:jakarta.servlet-api:6.0.0") + api("jakarta.servlet.jsp.jstl:jakarta.servlet.jsp.jstl-api:3.0.2") + api("jakarta.servlet.jsp:jakarta.servlet.jsp-api:4.0.0") + api("jakarta.servlet:jakarta.servlet-api:6.1.0") api("jakarta.transaction:jakarta.transaction-api:2.0.1") api("jakarta.validation:jakarta.validation-api:3.0.2") - api("jakarta.websocket:jakarta.websocket-api:2.1.0") - api("jakarta.websocket:jakarta.websocket-client-api:2.1.0") + api("jakarta.websocket:jakarta.websocket-api:2.2.0") + api("jakarta.websocket:jakarta.websocket-client-api:2.2.0") api("jakarta.xml.bind:jakarta.xml.bind-api:3.0.1") api("javax.annotation:javax.annotation-api:1.3.2") api("javax.cache:cache-api:1.1.1") diff --git a/spring-test/src/main/java/org/springframework/mock/web/MockPageContext.java b/spring-test/src/main/java/org/springframework/mock/web/MockPageContext.java index 6bcbf97d57..99f430ebb3 100644 --- a/spring-test/src/main/java/org/springframework/mock/web/MockPageContext.java +++ b/spring-test/src/main/java/org/springframework/mock/web/MockPageContext.java @@ -267,26 +267,12 @@ public class MockPageContext extends PageContext { return this.out; } - @Override - @Deprecated - @Nullable - public jakarta.servlet.jsp.el.ExpressionEvaluator getExpressionEvaluator() { - return null; - } - @Override @Nullable public ELContext getELContext() { return null; } - @Override - @Deprecated - @Nullable - public jakarta.servlet.jsp.el.VariableResolver getVariableResolver() { - return null; - } - @Override public HttpSession getSession() { return this.request.getSession(); diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/ServletServerHttpResponse.java b/spring-web/src/main/java/org/springframework/http/server/reactive/ServletServerHttpResponse.java index f77b09569a..4d8e96b27e 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/ServletServerHttpResponse.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/ServletServerHttpResponse.java @@ -39,7 +39,6 @@ import org.springframework.http.MediaType; import org.springframework.http.ResponseCookie; import org.springframework.lang.Nullable; import org.springframework.util.Assert; -import org.springframework.util.ReflectionUtils; /** * Adapt {@link ServerHttpResponse} to the Servlet {@link HttpServletResponse}. @@ -50,8 +49,6 @@ import org.springframework.util.ReflectionUtils; */ class ServletServerHttpResponse extends AbstractListenerServerHttpResponse { - private static final boolean IS_SERVLET61 = ReflectionUtils.findField(HttpServletResponse.class, "SC_PERMANENT_REDIRECT") != null; - private final HttpServletResponse response; private final ServletOutputStream outputStream; @@ -186,12 +183,7 @@ class ServletServerHttpResponse extends AbstractListenerServerHttpResponse { cookie.setSecure(httpCookie.isSecure()); cookie.setHttpOnly(httpCookie.isHttpOnly()); if (httpCookie.isPartitioned()) { - if (IS_SERVLET61) { - cookie.setAttribute("Partitioned", ""); - } - else { - cookie.setAttribute("Partitioned", "true"); - } + cookie.setAttribute("Partitioned", ""); } this.response.addCookie(cookie); } diff --git a/spring-web/src/test/java/org/springframework/http/server/reactive/CookieIntegrationTests.java b/spring-web/src/test/java/org/springframework/http/server/reactive/CookieIntegrationTests.java index 4ceee53b45..4d6f1fa744 100644 --- a/spring-web/src/test/java/org/springframework/http/server/reactive/CookieIntegrationTests.java +++ b/spring-web/src/test/java/org/springframework/http/server/reactive/CookieIntegrationTests.java @@ -30,6 +30,7 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.client.RestTemplate; import org.springframework.web.testfixture.http.server.reactive.bootstrap.AbstractHttpHandlerIntegrationTests; import org.springframework.web.testfixture.http.server.reactive.bootstrap.HttpServer; +import org.springframework.web.testfixture.http.server.reactive.bootstrap.JettyHttpServer; import org.springframework.web.testfixture.http.server.reactive.bootstrap.UndertowHttpServer; import static org.assertj.core.api.Assertions.assertThat; @@ -80,6 +81,7 @@ class CookieIntegrationTests extends AbstractHttpHandlerIntegrationTests { @ParameterizedHttpServerTest public void partitionedAttributeTest(HttpServer httpServer) throws Exception { assumeFalse(httpServer instanceof UndertowHttpServer, "Undertow does not support Partitioned cookies"); + assumeFalse(httpServer instanceof JettyHttpServer, "Jetty does not support Servlet 6.1 yet"); startServer(httpServer); URI url = URI.create("http://localhost:" + port); diff --git a/spring-web/src/testFixtures/java/org/springframework/web/testfixture/servlet/MockPageContext.java b/spring-web/src/testFixtures/java/org/springframework/web/testfixture/servlet/MockPageContext.java index 3063910edf..6476710dad 100644 --- a/spring-web/src/testFixtures/java/org/springframework/web/testfixture/servlet/MockPageContext.java +++ b/spring-web/src/testFixtures/java/org/springframework/web/testfixture/servlet/MockPageContext.java @@ -267,26 +267,12 @@ public class MockPageContext extends PageContext { return this.out; } - @Override - @Deprecated - @Nullable - public jakarta.servlet.jsp.el.ExpressionEvaluator getExpressionEvaluator() { - return null; - } - @Override @Nullable public ELContext getELContext() { return null; } - @Override - @Deprecated - @Nullable - public jakarta.servlet.jsp.el.VariableResolver getVariableResolver() { - return null; - } - @Override public HttpSession getSession() { return this.request.getSession(); diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ServletRequestMethodArgumentResolver.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ServletRequestMethodArgumentResolver.java index 6a72c052d8..319891fc19 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ServletRequestMethodArgumentResolver.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/method/annotation/ServletRequestMethodArgumentResolver.java @@ -70,6 +70,7 @@ import org.springframework.web.servlet.support.RequestContextUtils; public class ServletRequestMethodArgumentResolver implements HandlerMethodArgumentResolver { @Override + @SuppressWarnings("deprecation") public boolean supportsParameter(MethodParameter parameter) { Class paramType = parameter.getParameterType(); return (WebRequest.class.isAssignableFrom(paramType) || @@ -121,6 +122,7 @@ public class ServletRequestMethodArgumentResolver implements HandlerMethodArgume } @Nullable + @SuppressWarnings("deprecation") private Object resolveArgument(Class paramType, HttpServletRequest request) throws IOException { if (HttpSession.class.isAssignableFrom(paramType)) { HttpSession session = request.getSession();