Skip to content

Commit eb3a3a6

Browse files
committed
reuse a shared UrlPathHelper instance in order to avoid reinstantiation overhead (SPR-7269)
1 parent e12fbd3 commit eb3a3a6

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/DispatcherServlet.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -198,14 +198,17 @@ public class DispatcherServlet extends FrameworkServlet {
198198
public static final String PAGE_NOT_FOUND_LOG_CATEGORY = "org.springframework.web.servlet.PageNotFound";
199199

200200
/**
201-
* Name of the class path resource (relative to the DispatcherServlet class) that defines DispatcherServlet's default
202-
* strategy names.
201+
* Name of the class path resource (relative to the DispatcherServlet class)
202+
* that defines DispatcherServlet's default strategy names.
203203
*/
204204
private static final String DEFAULT_STRATEGIES_PATH = "DispatcherServlet.properties";
205205

206+
206207
/** Additional logger to use when no mapped handler is found for a request. */
207208
protected static final Log pageNotFoundLogger = LogFactory.getLog(PAGE_NOT_FOUND_LOG_CATEGORY);
208209

210+
private static final UrlPathHelper urlPathHelper = new UrlPathHelper();
211+
209212
private static final Properties defaultStrategies;
210213

211214
static {
@@ -686,7 +689,7 @@ protected Object createDefaultStrategy(ApplicationContext context, Class<?> claz
686689
@Override
687690
protected void doService(HttpServletRequest request, HttpServletResponse response) throws Exception {
688691
if (logger.isDebugEnabled()) {
689-
String requestUri = new UrlPathHelper().getRequestUri(request);
692+
String requestUri = urlPathHelper.getRequestUri(request);
690693
logger.debug("DispatcherServlet with name '" + getServletName() + "' processing " + request.getMethod() +
691694
" request for [" + requestUri + "]");
692695
}
@@ -838,7 +841,7 @@ protected void doDispatch(HttpServletRequest request, HttpServletResponse respon
838841
@Override
839842
protected long getLastModified(HttpServletRequest request) {
840843
if (logger.isDebugEnabled()) {
841-
String requestUri = new UrlPathHelper().getRequestUri(request);
844+
String requestUri = urlPathHelper.getRequestUri(request);
842845
logger.debug(
843846
"DispatcherServlet with name '" + getServletName() + "' determining Last-Modified value for [" +
844847
requestUri + "]");
@@ -854,7 +857,7 @@ protected long getLastModified(HttpServletRequest request) {
854857
HandlerAdapter ha = getHandlerAdapter(mappedHandler.getHandler());
855858
long lastModified = ha.getLastModified(request, mappedHandler.getHandler());
856859
if (logger.isDebugEnabled()) {
857-
String requestUri = new UrlPathHelper().getRequestUri(request);
860+
String requestUri = urlPathHelper.getRequestUri(request);
858861
logger.debug("Last-Modified value for [" + requestUri + "] is: " + lastModified);
859862
}
860863
return lastModified;
@@ -958,7 +961,7 @@ protected HandlerExecutionChain getHandler(HttpServletRequest request, boolean c
958961
*/
959962
protected void noHandlerFound(HttpServletRequest request, HttpServletResponse response) throws Exception {
960963
if (pageNotFoundLogger.isWarnEnabled()) {
961-
String requestUri = new UrlPathHelper().getRequestUri(request);
964+
String requestUri = urlPathHelper.getRequestUri(request);
962965
pageNotFoundLogger.warn("No mapping found for HTTP request with URI [" + requestUri +
963966
"] in DispatcherServlet with name '" + getServletName() + "'");
964967
}

0 commit comments

Comments
 (0)