diff --git a/Spring-Boot/spring-boot-custom-favicon/pom.xml b/Spring-Boot/spring-boot-custom-favicon/pom.xml new file mode 100644 index 0000000..ac0cb3c --- /dev/null +++ b/Spring-Boot/spring-boot-custom-favicon/pom.xml @@ -0,0 +1,70 @@ + + + 4.0.0 + + com.javadevjournal + spring-boot-custom-favicon + 0.0.1-SNAPSHOT + jar + + spring-boot-custom-favicon + Demo project for Spring Boot + + + org.springframework.boot + spring-boot-starter-parent + 2.0.3.RELEASE + + + + + UTF-8 + UTF-8 + 1.8 + + + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.boot + spring-boot-devtools + runtime + + + javax.servlet + jstl + + + + org.springframework.boot + spring-boot-starter-tomcat + provided + + + org.apache.tomcat.embed + tomcat-embed-jasper + provided + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + + diff --git a/Spring-Boot/spring-boot-custom-favicon/src/main/java/com/javadevjournal/SpringBootCustomFaviconApplication.java b/Spring-Boot/spring-boot-custom-favicon/src/main/java/com/javadevjournal/SpringBootCustomFaviconApplication.java new file mode 100644 index 0000000..b78a145 --- /dev/null +++ b/Spring-Boot/spring-boot-custom-favicon/src/main/java/com/javadevjournal/SpringBootCustomFaviconApplication.java @@ -0,0 +1,12 @@ +package com.javadevjournal; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class SpringBootCustomFaviconApplication { + + public static void main(String[] args) { + SpringApplication.run(SpringBootCustomFaviconApplication.class, args); + } +} diff --git a/Spring-Boot/spring-boot-custom-favicon/src/main/java/com/javadevjournal/config/FaviconConfiguration.java b/Spring-Boot/spring-boot-custom-favicon/src/main/java/com/javadevjournal/config/FaviconConfiguration.java new file mode 100644 index 0000000..95b7806 --- /dev/null +++ b/Spring-Boot/spring-boot-custom-favicon/src/main/java/com/javadevjournal/config/FaviconConfiguration.java @@ -0,0 +1,36 @@ +package com.javadevjournal.config; + +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.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; + +import java.util.Arrays; +import java.util.Collections; + +@Configuration +public class FaviconConfiguration { + + @Bean + public SimpleUrlHandlerMapping faviconHandlerMapping() { + 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(); + requestHandler.setLocations(Arrays + . asList(new ClassPathResource("/"))); + return requestHandler; + } + +} diff --git a/Spring-Boot/spring-boot-custom-favicon/src/main/java/com/javadevjournal/controller/CustomFaviconController.java b/Spring-Boot/spring-boot-custom-favicon/src/main/java/com/javadevjournal/controller/CustomFaviconController.java new file mode 100644 index 0000000..ba79241 --- /dev/null +++ b/Spring-Boot/spring-boot-custom-favicon/src/main/java/com/javadevjournal/controller/CustomFaviconController.java @@ -0,0 +1,19 @@ +package com.javadevjournal.controller; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +@Controller +public class CustomFaviconController { + + @GetMapping("/greeting") + public String greeting(){ + return "demo"; + } + + +} + + + diff --git a/Spring-Boot/spring-boot-custom-favicon/src/main/java/com/javadevjournal/controller/DisableFavicon.java b/Spring-Boot/spring-boot-custom-favicon/src/main/java/com/javadevjournal/controller/DisableFavicon.java new file mode 100644 index 0000000..09019a3 --- /dev/null +++ b/Spring-Boot/spring-boot-custom-favicon/src/main/java/com/javadevjournal/controller/DisableFavicon.java @@ -0,0 +1,15 @@ +package com.javadevjournal.controller; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +//@Controller +public class DisableFavicon { + + @GetMapping("favicon.ico") + @ResponseBody + public void disableFavicon(){ + //Method is void to avoid browser 404 issue by returning nothing in the response. + } +} diff --git a/Spring-Boot/spring-boot-custom-favicon/src/main/resources/application.properties b/Spring-Boot/spring-boot-custom-favicon/src/main/resources/application.properties new file mode 100644 index 0000000..a609c42 --- /dev/null +++ b/Spring-Boot/spring-boot-custom-favicon/src/main/resources/application.properties @@ -0,0 +1,3 @@ +spring.mvc.view.prefix: /WEB-INF/jsp/ +spring.mvc.view.suffix: .jsp +spring.mvc.favicon.enabled=false \ No newline at end of file diff --git a/Spring-Boot/spring-boot-custom-favicon/src/main/resources/com/javadevjournal/images/favicon.ico b/Spring-Boot/spring-boot-custom-favicon/src/main/resources/com/javadevjournal/images/favicon.ico new file mode 100755 index 0000000..5216978 Binary files /dev/null and b/Spring-Boot/spring-boot-custom-favicon/src/main/resources/com/javadevjournal/images/favicon.ico differ diff --git a/Spring-Boot/spring-boot-custom-favicon/src/main/resources/templates/favicon.ico b/Spring-Boot/spring-boot-custom-favicon/src/main/resources/templates/favicon.ico new file mode 100755 index 0000000..5216978 Binary files /dev/null and b/Spring-Boot/spring-boot-custom-favicon/src/main/resources/templates/favicon.ico differ diff --git a/Spring-Boot/spring-boot-custom-favicon/src/main/webapp/WEB-INF/jsp/demo.jsp b/Spring-Boot/spring-boot-custom-favicon/src/main/webapp/WEB-INF/jsp/demo.jsp new file mode 100644 index 0000000..23bfc2c --- /dev/null +++ b/Spring-Boot/spring-boot-custom-favicon/src/main/webapp/WEB-INF/jsp/demo.jsp @@ -0,0 +1,10 @@ + + + + + Demo Application + + + + + \ No newline at end of file diff --git a/Spring-Boot/spring-boot-custom-favicon/src/test/java/com/javadevjournal/SpringBootCustomFaviconApplicationTests.java b/Spring-Boot/spring-boot-custom-favicon/src/test/java/com/javadevjournal/SpringBootCustomFaviconApplicationTests.java new file mode 100644 index 0000000..5370047 --- /dev/null +++ b/Spring-Boot/spring-boot-custom-favicon/src/test/java/com/javadevjournal/SpringBootCustomFaviconApplicationTests.java @@ -0,0 +1,16 @@ +package com.javadevjournal; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +@RunWith(SpringRunner.class) +@SpringBootTest +public class SpringBootCustomFaviconApplicationTests { + + @Test + public void contextLoads() { + } + +}