From ce49068ff92bfdc2e856038b37f5b19adcafff59 Mon Sep 17 00:00:00 2001 From: Marc Wrobel Date: Tue, 26 Jul 2022 15:45:12 +0200 Subject: [PATCH] Fix links in Javadoc and reference docs - Fix broken links (by using a new URL, an alternative URL, or a Wayback Machine link) - Use HTTPS where possible - Remove https://issuetracker.springsource.com/browse/EBR-349: this link is dead and is also mentioned in https://jira.spring.io/browse/SPR-8093 - Clean up nohttp allowlist.lines Closes gh-28876 --- gradle/docs.gradle | 2 +- import-into-idea.md | 2 +- .../springframework/mail/javamail/mime.types | 2 +- .../scripting/bsh/package-info.java | 2 +- .../scripting/groovy/package-info.java | 2 +- .../jmx/AbstractMBeanServerTests.java | 6 +----- .../core/BridgeMethodResolver.java | 2 +- spring-expression/readme.txt | 4 ++-- ...ariosForSpringSecurityExpressionTests.java | 2 +- .../embedded/EmbeddedDatabaseType.java | 2 +- .../converter/JsonbMessageConverter.java | 2 +- .../client/match/ContentRequestMatchers.java | 2 +- .../htmlunit/MockMvcWebConnection.java | 2 +- .../servlet/result/ContentResultMatchers.java | 2 +- .../json/JsonbHttpMessageConverter.java | 2 +- .../web/util/JavaScriptUtils.java | 2 +- .../view/groovy/GroovyMarkupConfigurer.java | 2 +- .../servlet/view/groovy/GroovyMarkupView.java | 2 +- .../web/servlet/view/groovy/package-info.java | 2 +- src/docs/asciidoc/core/core-expressions.adoc | 4 ++-- src/docs/asciidoc/data-access.adoc | 6 +++--- src/docs/asciidoc/rsocket.adoc | 2 +- src/docs/asciidoc/testing.adoc | 18 +++++++++--------- src/docs/asciidoc/web/webflux-view.adoc | 2 +- src/docs/asciidoc/web/webflux.adoc | 4 ++-- src/docs/asciidoc/web/webmvc-view.adoc | 2 +- src/docs/asciidoc/web/websocket.adoc | 2 +- src/nohttp/allowlist.lines | 19 ------------------- 28 files changed, 40 insertions(+), 63 deletions(-) diff --git a/gradle/docs.gradle b/gradle/docs.gradle index b0a356be9207..64f58668d87d 100644 --- a/gradle/docs.gradle +++ b/gradle/docs.gradle @@ -153,7 +153,7 @@ asciidoctorPdf { task docsZip(type: Zip, dependsOn: ['api', 'asciidoctor', 'asciidoctorPdf', 'dokkaHtmlMultiModule']) { group = "Distribution" description = "Builds -${archiveClassifier} archive containing api and reference " + - "for deployment at https://docs.spring.io/spring-framework/docs." + "for deployment at https://docs.spring.io/spring-framework/docs/." archiveBaseName.set("spring-framework") archiveClassifier.set("docs") diff --git a/import-into-idea.md b/import-into-idea.md index 1d555305c024..bc6336f748ef 100644 --- a/import-into-idea.md +++ b/import-into-idea.md @@ -31,6 +31,6 @@ You'll notice these files are already intentionally in .gitignore. The same poli ## FAQ -Q. What about IntelliJ IDEA's own [Gradle support](https://confluence.jetbrains.net/display/IDEADEV/Gradle+integration)? +Q. What about IntelliJ IDEA's own [Gradle support](https://www.jetbrains.com/help/idea/gradle.html)? A. Keep an eye on https://youtrack.jetbrains.com/issue/IDEA-53476 diff --git a/spring-context-support/src/main/resources/org/springframework/mail/javamail/mime.types b/spring-context-support/src/main/resources/org/springframework/mail/javamail/mime.types index b03625f63316..f325ad37d8b5 100644 --- a/spring-context-support/src/main/resources/org/springframework/mail/javamail/mime.types +++ b/spring-context-support/src/main/resources/org/springframework/mail/javamail/mime.types @@ -50,7 +50,7 @@ video/x-msvideo avi ################################################################################ # # Additional file types adapted from -# http://sites.utoronto.ca/webdocs/HTMLdocs/Book/Book-3ed/appb/mimetype.html +# https://web.archive.org/web/20220119153325/http%3A//sites.utoronto.ca/webdocs/HTMLdocs/Book/Book-3ed/appb/mimetype.html # kindly re-licensed to Apache Software License 2.0 by Ian Graham. # ################################################################################ diff --git a/spring-context/src/main/java/org/springframework/scripting/bsh/package-info.java b/spring-context/src/main/java/org/springframework/scripting/bsh/package-info.java index 18bd5e95e9b0..eb70e4afb8d1 100644 --- a/spring-context/src/main/java/org/springframework/scripting/bsh/package-info.java +++ b/spring-context/src/main/java/org/springframework/scripting/bsh/package-info.java @@ -1,6 +1,6 @@ /** * Package providing integration of - * BeanShell + * BeanShell * (and BeanShell2) * into Spring's scripting infrastructure. */ diff --git a/spring-context/src/main/java/org/springframework/scripting/groovy/package-info.java b/spring-context/src/main/java/org/springframework/scripting/groovy/package-info.java index 2551109fceb5..336139003789 100644 --- a/spring-context/src/main/java/org/springframework/scripting/groovy/package-info.java +++ b/spring-context/src/main/java/org/springframework/scripting/groovy/package-info.java @@ -1,6 +1,6 @@ /** * Package providing integration of - * Groovy + * Groovy * into Spring's scripting infrastructure. */ @NonNullApi diff --git a/spring-context/src/test/java/org/springframework/jmx/AbstractMBeanServerTests.java b/spring-context/src/test/java/org/springframework/jmx/AbstractMBeanServerTests.java index 99b04150498e..b43ec1709e57 100644 --- a/spring-context/src/test/java/org/springframework/jmx/AbstractMBeanServerTests.java +++ b/spring-context/src/test/java/org/springframework/jmx/AbstractMBeanServerTests.java @@ -46,11 +46,7 @@ * {@code jmxremote_optional.jar} into your classpath, for example in the {@code lib/ext} * folder of your JVM. * - *

See also: - *

+ *

See also: SPR-8093 * * @author Rob Harrop * @author Juergen Hoeller diff --git a/spring-core/src/main/java/org/springframework/core/BridgeMethodResolver.java b/spring-core/src/main/java/org/springframework/core/BridgeMethodResolver.java index df67a5b97a23..016f0587ed77 100644 --- a/spring-core/src/main/java/org/springframework/core/BridgeMethodResolver.java +++ b/spring-core/src/main/java/org/springframework/core/BridgeMethodResolver.java @@ -226,7 +226,7 @@ private static Method searchForMatch(Class type, Method bridgeMethod) { /** * Compare the signatures of the bridge method and the method which it bridges. If * the parameter and return types are the same, it is a 'visibility' bridge method - * introduced in Java 6 to fix https://bugs.java.com/view_bug.do?bug_id=6342411. + * introduced in Java 6 to fix https://bugs.openjdk.org/browse/JDK-6342411. * See also https://stas-blogspot.blogspot.com/2010/03/java-bridge-methods-explained.html * @return whether signatures match as described */ diff --git a/spring-expression/readme.txt b/spring-expression/readme.txt index 54402b9cefde..d66280134a0d 100644 --- a/spring-expression/readme.txt +++ b/spring-expression/readme.txt @@ -31,10 +31,10 @@ Syntax - Need to agree on a standard date format for 'default' processing of dates. Currently it is: formatter = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss z", Locale.UK); // this is something of this format: "Wed, 4 Jul 2001 12:08:56 GMT" - // https://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html + // https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html - See LiteralTests for Date (4,5,6) - should date take an expression rather than be hardcoded in the grammar to take 2 strings only? - when doing arithmetic, eg. 8.4 / 4 and the user asks for an Integer return type - do we silently coerce or say we cannot as it won't fit into an int? (see OperatorTests.testMathOperatorDivide04) - Is $index within projection/selection useful or just cute? -- All reals are represented as Doubles (so 1.25f is held internally as a double, can be converted to float when required though) - is that ok? \ No newline at end of file +- All reals are represented as Doubles (so 1.25f is held internally as a double, can be converted to float when required though) - is that ok? diff --git a/spring-expression/src/test/java/org/springframework/expression/spel/ScenariosForSpringSecurityExpressionTests.java b/spring-expression/src/test/java/org/springframework/expression/spel/ScenariosForSpringSecurityExpressionTests.java index 010da3e8f635..abe0bd248d17 100644 --- a/spring-expression/src/test/java/org/springframework/expression/spel/ScenariosForSpringSecurityExpressionTests.java +++ b/spring-expression/src/test/java/org/springframework/expression/spel/ScenariosForSpringSecurityExpressionTests.java @@ -39,7 +39,7 @@ ///CLOVER:OFF /** - * Spring Security scenarios from https://wiki.springsource.com/display/SECURITY/Spring+Security+Expression-based+Authorization + * Spring Security scenarios from https://docs.spring.io/spring-security/reference/servlet/authorization/expression-based.html * * @author Andy Clement */ diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/embedded/EmbeddedDatabaseType.java b/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/embedded/EmbeddedDatabaseType.java index 8ae88dbec27d..f9ac77a9cd9d 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/embedded/EmbeddedDatabaseType.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/embedded/EmbeddedDatabaseType.java @@ -25,7 +25,7 @@ */ public enum EmbeddedDatabaseType { - /** The Hypersonic Embedded Java SQL Database. */ + /** The Hypersonic Embedded Java SQL Database. */ HSQL, /** The H2 Embedded Java SQL Database Engine. */ diff --git a/spring-messaging/src/main/java/org/springframework/messaging/converter/JsonbMessageConverter.java b/spring-messaging/src/main/java/org/springframework/messaging/converter/JsonbMessageConverter.java index e327edbc2fcb..3e282e912dab 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/converter/JsonbMessageConverter.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/converter/JsonbMessageConverter.java @@ -29,7 +29,7 @@ /** * Implementation of {@link MessageConverter} that can read and write JSON - * using the JSON Binding API. + * using the JSON Binding API. * * @author Juergen Hoeller * @since 5.3 diff --git a/spring-test/src/main/java/org/springframework/test/web/client/match/ContentRequestMatchers.java b/spring-test/src/main/java/org/springframework/test/web/client/match/ContentRequestMatchers.java index fed5808a1ff2..dd91496fa5df 100644 --- a/spring-test/src/main/java/org/springframework/test/web/client/match/ContentRequestMatchers.java +++ b/spring-test/src/main/java/org/springframework/test/web/client/match/ContentRequestMatchers.java @@ -255,7 +255,7 @@ else if (expected instanceof String) { * two are "similar" - i.e. they contain the same elements and attributes * regardless of order. *

Use of this matcher assumes the - * XMLUnit library is available. + * XMLUnit library is available. * @param expectedXmlContent the expected XML content */ public RequestMatcher xml(String expectedXmlContent) { diff --git a/spring-test/src/main/java/org/springframework/test/web/servlet/htmlunit/MockMvcWebConnection.java b/spring-test/src/main/java/org/springframework/test/web/servlet/htmlunit/MockMvcWebConnection.java index cbe396dc861b..7c67ab3340db 100644 --- a/spring-test/src/main/java/org/springframework/test/web/servlet/htmlunit/MockMvcWebConnection.java +++ b/spring-test/src/main/java/org/springframework/test/web/servlet/htmlunit/MockMvcWebConnection.java @@ -40,7 +40,7 @@ /** * {@code MockMvcWebConnection} enables {@link MockMvc} to transform a * {@link WebRequest} into a {@link WebResponse}. - *

This is the core integration with HtmlUnit. + *

This is the core integration with HtmlUnit. *

Example usage can be seen below. * *

diff --git a/spring-test/src/main/java/org/springframework/test/web/servlet/result/ContentResultMatchers.java b/spring-test/src/main/java/org/springframework/test/web/servlet/result/ContentResultMatchers.java
index b5a9ce5f3e26..79ecb78127e2 100644
--- a/spring-test/src/main/java/org/springframework/test/web/servlet/result/ContentResultMatchers.java
+++ b/spring-test/src/main/java/org/springframework/test/web/servlet/result/ContentResultMatchers.java
@@ -160,7 +160,7 @@ public ResultMatcher bytes(byte[] expectedContent) {
 	 * are "similar" - i.e. they contain the same elements and attributes
 	 * regardless of order.
 	 * 

Use of this matcher requires the XMLUnit library. + * href="https://www.xmlunit.org/">XMLUnit library. * @param xmlContent the expected XML content * @see MockMvcResultMatchers#xpath(String, Object...) * @see MockMvcResultMatchers#xpath(String, Map, Object...) diff --git a/spring-web/src/main/java/org/springframework/http/converter/json/JsonbHttpMessageConverter.java b/spring-web/src/main/java/org/springframework/http/converter/json/JsonbHttpMessageConverter.java index bdbc7221cfda..9571ca9b0fa5 100644 --- a/spring-web/src/main/java/org/springframework/http/converter/json/JsonbHttpMessageConverter.java +++ b/spring-web/src/main/java/org/springframework/http/converter/json/JsonbHttpMessageConverter.java @@ -31,7 +31,7 @@ /** * Implementation of {@link org.springframework.http.converter.HttpMessageConverter} * that can read and write JSON using the - * JSON Binding API. + * JSON Binding API. * *

This converter can be used to bind to typed beans or untyped {@code HashMap}s. * By default, it supports {@code application/json} and {@code application/*+json} with diff --git a/spring-web/src/main/java/org/springframework/web/util/JavaScriptUtils.java b/spring-web/src/main/java/org/springframework/web/util/JavaScriptUtils.java index e505d9797078..5d85c5dfa57b 100644 --- a/spring-web/src/main/java/org/springframework/web/util/JavaScriptUtils.java +++ b/spring-web/src/main/java/org/springframework/web/util/JavaScriptUtils.java @@ -21,7 +21,7 @@ * Escapes based on the JavaScript 1.5 recommendation. * *

Reference: - * + * * JavaScript Guide on Mozilla Developer Network. * * @author Juergen Hoeller diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/view/groovy/GroovyMarkupConfigurer.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/view/groovy/GroovyMarkupConfigurer.java index 8c80a96ad7a0..a00e2510bcf0 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/view/groovy/GroovyMarkupConfigurer.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/view/groovy/GroovyMarkupConfigurer.java @@ -80,7 +80,7 @@ * @author Rossen Stoyanchev * @since 4.1 * @see GroovyMarkupView - * @see + * @see * Groovy Markup Template engine documentation */ public class GroovyMarkupConfigurer extends TemplateConfiguration diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/view/groovy/GroovyMarkupView.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/view/groovy/GroovyMarkupView.java index 8db7d12d53d9..8e89390ac6c5 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/view/groovy/GroovyMarkupView.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/view/groovy/GroovyMarkupView.java @@ -47,7 +47,7 @@ * @since 4.1 * @see GroovyMarkupViewResolver * @see GroovyMarkupConfigurer - * @see + * @see * Groovy Markup Template engine documentation */ public class GroovyMarkupView extends AbstractTemplateView { diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/view/groovy/package-info.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/view/groovy/package-info.java index b7277bc3433a..516fc623b46d 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/view/groovy/package-info.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/view/groovy/package-info.java @@ -1,6 +1,6 @@ /** * Support classes for the integration of - * + * * Groovy Templates as Spring web view technology. * Contains a View implementation for Groovy templates. */ diff --git a/src/docs/asciidoc/core/core-expressions.adoc b/src/docs/asciidoc/core/core-expressions.adoc index 074523d392d1..8bca2120bdca 100644 --- a/src/docs/asciidoc/core/core-expressions.adoc +++ b/src/docs/asciidoc/core/core-expressions.adoc @@ -1677,7 +1677,7 @@ ternary operator. === The Elvis Operator The Elvis operator is a shortening of the ternary operator syntax and is used in the -http://www.groovy-lang.org/operators.html#_elvis_operator[Groovy] language. +https://www.groovy-lang.org/operators.html#_elvis_operator[Groovy] language. With the ternary operator syntax, you usually have to repeat a variable twice, as the following example shows: @@ -1756,7 +1756,7 @@ This will inject a system property `pop3.port` if it is defined or 25 if not. === Safe Navigation Operator The safe navigation operator is used to avoid a `NullPointerException` and comes from -the http://www.groovy-lang.org/operators.html#_safe_navigation_operator[Groovy] +the https://www.groovy-lang.org/operators.html#_safe_navigation_operator[Groovy] language. Typically, when you have a reference to an object, you might need to verify that it is not null before accessing methods or properties of the object. To avoid this, the safe navigation operator returns null instead of throwing an exception. The following diff --git a/src/docs/asciidoc/data-access.adoc b/src/docs/asciidoc/data-access.adoc index e2aa72a60743..066ceec5b053 100644 --- a/src/docs/asciidoc/data-access.adoc +++ b/src/docs/asciidoc/data-access.adoc @@ -131,7 +131,7 @@ Typically, you need an application server's JTA capability only if your applicat to handle transactions across multiple resources, which is not a requirement for many applications. Many high-end applications use a single, highly scalable database (such as Oracle RAC) instead. Stand-alone transaction managers (such as -https://www.atomikos.com/[Atomikos Transactions] and http://jotm.objectweb.org/[JOTM]) +https://www.atomikos.com/[Atomikos Transactions] and https://jotm.ow2.org/[JOTM]) are other options. Of course, you may need other application server capabilities, such as Java Message Service (JMS) and Java EE Connector Architecture (JCA). @@ -2875,7 +2875,7 @@ treats them as errors. For more information about the Spring Framework's transaction support, see: -* https://www.javaworld.com/javaworld/jw-01-2009/jw-01-spring-transactions.html[Distributed +* https://www.infoworld.com/article/2077963/distributed-transactions-in-spring--with-and-without-xa.html[Distributed transactions in Spring, with and without XA] is a JavaWorld presentation in which Spring's David Syer guides you through seven patterns for distributed transactions in Spring applications, three of them with XA and four without. @@ -6224,7 +6224,7 @@ it with values from the Java `ARRAY`, as the following example shows: === Embedded Database Support The `org.springframework.jdbc.datasource.embedded` package provides support for embedded -Java database engines. Support for http://www.hsqldb.org[HSQL], +Java database engines. Support for https://www.hsqldb.org[HSQL], https://www.h2database.com[H2], and https://db.apache.org/derby[Derby] is provided natively. You can also use an extensible API to plug in new embedded database types and `DataSource` implementations. diff --git a/src/docs/asciidoc/rsocket.adoc b/src/docs/asciidoc/rsocket.adoc index e0c9c42ade55..538d84e81669 100644 --- a/src/docs/asciidoc/rsocket.adoc +++ b/src/docs/asciidoc/rsocket.adoc @@ -53,7 +53,7 @@ through RSocket across the network. === The Protocol One of the benefits of RSocket is that it has well defined behavior on the wire and an -easy to read https://rsocket.io/about/Protocol[specification] along with some protocol +easy to read https://rsocket.io/about/protocol[specification] along with some protocol {gh-rsocket}/rsocket/tree/master/Extensions[extensions]. Therefore it is a good idea to read the spec, independent of language implementations and higher level framework APIs. This section provides a succinct overview to establish some context. diff --git a/src/docs/asciidoc/testing.adoc b/src/docs/asciidoc/testing.adoc index 58d7eb8598f3..34cf3f18cd35 100644 --- a/src/docs/asciidoc/testing.adoc +++ b/src/docs/asciidoc/testing.adoc @@ -92,7 +92,7 @@ parties such as https://github.com/h-thurow/Simple-JNDI[Simple-JNDI]. The `org.springframework.mock.web` package contains a comprehensive set of Servlet API mock objects that are useful for testing web contexts, controllers, and filters. These mock objects are targeted at usage with Spring's Web MVC framework and are generally more -convenient to use than dynamic mock objects (such as http://easymock.org/[EasyMock]) +convenient to use than dynamic mock objects (such as https://easymock.org/[EasyMock]) or alternative Servlet API mock objects (such as http://www.mockobjects.com[MockObjects]). TIP: Since Spring Framework 5.0, the mock objects in `org.springframework.mock.web` are @@ -7729,13 +7729,13 @@ WebTestClient]. Browse these examples for further ideas. ==== HtmlUnit Integration Spring provides integration between <> and -http://htmlunit.sourceforge.net/[HtmlUnit]. This simplifies performing end-to-end testing +https://htmlunit.sourceforge.io/[HtmlUnit]. This simplifies performing end-to-end testing when using HTML-based views. This integration lets you: * Easily test HTML pages by using tools such as - http://htmlunit.sourceforge.net/[HtmlUnit], + https://htmlunit.sourceforge.io/[HtmlUnit], https://www.seleniumhq.org[WebDriver], and - http://www.gebish.org/manual/current/#spock-junit-testng[Geb] without the need to + https://www.gebish.org/manual/current/#spock-junit-testng[Geb] without the need to deploy to a Servlet container. * Test JavaScript within pages. * Optionally, test using mock services to speed up testing. @@ -8062,11 +8062,11 @@ First, we no longer have to explicitly verify our form and then create a request looks like the form. Instead, we request the form, fill it out, and submit it, thereby significantly reducing the overhead. -Another important factor is that http://htmlunit.sourceforge.net/javascript.html[HtmlUnit +Another important factor is that https://htmlunit.sourceforge.io/javascript.html[HtmlUnit uses the Mozilla Rhino engine] to evaluate JavaScript. This means that we can also test the behavior of JavaScript within our pages. -See the http://htmlunit.sourceforge.net/gettingStarted.html[HtmlUnit documentation] for +See the https://htmlunit.sourceforge.io/gettingStarted.html[HtmlUnit documentation] for additional information about using HtmlUnit. [[spring-mvc-test-server-htmlunit-mah-advanced-builder]] @@ -8673,7 +8673,7 @@ TIP: For additional information on creating a `MockMvc` instance, see ===== MockMvc and Geb In the previous section, we saw how to use MockMvc with WebDriver. In this section, we -use http://www.gebish.org/[Geb] to make our tests even Groovy-er. +use https://www.gebish.org/[Geb] to make our tests even Groovy-er. [[spring-mvc-test-server-htmlunit-geb-why]] ====== Why Geb and MockMvc? @@ -8776,7 +8776,7 @@ if we were at the wrong page. Next, we create a `content` closure that specifies all the areas of interest within the page. We can use a -http://www.gebish.org/manual/current/#the-jquery-ish-navigator-api[jQuery-ish Navigator +https://www.gebish.org/manual/current/#the-jquery-ish-navigator-api[jQuery-ish Navigator API] to select the content in which we are interested. Finally, we can verify that a new message was created successfully, as follows: @@ -8793,7 +8793,7 @@ message == expectedMessage ---- For further details on how to get the most out of Geb, see -http://www.gebish.org/manual/current/[The Book of Geb] user's manual. +https://www.gebish.org/manual/current/[The Book of Geb] user's manual. [[spring-mvc-test-client]] diff --git a/src/docs/asciidoc/web/webflux-view.adoc b/src/docs/asciidoc/web/webflux-view.adoc index 379d5e1a29ff..04b9f8c1a0e1 100644 --- a/src/docs/asciidoc/web/webflux-view.adoc +++ b/src/docs/asciidoc/web/webflux-view.adoc @@ -26,7 +26,7 @@ configuration involves a few bean declarations, such as `SpringResourceTemplateResolver`, `SpringWebFluxTemplateEngine`, and `ThymeleafReactiveViewResolver`. For more details, see https://www.thymeleaf.org/documentation.html[Thymeleaf+Spring] and the WebFlux integration -http://forum.thymeleaf.org/Thymeleaf-3-0-8-JUST-PUBLISHED-td4030687.html[announcement]. +https://web.archive.org/web/20210623051330/http%3A//forum.thymeleaf.org/Thymeleaf-3-0-8-JUST-PUBLISHED-td4030687.html[announcement]. diff --git a/src/docs/asciidoc/web/webflux.adoc b/src/docs/asciidoc/web/webflux.adoc index e99aeebc698a..f86bfdd49ff8 100644 --- a/src/docs/asciidoc/web/webflux.adoc +++ b/src/docs/asciidoc/web/webflux.adoc @@ -34,7 +34,7 @@ The other part of the answer is functional programming. Much as the addition of in Java 5 created opportunities (such as annotated REST controllers or unit tests), the addition of lambda expressions in Java 8 created opportunities for functional APIs in Java. This is a boon for non-blocking applications and continuation-style APIs (as popularized -by `CompletableFuture` and http://reactivex.io/[ReactiveX]) that allow declarative +by `CompletableFuture` and https://reactivex.io/[ReactiveX]) that allow declarative composition of asynchronous logic. At the programming-model level, Java 8 enabled Spring WebFlux to offer functional web endpoints alongside annotated controllers. @@ -87,7 +87,7 @@ Spring WebFlux. It provides the https://projectreactor.io/docs/core/release/api/reactor/core/publisher/Mono.html[`Mono`] and https://projectreactor.io/docs/core/release/api/reactor/core/publisher/Flux.html[`Flux`] API types to work on data sequences of 0..1 (`Mono`) and 0..N (`Flux`) through a rich set of operators aligned with the -ReactiveX http://reactivex.io/documentation/operators.html[vocabulary of operators]. +ReactiveX https://reactivex.io/documentation/operators.html[vocabulary of operators]. Reactor is a Reactive Streams library and, therefore, all of its operators support non-blocking back pressure. Reactor has a strong focus on server-side Java. It is developed in close collaboration with Spring. diff --git a/src/docs/asciidoc/web/webmvc-view.adoc b/src/docs/asciidoc/web/webmvc-view.adoc index c127d1ffe43a..d30b07a987e6 100644 --- a/src/docs/asciidoc/web/webmvc-view.adoc +++ b/src/docs/asciidoc/web/webmvc-view.adoc @@ -479,7 +479,7 @@ In similar fashion, you can specify HTML escaping per field, as the following ex [[mvc-view-groovymarkup]] == Groovy Markup -The http://groovy-lang.org/templating.html#_the_markuptemplateengine[Groovy Markup Template Engine] +The https://groovy-lang.org/templating.html#_the_markuptemplateengine[Groovy Markup Template Engine] is primarily aimed at generating XML-like markup (XML, XHTML, HTML5, and others), but you can use it to generate any text-based content. The Spring Framework has a built-in integration for using Spring MVC with Groovy Markup. diff --git a/src/docs/asciidoc/web/websocket.adoc b/src/docs/asciidoc/web/websocket.adoc index 00f485b721f4..c30cddf456fb 100644 --- a/src/docs/asciidoc/web/websocket.adoc +++ b/src/docs/asciidoc/web/websocket.adoc @@ -597,7 +597,7 @@ a key reason for having SockJS. This section covers important considerations about running in those browsers. The SockJS client supports Ajax/XHR streaming in IE 8 and 9 by using Microsoft's -https://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx[`XDomainRequest`]. +https://web.archive.org/web/20160219230343/https://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx[`XDomainRequest`]. That works across domains but does not support sending cookies. Cookies are often essential for Java applications. However, since the SockJS client can be used with many server diff --git a/src/nohttp/allowlist.lines b/src/nohttp/allowlist.lines index bf8c2a29431f..9ef9fdc7e212 100644 --- a/src/nohttp/allowlist.lines +++ b/src/nohttp/allowlist.lines @@ -1,26 +1,7 @@ ^http://aopalliance.sourceforge.net.* -^http://[^/]*caucho.com.* -^http://cglib.sourceforge.net.* -^http://classdoc.sourceforge.net.* -^http://easymock.org.* -^http://forum.thymeleaf.org.* -^http://[^/]*gebish.org.* -^http://[^/]*groovy-lang.org.* -^http://[^/]*hsqldb.org.* -^http://htmlunit.sourceforge.net.* -^http://javadiff.cvs.sourceforge.net.* -^http://javadiff.sourceforge.net.* ^http://jibx.sourceforge.net.* -^http://jotm.objectweb.org.* -^http://json-b.net/.* ^http://mx4j.sourceforge.net.* ^http://objenesis.org.* -^http://reactivex.io.* -^http://sites.utoronto.ca.* -^http://www.beanshell.org.* -^http://www.doclet.com.* -^http://www.jensgulden.de.* ^http://www.mockobjects.com.* ^http://www.w3.org/2000/xmlns/ -^http://xmlunit.sourceforge.net.* ^http://xunitpatterns.com.*