diff --git a/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-document.adoc b/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-document.adoc
index 73e1e7c27e5..d1e50c6e53a 100644
--- a/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-document.adoc
+++ b/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-document.adoc
@@ -4,10 +4,14 @@
Spring offers ways to return output other than HTML, including PDF and Excel spreadsheets.
This section describes how to use those features.
+WARNING: As of Spring Framework 7.0, view classes in the `org.springframework.web.servlet.view.document`
+package are deprecated. Instead, libraries can adapt this existing code to provide support with their own `*View` types.
+As an alternative, applications can perform direct rendering in web handlers.
[[mvc-view-document-intro]]
== Introduction to Document Views
+
An HTML page is not always the best way for the user to view the model output,
and Spring makes it simple to generate a PDF document or an Excel spreadsheet
dynamically from the model data. The document is the view and is streamed from the
diff --git a/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-feeds.adoc b/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-feeds.adoc
index 825dfd46607..78069fc588c 100644
--- a/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-feeds.adoc
+++ b/framework-docs/modules/ROOT/pages/web/webmvc-view/mvc-feeds.adoc
@@ -1,6 +1,10 @@
[[mvc-view-feeds]]
= RSS and Atom
+WARNING: As of Spring Framework 7.0, view classes in the `org.springframework.web.servlet.view.feed`
+package are deprecated. Instead, libraries can adapt this existing code to provide support with their own `*View` types.
+As an alternative, applications can perform direct rendering in web handlers.
+
Both `AbstractAtomFeedView` and `AbstractRssFeedView` inherit from the
`AbstractFeedView` base class and are used to provide Atom and RSS Feed views, respectively. They
are based on https://rometools.github.io/rome/[ROME] project and are located in the
diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/view/document/AbstractPdfStamperView.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/view/document/AbstractPdfStamperView.java
index 0dbaa283dc8..535561cb89a 100644
--- a/spring-webmvc/src/main/java/org/springframework/web/servlet/view/document/AbstractPdfStamperView.java
+++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/view/document/AbstractPdfStamperView.java
@@ -45,7 +45,10 @@ import org.springframework.web.servlet.view.AbstractUrlBasedView;
* @author Juergen Hoeller
* @since 2.5.4
* @see AbstractPdfView
+ * @deprecated since 7.0. Libraries or applications can provide their own {@code View}
+ * class or perform rendering in web handlers directly.
*/
+@Deprecated(since = "7.0", forRemoval = true)
public abstract class AbstractPdfStamperView extends AbstractUrlBasedView {
public AbstractPdfStamperView(){
diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/view/document/AbstractPdfView.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/view/document/AbstractPdfView.java
index e81b63fe922..be08857b1f5 100644
--- a/spring-webmvc/src/main/java/org/springframework/web/servlet/view/document/AbstractPdfView.java
+++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/view/document/AbstractPdfView.java
@@ -48,7 +48,10 @@ import org.springframework.web.servlet.view.AbstractView;
* @author Juergen Hoeller
* @author Jean-Pierre Pawlak
* @see AbstractPdfStamperView
+ * @deprecated since 7.0. Libraries or applications can provide their own {@code View}
+ * class or perform rendering in web handlers directly.
*/
+@Deprecated(since = "7.0", forRemoval = true)
public abstract class AbstractPdfView extends AbstractView {
/**
diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/view/document/AbstractXlsView.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/view/document/AbstractXlsView.java
index faf796e710b..a840e11b7b6 100644
--- a/spring-webmvc/src/main/java/org/springframework/web/servlet/view/document/AbstractXlsView.java
+++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/view/document/AbstractXlsView.java
@@ -36,7 +36,10 @@ import org.springframework.web.servlet.view.AbstractView;
*
* @author Juergen Hoeller
* @since 4.2
+ * @deprecated since 7.0. Libraries or applications can provide their own {@code View}
+ * class or perform rendering in web handlers directly.
*/
+@Deprecated(since = "7.0", forRemoval = true)
public abstract class AbstractXlsView extends AbstractView {
/**
diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/view/document/AbstractXlsxStreamingView.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/view/document/AbstractXlsxStreamingView.java
index 94c3b7bcd5c..2c2dca23967 100644
--- a/spring-webmvc/src/main/java/org/springframework/web/servlet/view/document/AbstractXlsxStreamingView.java
+++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/view/document/AbstractXlsxStreamingView.java
@@ -33,7 +33,11 @@ import org.apache.poi.xssf.streaming.SXSSFWorkbook;
*
* @author Juergen Hoeller
* @since 4.2
+ * @deprecated since 7.0. Libraries or applications can provide their own {@code View}
+ * class or perform rendering in web handlers directly.
*/
+@Deprecated(since = "7.0", forRemoval = true)
+@SuppressWarnings("removal")
public abstract class AbstractXlsxStreamingView extends AbstractXlsxView {
/**
diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/view/document/AbstractXlsxView.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/view/document/AbstractXlsxView.java
index 802a542ee5c..cbcd2fb60d7 100644
--- a/spring-webmvc/src/main/java/org/springframework/web/servlet/view/document/AbstractXlsxView.java
+++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/view/document/AbstractXlsxView.java
@@ -31,7 +31,11 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook;
*
* @author Juergen Hoeller
* @since 4.2
+ * @deprecated since 7.0. Libraries or applications can provide their own {@code View}
+ * class or perform rendering in web handlers directly.
*/
+@Deprecated(since = "7.0", forRemoval = true)
+@SuppressWarnings("removal")
public abstract class AbstractXlsxView extends AbstractXlsView {
/**
diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/view/feed/AbstractAtomFeedView.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/view/feed/AbstractAtomFeedView.java
index ca59283e0bf..c05cb8a8ccb 100644
--- a/spring-webmvc/src/main/java/org/springframework/web/servlet/view/feed/AbstractAtomFeedView.java
+++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/view/feed/AbstractAtomFeedView.java
@@ -43,7 +43,11 @@ import jakarta.servlet.http.HttpServletResponse;
* @see #buildFeedMetadata
* @see #buildFeedEntries
* @see Atom Syndication Format
+ * @deprecated since 7.0. Libraries or applications can provide their own {@code View}
+ * class or perform rendering in web handlers directly.
*/
+@Deprecated(since = "7.0", forRemoval = true)
+@SuppressWarnings("removal")
public abstract class AbstractAtomFeedView extends AbstractFeedView {
/**
diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/view/feed/AbstractFeedView.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/view/feed/AbstractFeedView.java
index abd279f7dbb..ad016d2dfec 100644
--- a/spring-webmvc/src/main/java/org/springframework/web/servlet/view/feed/AbstractFeedView.java
+++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/view/feed/AbstractFeedView.java
@@ -46,7 +46,10 @@ import org.springframework.web.servlet.view.AbstractView;
* @param the {@link WireFeed} type
* @see AbstractRssFeedView
* @see AbstractAtomFeedView
+ * @deprecated since 7.0. Libraries or applications can provide their own {@code View}
+ * class or perform rendering in web handlers directly.
*/
+@Deprecated(since = "7.0", forRemoval = true)
public abstract class AbstractFeedView extends AbstractView {
@Override
diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/view/feed/AbstractRssFeedView.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/view/feed/AbstractRssFeedView.java
index b00a4034f85..59b14b64839 100644
--- a/spring-webmvc/src/main/java/org/springframework/web/servlet/view/feed/AbstractRssFeedView.java
+++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/view/feed/AbstractRssFeedView.java
@@ -44,7 +44,11 @@ import org.springframework.http.MediaType;
* @since 3.0
* @see #buildFeedMetadata
* @see #buildFeedItems
+ * @deprecated since 7.0. Libraries or applications can provide their own {@code View}
+ * class or perform rendering in web handlers directly.
*/
+@Deprecated(since = "7.0", forRemoval = true)
+@SuppressWarnings("removal")
public abstract class AbstractRssFeedView extends AbstractFeedView {
public AbstractRssFeedView() {
diff --git a/spring-webmvc/src/test/java/org/springframework/web/servlet/view/document/XlsViewTests.java b/spring-webmvc/src/test/java/org/springframework/web/servlet/view/document/XlsViewTests.java
index 37bac0a3e77..88439e716e4 100644
--- a/spring-webmvc/src/test/java/org/springframework/web/servlet/view/document/XlsViewTests.java
+++ b/spring-webmvc/src/test/java/org/springframework/web/servlet/view/document/XlsViewTests.java
@@ -42,6 +42,7 @@ import static org.assertj.core.api.Assertions.assertThat;
* @author Juergen Hoeller
* @since 4.2
*/
+@SuppressWarnings("removal")
class XlsViewTests {
private final MockHttpServletRequest request = new MockHttpServletRequest();
diff --git a/spring-webmvc/src/test/java/org/springframework/web/servlet/view/feed/AtomFeedViewTests.java b/spring-webmvc/src/test/java/org/springframework/web/servlet/view/feed/AtomFeedViewTests.java
index ac88d2b3b5f..21a53bbc2cb 100644
--- a/spring-webmvc/src/test/java/org/springframework/web/servlet/view/feed/AtomFeedViewTests.java
+++ b/spring-webmvc/src/test/java/org/springframework/web/servlet/view/feed/AtomFeedViewTests.java
@@ -37,6 +37,7 @@ import static org.assertj.core.api.Assertions.assertThat;
/**
* @author Arjen Poutsma
*/
+@SuppressWarnings("removal")
class AtomFeedViewTests {
private final AbstractAtomFeedView view = new MyAtomFeedView();
diff --git a/spring-webmvc/src/test/java/org/springframework/web/servlet/view/feed/RssFeedViewTests.java b/spring-webmvc/src/test/java/org/springframework/web/servlet/view/feed/RssFeedViewTests.java
index 650e789de34..9f00e4ac54e 100644
--- a/spring-webmvc/src/test/java/org/springframework/web/servlet/view/feed/RssFeedViewTests.java
+++ b/spring-webmvc/src/test/java/org/springframework/web/servlet/view/feed/RssFeedViewTests.java
@@ -37,6 +37,7 @@ import static org.assertj.core.api.Assertions.assertThat;
/**
* @author Arjen Poutsma
*/
+@SuppressWarnings("removal")
class RssFeedViewTests {
private final AbstractRssFeedView view = new MyRssFeedView();