From 00c227ac011e3cb12e9698a049f2471389d1bdee Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Fri, 17 May 2013 16:12:06 +0100 Subject: [PATCH] Add favicon.ico --- .../src/main/resources/favicon.ico | Bin 0 -> 2862 bytes .../web/WebMvcAutoConfiguration.java | 32 ++++++++++++++++++ .../src/main/resources/favicon.ico | Bin 0 -> 306 bytes 3 files changed, 32 insertions(+) create mode 100644 spring-bootstrap-samples/spring-bootstrap-ui-sample/src/main/resources/favicon.ico create mode 100644 spring-bootstrap/src/main/resources/favicon.ico diff --git a/spring-bootstrap-samples/spring-bootstrap-ui-sample/src/main/resources/favicon.ico b/spring-bootstrap-samples/spring-bootstrap-ui-sample/src/main/resources/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..fd306001dc2f8a4c1837118dd6f2c102b48e912b GIT binary patch literal 2862 zcmeHJeN2;Q5I@St070P&Dih>|O`JMFswf|J6A_&P3OcqSVZq6VI1sxD3)9NLb`5o? z)zs-0qeYoAB?8K7QN~I@WQvnbqE(xSSh3O0;KEm2Z}+|wWV*Px?7!{O-+On@J-_Fk z`!#u604uNt7Z(@uHZau+AQ*shpxhoZYypyKZ7}zS3>$zZJAkR|9)dT4wpumz8&_aEEJs?}B2U-HOBuER^0?q;l-CsRj$wscrYvt-9fnY8nZ1mPs$3p))I@;Uv>#eacwjc>LU&6%lq9ly{Gm?j4u+~w80aVjt!6c- zGI>yyZwDrA6tpPZiPr=j71N+cpHJKpFtn$Ec!?dD&HJG|+a21KJSa~X4K=IzU}}no zCWQ~xO2FJE24ib7=*#@Us1ee+d=N$Opr>5~hPo)wmUvOm63~dfz@UuMph$M4dkdj;p9h!?V!DTtxM`q@9}ODn+oIq@VT2>}=yIuVEEpXSoMuT}k zN@pa{8SIQf&?2QCHNn)c7+REG)Tagp^kR_4lOE<+UnV>D?L93E@oNfvb z$FjXt(57?*4X0HC@8s4J$s7khz;W;B~MP(kzb(0AXX%Y=5CNl)|qZ~q+yBy%Q>usM?G z3{TcFJY(n?;~5>7XR!qG33+n^a#lv>4B5)afXK~R6Nc2v_Q;9Md3DMNo1PQ9Bvr&D z`}#6leHkWoW~^g`12fNwadKi9rv(lXjvtR2GnsjhVb(Lu>+g1&0;V4ozRuyEZ%tC!yy=jRsY7wqHn zcD&nL&Qa6IqMV(_jvfEftoPm5*xDv0=FVOtT*Z^T>Afs%>Bhxd7H{-lIx$o7@4jcf zhopGM7tMEMRB_IlBP*TpMW9;ltdT4j#T-p?X*m6XE7lOc8v!;ST34sKqMGtySn^}Z zE)D9;agXcQyWw-O;i)>CXS<;~i@13c@nVTDHgEF4=B-{7`}{42_Oe`-^HcF;EL+P* z`c1&Kq3~SfEwsg>S#E{1KydzmYq$OWv}Hj=wg>qv>26VFj8_&c-v6G2EW! z-JW>Aei7b26@i8`k@&DF1|ObVhV*-g^+kXe_e|h=-uoe%^FQty$E~xqOM5-g+*yGS zo8!<>7matd%ka^~1blQU5g# z&BRA-sd(p9FkU}67TcA8H%iCjt>e@2w<{v-y^)W-x?JqNy5R}GH3|E#rD5OoEbP1a z3HIr?;J~dS?C+4{!0qi8?7;rpU(mV?`)?I;pvxi)!&crOp}?q)=T1hH!yqH!1E z{jU*C`^g_9uOj~yVGq@Iax>t42^y|$INxwO#SaH07ZA52nyHSoAHN|~5>62`1T~?W aaGX#^pmTp$Txig&n+EXD|Ie{6lRp5UY!=u6 literal 0 HcmV?d00001 diff --git a/spring-bootstrap/src/main/java/org/springframework/bootstrap/autoconfigure/web/WebMvcAutoConfiguration.java b/spring-bootstrap/src/main/java/org/springframework/bootstrap/autoconfigure/web/WebMvcAutoConfiguration.java index 929cb6ee46..d2fda21ae8 100644 --- a/spring-bootstrap/src/main/java/org/springframework/bootstrap/autoconfigure/web/WebMvcAutoConfiguration.java +++ b/spring-bootstrap/src/main/java/org/springframework/bootstrap/autoconfigure/web/WebMvcAutoConfiguration.java @@ -16,6 +16,9 @@ package org.springframework.bootstrap.autoconfigure.web; +import java.util.Arrays; +import java.util.Collections; + import javax.servlet.Servlet; import org.springframework.beans.factory.BeanFactory; @@ -31,6 +34,8 @@ import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import org.springframework.core.convert.converter.Converter; import org.springframework.core.convert.converter.GenericConverter; +import org.springframework.core.io.ClassPathResource; +import org.springframework.core.io.Resource; import org.springframework.format.Formatter; import org.springframework.format.FormatterRegistry; import org.springframework.web.accept.ContentNegotiationManager; @@ -42,6 +47,8 @@ import org.springframework.web.servlet.config.annotation.DefaultServletHandlerCo import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; +import org.springframework.web.servlet.handler.SimpleUrlHandlerMapping; +import org.springframework.web.servlet.resource.ResourceHttpRequestHandler; import org.springframework.web.servlet.view.BeanNameViewResolver; import org.springframework.web.servlet.view.ContentNegotiatingViewResolver; @@ -113,6 +120,10 @@ public class WebMvcAutoConfiguration { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { + registry.addResourceHandler("/resources/**").addResourceLocations("/") + .addResourceLocations("classpath:/META-INF/resources/") + .addResourceLocations("classpath:/resources") + .addResourceLocations("classpath:/"); registry.addResourceHandler("/**").addResourceLocations("/") .addResourceLocations("classpath:/META-INF/resources/") .addResourceLocations("classpath:/static") @@ -121,4 +132,25 @@ public class WebMvcAutoConfiguration { } + @Configuration + public static class FaviconConfiguration { + + @Bean + public SimpleUrlHandlerMapping faviconHandlerMapping() { + SimpleUrlHandlerMapping mapping = new SimpleUrlHandlerMapping(); + mapping.setOrder(Integer.MIN_VALUE + 1); + mapping.setUrlMap(Collections.singletonMap("**/favicon.ico", + faviconRequestHandler())); + return mapping; + } + + @Bean + protected ResourceHttpRequestHandler faviconRequestHandler() { + ResourceHttpRequestHandler requestHandler = new ResourceHttpRequestHandler(); + requestHandler.setLocations(Arrays. asList(new ClassPathResource( + "/"))); + return requestHandler; + } + } + } diff --git a/spring-bootstrap/src/main/resources/favicon.ico b/spring-bootstrap/src/main/resources/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..596894b02a2169a8f429f56caba88a2d6cacae11 GIT binary patch literal 306 zcmZQzU<5(|egPoK!XU%Qz#zuJz@P!d0zfPW#2|58fH%>Rfjixkfh#|Vfx9w}L9i{G zL3lz51J~3l2JR&t4BTrbGVpGh#lUlLC4=y(%?zTq4>PbmKgYoE{yNl1kS#zv7=adp zK@iwpM#g=M!Cdya?;1c#xUS!O2@>FbGw*Ezkmh)I>)u6>z_~a3o`Pt}ySHD1Xa