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
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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 <<spring-mvc-test-server, MockMvc>> 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]]
|
||||
|
||||
@@ -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].
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user