BAEL-1627 Define a favicon in spring boot (#3957)

* BAEL-1627 Define a favicon in spring boot

* Restrict favicon requests to GET only

* Update FaviconConfiguration.java
This commit is contained in:
Dhrubajyoti Bhattacharjee 2018-05-13 23:19:47 +05:30 committed by Grzegorz Piwowarek
parent bc2a1b7f5d
commit 8be0f4e1af
4 changed files with 46 additions and 1 deletions

View File

@ -0,0 +1,44 @@
package org.baeldung.config;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.handler.SimpleUrlHandlerMapping;
import org.springframework.web.servlet.resource.ResourceHttpRequestHandler;
@Configuration
public class FaviconConfiguration {
@Bean
public SimpleUrlHandlerMapping myFaviconHandlerMapping() {
SimpleUrlHandlerMapping mapping = new SimpleUrlHandlerMapping();
mapping.setOrder(Integer.MIN_VALUE);
mapping.setUrlMap(Collections.singletonMap("/favicon.ico", faviconRequestHandler()));
return mapping;
}
@Bean
protected ResourceHttpRequestHandler faviconRequestHandler() {
ResourceHttpRequestHandler requestHandler = new ResourceHttpRequestHandler();
ClassPathResource classPathResource = new ClassPathResource("com/baeldung/produceimage/images");
List<Resource> locations = Arrays.asList(classPathResource);
requestHandler.setLocations(locations);
return requestHandler;
}
//@Controller
static class FaviconController {
@RequestMapping(value="favicon.ico", method=RequestMethod.GET)
@ResponseBody
void favicon() {}
}
}

View File

@ -1,2 +1,3 @@
server.port= 8082
server.servlet.context-path=/spring-rest
server.servlet.context-path=/spring-rest
spring.mvc.favicon.enabled=false

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB