mirror of
https://github.com/spring-projects/spring-framework.git
synced 2026-09-17 16:39:29 +00:00
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:
+1
-1
@@ -153,7 +153,7 @@ asciidoctorPdf {
|
|||||||
task docsZip(type: Zip, dependsOn: ['api', 'asciidoctor', 'asciidoctorPdf', 'dokkaHtmlMultiModule']) {
|
task docsZip(type: Zip, dependsOn: ['api', 'asciidoctor', 'asciidoctorPdf', 'dokkaHtmlMultiModule']) {
|
||||||
group = "Distribution"
|
group = "Distribution"
|
||||||
description = "Builds -${archiveClassifier} archive containing api and reference " +
|
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")
|
archiveBaseName.set("spring-framework")
|
||||||
archiveClassifier.set("docs")
|
archiveClassifier.set("docs")
|
||||||
|
|||||||
+1
-1
@@ -31,6 +31,6 @@ You'll notice these files are already intentionally in .gitignore. The same poli
|
|||||||
|
|
||||||
## FAQ
|
## 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
|
A. Keep an eye on https://youtrack.jetbrains.com/issue/IDEA-53476
|
||||||
|
|||||||
+1
-1
@@ -50,7 +50,7 @@ video/x-msvideo avi
|
|||||||
################################################################################
|
################################################################################
|
||||||
#
|
#
|
||||||
# Additional file types adapted from
|
# 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.
|
# kindly re-licensed to Apache Software License 2.0 by Ian Graham.
|
||||||
#
|
#
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Package providing integration of
|
* Package providing integration of
|
||||||
* <a href="http://www.beanshell.org">BeanShell</a>
|
* <a href="https://beanshell.github.io/">BeanShell</a>
|
||||||
* (and <a href="https://code.google.com/p/beanshell2/">BeanShell2</a>)
|
* (and <a href="https://code.google.com/p/beanshell2/">BeanShell2</a>)
|
||||||
* into Spring's scripting infrastructure.
|
* into Spring's scripting infrastructure.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Package providing integration of
|
* Package providing integration of
|
||||||
* <a href="http://www.groovy-lang.org/">Groovy</a>
|
* <a href="https://www.groovy-lang.org/">Groovy</a>
|
||||||
* into Spring's scripting infrastructure.
|
* into Spring's scripting infrastructure.
|
||||||
*/
|
*/
|
||||||
@NonNullApi
|
@NonNullApi
|
||||||
|
|||||||
@@ -46,11 +46,7 @@ import static org.assertj.core.api.Assertions.assertThat;
|
|||||||
* {@code jmxremote_optional.jar} into your classpath, for example in the {@code lib/ext}
|
* {@code jmxremote_optional.jar} into your classpath, for example in the {@code lib/ext}
|
||||||
* folder of your JVM.
|
* folder of your JVM.
|
||||||
*
|
*
|
||||||
* <p>See also:
|
* <p>See also: <a href="https://jira.spring.io/browse/SPR-8093">SPR-8093</a>
|
||||||
* <ul>
|
|
||||||
* <li><a href="https://jira.spring.io/browse/SPR-8093">SPR-8093</a></li>
|
|
||||||
* <li><a href="https://issuetracker.springsource.com/browse/EBR-349">EBR-349</a></li>
|
|
||||||
* </ul>
|
|
||||||
*
|
*
|
||||||
* @author Rob Harrop
|
* @author Rob Harrop
|
||||||
* @author Juergen Hoeller
|
* @author Juergen Hoeller
|
||||||
|
|||||||
@@ -226,7 +226,7 @@ public final class BridgeMethodResolver {
|
|||||||
/**
|
/**
|
||||||
* Compare the signatures of the bridge method and the method which it bridges. If
|
* 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
|
* 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
|
* See also https://stas-blogspot.blogspot.com/2010/03/java-bridge-methods-explained.html
|
||||||
* @return whether signatures match as described
|
* @return whether signatures match as described
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -31,10 +31,10 @@ Syntax
|
|||||||
- Need to agree on a standard date format for 'default' processing of dates. Currently it is:
|
- 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);
|
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"
|
// 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
|
- See LiteralTests for Date (4,5,6) - should date take an expression rather than be hardcoded in the grammar
|
||||||
to take 2 strings only?
|
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
|
- 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)
|
say we cannot as it won't fit into an int? (see OperatorTests.testMathOperatorDivide04)
|
||||||
- Is $index within projection/selection useful or just cute?
|
- 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?
|
- 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?
|
||||||
|
|||||||
+1
-1
@@ -39,7 +39,7 @@ import static org.assertj.core.api.Assertions.assertThat;
|
|||||||
|
|
||||||
///CLOVER:OFF
|
///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
|
* @author Andy Clement
|
||||||
*/
|
*/
|
||||||
|
|||||||
+1
-1
@@ -25,7 +25,7 @@ package org.springframework.jdbc.datasource.embedded;
|
|||||||
*/
|
*/
|
||||||
public enum EmbeddedDatabaseType {
|
public enum EmbeddedDatabaseType {
|
||||||
|
|
||||||
/** The <a href="http://hsqldb.org">Hypersonic</a> Embedded Java SQL Database. */
|
/** The <a href="https://hsqldb.org">Hypersonic</a> Embedded Java SQL Database. */
|
||||||
HSQL,
|
HSQL,
|
||||||
|
|
||||||
/** The <a href="https://h2database.com">H2</a> Embedded Java SQL Database Engine. */
|
/** The <a href="https://h2database.com">H2</a> Embedded Java SQL Database Engine. */
|
||||||
|
|||||||
+1
-1
@@ -29,7 +29,7 @@ import org.springframework.util.Assert;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Implementation of {@link MessageConverter} that can read and write JSON
|
* Implementation of {@link MessageConverter} that can read and write JSON
|
||||||
* using the <a href="http://json-b.net/">JSON Binding API</a>.
|
* using the <a href="https://javaee.github.io/jsonb-spec/">JSON Binding API</a>.
|
||||||
*
|
*
|
||||||
* @author Juergen Hoeller
|
* @author Juergen Hoeller
|
||||||
* @since 5.3
|
* @since 5.3
|
||||||
|
|||||||
+1
-1
@@ -255,7 +255,7 @@ public class ContentRequestMatchers {
|
|||||||
* two are "similar" - i.e. they contain the same elements and attributes
|
* two are "similar" - i.e. they contain the same elements and attributes
|
||||||
* regardless of order.
|
* regardless of order.
|
||||||
* <p>Use of this matcher assumes the
|
* <p>Use of this matcher assumes the
|
||||||
* <a href="http://xmlunit.sourceforge.net/">XMLUnit</a> library is available.
|
* <a href="https://www.xmlunit.org/">XMLUnit</a> library is available.
|
||||||
* @param expectedXmlContent the expected XML content
|
* @param expectedXmlContent the expected XML content
|
||||||
*/
|
*/
|
||||||
public RequestMatcher xml(String expectedXmlContent) {
|
public RequestMatcher xml(String expectedXmlContent) {
|
||||||
|
|||||||
+1
-1
@@ -40,7 +40,7 @@ import org.springframework.util.Assert;
|
|||||||
/**
|
/**
|
||||||
* {@code MockMvcWebConnection} enables {@link MockMvc} to transform a
|
* {@code MockMvcWebConnection} enables {@link MockMvc} to transform a
|
||||||
* {@link WebRequest} into a {@link WebResponse}.
|
* {@link WebRequest} into a {@link WebResponse}.
|
||||||
* <p>This is the core integration with <a href="http://htmlunit.sourceforge.net/">HtmlUnit</a>.
|
* <p>This is the core integration with <a href="https://htmlunit.sourceforge.io/">HtmlUnit</a>.
|
||||||
* <p>Example usage can be seen below.
|
* <p>Example usage can be seen below.
|
||||||
*
|
*
|
||||||
* <pre class="code">
|
* <pre class="code">
|
||||||
|
|||||||
+1
-1
@@ -160,7 +160,7 @@ public class ContentResultMatchers {
|
|||||||
* are "similar" - i.e. they contain the same elements and attributes
|
* are "similar" - i.e. they contain the same elements and attributes
|
||||||
* regardless of order.
|
* regardless of order.
|
||||||
* <p>Use of this matcher requires the <a
|
* <p>Use of this matcher requires the <a
|
||||||
* href="http://xmlunit.sourceforge.net/">XMLUnit</a> library.
|
* href="https://www.xmlunit.org/">XMLUnit</a> library.
|
||||||
* @param xmlContent the expected XML content
|
* @param xmlContent the expected XML content
|
||||||
* @see MockMvcResultMatchers#xpath(String, Object...)
|
* @see MockMvcResultMatchers#xpath(String, Object...)
|
||||||
* @see MockMvcResultMatchers#xpath(String, Map, Object...)
|
* @see MockMvcResultMatchers#xpath(String, Map, Object...)
|
||||||
|
|||||||
+1
-1
@@ -31,7 +31,7 @@ import org.springframework.util.Assert;
|
|||||||
/**
|
/**
|
||||||
* Implementation of {@link org.springframework.http.converter.HttpMessageConverter}
|
* Implementation of {@link org.springframework.http.converter.HttpMessageConverter}
|
||||||
* that can read and write JSON using the
|
* that can read and write JSON using the
|
||||||
* <a href="http://json-b.net/">JSON Binding API</a>.
|
* <a href="https://javaee.github.io/jsonb-spec/">JSON Binding API</a>.
|
||||||
*
|
*
|
||||||
* <p>This converter can be used to bind to typed beans or untyped {@code HashMap}s.
|
* <p>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
|
* By default, it supports {@code application/json} and {@code application/*+json} with
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ package org.springframework.web.util;
|
|||||||
* Escapes based on the JavaScript 1.5 recommendation.
|
* Escapes based on the JavaScript 1.5 recommendation.
|
||||||
*
|
*
|
||||||
* <p>Reference:
|
* <p>Reference:
|
||||||
* <a href="https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Values,_variables,_and_literals#String_literals">
|
* <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Grammar_and_types#string_literals">
|
||||||
* JavaScript Guide</a> on Mozilla Developer Network.
|
* JavaScript Guide</a> on Mozilla Developer Network.
|
||||||
*
|
*
|
||||||
* @author Juergen Hoeller
|
* @author Juergen Hoeller
|
||||||
|
|||||||
+1
-1
@@ -80,7 +80,7 @@ import org.springframework.util.StringUtils;
|
|||||||
* @author Rossen Stoyanchev
|
* @author Rossen Stoyanchev
|
||||||
* @since 4.1
|
* @since 4.1
|
||||||
* @see GroovyMarkupView
|
* @see GroovyMarkupView
|
||||||
* @see <a href="http://groovy-lang.org/templating.html#_the_markuptemplateengine">
|
* @see <a href="https://groovy-lang.org/templating.html#_the_markuptemplateengine">
|
||||||
* Groovy Markup Template engine documentation</a>
|
* Groovy Markup Template engine documentation</a>
|
||||||
*/
|
*/
|
||||||
public class GroovyMarkupConfigurer extends TemplateConfiguration
|
public class GroovyMarkupConfigurer extends TemplateConfiguration
|
||||||
|
|||||||
+1
-1
@@ -47,7 +47,7 @@ import org.springframework.web.util.NestedServletException;
|
|||||||
* @since 4.1
|
* @since 4.1
|
||||||
* @see GroovyMarkupViewResolver
|
* @see GroovyMarkupViewResolver
|
||||||
* @see GroovyMarkupConfigurer
|
* @see GroovyMarkupConfigurer
|
||||||
* @see <a href="http://groovy-lang.org/templating.html#_the_markuptemplateengine">
|
* @see <a href="https://groovy-lang.org/templating.html#_the_markuptemplateengine">
|
||||||
* Groovy Markup Template engine documentation</a>
|
* Groovy Markup Template engine documentation</a>
|
||||||
*/
|
*/
|
||||||
public class GroovyMarkupView extends AbstractTemplateView {
|
public class GroovyMarkupView extends AbstractTemplateView {
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Support classes for the integration of
|
* Support classes for the integration of
|
||||||
* <a href="http://docs.groovy-lang.org/docs/next/html/documentation/template-engines.html#_the_markuptemplateengine">
|
* <a href="https://groovy-lang.org/templating.html#_the_markuptemplateengine">
|
||||||
* Groovy Templates</a> as Spring web view technology.
|
* Groovy Templates</a> as Spring web view technology.
|
||||||
* Contains a View implementation for Groovy templates.
|
* Contains a View implementation for Groovy templates.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1677,7 +1677,7 @@ ternary operator.
|
|||||||
=== The Elvis Operator
|
=== The Elvis Operator
|
||||||
|
|
||||||
The Elvis operator is a shortening of the ternary operator syntax and is used in the
|
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
|
With the ternary operator syntax, you usually have to repeat a variable twice, as the
|
||||||
following example shows:
|
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
|
=== Safe Navigation Operator
|
||||||
|
|
||||||
The safe navigation operator is used to avoid a `NullPointerException` and comes from
|
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
|
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
|
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
|
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
|
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
|
applications. Many high-end applications use a single, highly scalable database (such as
|
||||||
Oracle RAC) instead. Stand-alone transaction managers (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
|
are other options. Of course, you may need other application server capabilities, such as
|
||||||
Java Message Service (JMS) and Java EE Connector Architecture (JCA).
|
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:
|
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
|
transactions in Spring, with and without XA] is a JavaWorld presentation in which
|
||||||
Spring's David Syer guides you through seven patterns for distributed
|
Spring's David Syer guides you through seven patterns for distributed
|
||||||
transactions in Spring applications, three of them with XA and four without.
|
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
|
=== Embedded Database Support
|
||||||
|
|
||||||
The `org.springframework.jdbc.datasource.embedded` package provides support for embedded
|
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
|
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
|
natively. You can also use an extensible API to plug in new embedded database types and
|
||||||
`DataSource` implementations.
|
`DataSource` implementations.
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ through RSocket across the network.
|
|||||||
=== The Protocol
|
=== The Protocol
|
||||||
|
|
||||||
One of the benefits of RSocket is that it has well defined behavior on the wire and an
|
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
|
{gh-rsocket}/rsocket/tree/master/Extensions[extensions]. Therefore it is
|
||||||
a good idea to read the spec, independent of language implementations and higher level
|
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.
|
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
|
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 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
|
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]).
|
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
|
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
|
==== HtmlUnit Integration
|
||||||
|
|
||||||
Spring provides integration between <<spring-mvc-test-server, MockMvc>> and
|
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:
|
when using HTML-based views. This integration lets you:
|
||||||
|
|
||||||
* Easily test HTML pages by using tools such as
|
* 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
|
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.
|
deploy to a Servlet container.
|
||||||
* Test JavaScript within pages.
|
* Test JavaScript within pages.
|
||||||
* Optionally, test using mock services to speed up testing.
|
* 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
|
looks like the form. Instead, we request the form, fill it out, and submit it, thereby
|
||||||
significantly reducing the overhead.
|
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
|
uses the Mozilla Rhino engine] to evaluate JavaScript. This means that we can also test
|
||||||
the behavior of JavaScript within our pages.
|
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.
|
additional information about using HtmlUnit.
|
||||||
|
|
||||||
[[spring-mvc-test-server-htmlunit-mah-advanced-builder]]
|
[[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
|
===== MockMvc and Geb
|
||||||
|
|
||||||
In the previous section, we saw how to use MockMvc with WebDriver. In this section, we
|
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]]
|
[[spring-mvc-test-server-htmlunit-geb-why]]
|
||||||
====== Why Geb and MockMvc?
|
====== 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
|
Next, we create a `content` closure that specifies all the areas of interest within the
|
||||||
page. We can use a
|
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.
|
API] to select the content in which we are interested.
|
||||||
|
|
||||||
Finally, we can verify that a new message was created successfully, as follows:
|
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
|
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]]
|
[[spring-mvc-test-client]]
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ configuration involves a few bean declarations, such as
|
|||||||
`SpringResourceTemplateResolver`, `SpringWebFluxTemplateEngine`, and
|
`SpringResourceTemplateResolver`, `SpringWebFluxTemplateEngine`, and
|
||||||
`ThymeleafReactiveViewResolver`. For more details, see
|
`ThymeleafReactiveViewResolver`. For more details, see
|
||||||
https://www.thymeleaf.org/documentation.html[Thymeleaf+Spring] and the WebFlux integration
|
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
|
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.
|
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
|
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
|
composition of asynchronous logic. At the programming-model level, Java 8 enabled Spring
|
||||||
WebFlux to offer functional web endpoints alongside annotated controllers.
|
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/Mono.html[`Mono`] and
|
||||||
https://projectreactor.io/docs/core/release/api/reactor/core/publisher/Flux.html[`Flux`] API types
|
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
|
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 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
|
Reactor has a strong focus on server-side Java. It is developed in close collaboration
|
||||||
with Spring.
|
with Spring.
|
||||||
|
|||||||
@@ -479,7 +479,7 @@ In similar fashion, you can specify HTML escaping per field, as the following ex
|
|||||||
[[mvc-view-groovymarkup]]
|
[[mvc-view-groovymarkup]]
|
||||||
== Groovy Markup
|
== 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
|
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
|
use it to generate any text-based content. The Spring Framework has a built-in
|
||||||
integration for using Spring MVC with Groovy Markup.
|
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.
|
considerations about running in those browsers.
|
||||||
|
|
||||||
The SockJS client supports Ajax/XHR streaming in IE 8 and 9 by using Microsoft's
|
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.
|
That works across domains but does not support sending cookies.
|
||||||
Cookies are often essential for Java applications.
|
Cookies are often essential for Java applications.
|
||||||
However, since the SockJS client can be used with many server
|
However, since the SockJS client can be used with many server
|
||||||
|
|||||||
@@ -1,26 +1,7 @@
|
|||||||
^http://aopalliance.sourceforge.net.*
|
^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://jibx.sourceforge.net.*
|
||||||
^http://jotm.objectweb.org.*
|
|
||||||
^http://json-b.net/.*
|
|
||||||
^http://mx4j.sourceforge.net.*
|
^http://mx4j.sourceforge.net.*
|
||||||
^http://objenesis.org.*
|
^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.mockobjects.com.*
|
||||||
^http://www.w3.org/2000/xmlns/
|
^http://www.w3.org/2000/xmlns/
|
||||||
^http://xmlunit.sourceforge.net.*
|
|
||||||
^http://xunitpatterns.com.*
|
^http://xunitpatterns.com.*
|
||||||
|
|||||||
Reference in New Issue
Block a user