diff --git a/spring-aop/src/main/java/org/springframework/aop/aspectj/annotation/AspectMetadata.java b/spring-aop/src/main/java/org/springframework/aop/aspectj/annotation/AspectMetadata.java index a3e73ed063e..048cc603ccc 100644 --- a/spring-aop/src/main/java/org/springframework/aop/aspectj/annotation/AspectMetadata.java +++ b/spring-aop/src/main/java/org/springframework/aop/aspectj/annotation/AspectMetadata.java @@ -127,9 +127,9 @@ public class AspectMetadata implements Serializable { */ private String findPerClause(Class aspectClass) { String str = aspectClass.getAnnotation(Aspect.class).value(); - str = str.substring(str.indexOf('(') + 1); - str = str.substring(0, str.length() - 1); - return str; + int beginIndex = str.indexOf('(') + 1; + int endIndex = str.length() - 1; + return str.substring(beginIndex, endIndex); } diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/resource/CssLinkResourceTransformer.java b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/CssLinkResourceTransformer.java index 7acaffd9709..668e3d677e0 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/resource/CssLinkResourceTransformer.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/resource/CssLinkResourceTransformer.java @@ -221,7 +221,7 @@ public class CssLinkResourceTransformer extends ResourceTransformerSupport { @Override protected int extractUnquotedLink(int position, String content, Set result) { - if (content.substring(position, position + 4).equals("url(")) { + if (content.startsWith("url(", position)) { // Ignore, UrlFunctionContentParser will take care } else if (logger.isTraceEnabled()) { diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/CssLinkResourceTransformer.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/CssLinkResourceTransformer.java index 91ccb9efdd7..d695a803a9b 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/CssLinkResourceTransformer.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/resource/CssLinkResourceTransformer.java @@ -182,7 +182,7 @@ public class CssLinkResourceTransformer extends ResourceTransformerSupport { @Override protected int extractLink(int index, String content, SortedSet linksToAdd) { - if (content.substring(index, index + 4).equals("url(")) { + if (content.startsWith("url(", index)) { // Ignore, UrlLinkParser will take care } else if (logger.isTraceEnabled()) { diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/view/AbstractView.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/view/AbstractView.java index 55c6801acbe..8389b8707d4 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/view/AbstractView.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/view/AbstractView.java @@ -147,11 +147,10 @@ public abstract class AbstractView extends WebApplicationObjectSupport implement "At least 2 characters ([]) required in attributes CSV string '" + propString + "'"); } String name = tok.substring(0, eqIdx); - String value = tok.substring(eqIdx + 1); - // Delete first and last characters of value: { and } - value = value.substring(1); - value = value.substring(0, value.length() - 1); + int beginIndex = eqIdx + 2; + int endIndex = tok.length() - 1; + String value = tok.substring(beginIndex, endIndex); addStaticAttribute(name, value); } diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/support/AbstractSockJsService.java b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/support/AbstractSockJsService.java index fa066f5a238..0fb3ee3f370 100644 --- a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/support/AbstractSockJsService.java +++ b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/support/AbstractSockJsService.java @@ -472,8 +472,7 @@ public abstract class AbstractSockJsService implements SockJsService, CorsConfig private boolean validatePath(ServerHttpRequest request) { String path = request.getURI().getPath(); int index = path.lastIndexOf('/') + 1; - String filename = path.substring(index); - return (filename.indexOf(';') == -1); + return path.indexOf(';', index) == -1; } protected boolean checkOrigin(ServerHttpRequest request, ServerHttpResponse response, HttpMethod... httpMethods) @@ -571,7 +570,7 @@ public abstract class AbstractSockJsService implements SockJsService, CorsConfig sendMethodNotAllowed(response, HttpMethod.GET, HttpMethod.OPTIONS); } } - }; + } private class IframeHandler implements SockJsRequestHandler { @@ -622,6 +621,6 @@ public abstract class AbstractSockJsService implements SockJsService, CorsConfig response.getHeaders().setETag(etagValue); response.getBody().write(contentBytes); } - }; + } }