Spring Boot 사용자 지정 favicon.ico가 표시되지 않음
저는 이 질문이 반복적으로 제기되었고 몇 가지 해결책이 있다는 것을 알고 있습니다.이를 위해 사용자 자신의 구성을 작성하는 것을 제안하는 것을 제외하고는 여러 가지를 시도했습니다.저는 그 모든 것을 단지 그것이 과잉 살상하는 것처럼 보이는 작은 아이콘을 보여주기 위해.하지만 저는 그것을 작동시킬 수 없습니다.이것들이 제가 지금까지 시도한 해결책들입니다.
- 정적 리소스 아래에 favicon.ico를 추가하기만 하면 작동해야 합니다. ...그렇지 않습니다.
- application.properties에서 spring.mvc.mvicon.enabled=false, favicon은 전혀 표시되지 않습니다(이것이 전체 포인트인 것 같습니다).
- 했습니다.html 페에가을 favicon 함포하 2지습다니시했도예.이와 같은 경우:
<link rel="icon" type="image/png" href="favicon.png" /> <link rel="icon" type="image/x-icon" href="favicon.ico" />
둘 다 안 됩니다.
- 내 자신의 페이비콘의 이름을 다른 것으로 바꾸고 위와 같이 참조했습니다.작동하지 않습니다.
브라우저에서 페이지를 검사할 때 아이콘이 표시되지 않음에도 불구하고 오류가 전혀 출력되지 않거나 다음과 같은 오류가 발생합니다.GET http://localhost:8080/myapp/favicon.png 404 ()
JSON으로 유형을 지칭하는 곳(이상하게 생각합니다).
아이디어가 부족한데 왜 안 되는지 알려주실 분 있으면 알려주세요.내가 마법의 봄 주석 중 하나를 잊었나요?이것이 제 본 수업의 모습입니다.
@SpringBootApplication
@ComponentScan
@Configuration
@EnableWebMvc
public class JobengineMonitorApplication implements CommandLineRunner {
public static void main(String[] args) {
SpringApplication.run(JobengineMonitorApplication.class, args);
}
}
템플릿 엔진으로 타임리프를 사용하고 있습니다.
favicon.ico를 main/resource/static에 넣고 이 행을 보안 구성에 추가하여 이 문제를 해결했습니다.
httpSecurity
.authorizeRequests()
.antMatchers( "/favicon.ico").permitAll()
나도 SpringBoot 구성으로 이것을 가지고 있고 작동하고 있습니다.
<link rel="shortcut icon" type="image/png" th:href="@{/img/favicon.png}"/>
그리고 resources/public/img 아래의 favicon.png
Spring의 최신 버전(나의 경우 Spring boot 2.4.4)을 사용하여 동일한 문제에 직면한 사람이 있다면, 다음과 같은 시나리오가 저에게 잘 작동했습니다.
- favicon.ico를 .
/resources/static
폴더를 누릅니다.저는 또한 그것을 그냥 넣으려고 노력했습니다./resourses/
폴더도 잘 작동했으니까 폴더에 대해서는 그렇게 걱정하지 마세요. - 성을 합니다.
FaviconConfiguration
다음 내용을 포함하는 구성 폴더:
@Configuration
public class FaviconConfiguration {
@Bean
public SimpleUrlHandlerMapping customFaviconHandlerMapping() {
SimpleUrlHandlerMapping mapping = new SimpleUrlHandlerMapping();
mapping.setOrder(Integer.MIN_VALUE);
mapping.setUrlMap(Collections.singletonMap(
"/static/favicon.ico", faviconRequestHandler()));
return mapping;
}
@Bean
protected ResourceHttpRequestHandler faviconRequestHandler() {
ResourceHttpRequestHandler requestHandler
= new ResourceHttpRequestHandler();
requestHandler.setLocations(Collections.singletonList(new ClassPathResource("/")));
return requestHandler;
}
}
- Spring Security를 추가하는 것을
antMatcher
SpringSecurityConfiguration(SpringSecurityConfiguration)에 다음 코드를 추가하여 즐겨찾기 리소스에 사용할 수 있습니다(JaneXQ에서 이미 언급한 대로).
.antMatchers("/static/favicon.ico").permitAll()
- HTML에서 사용자 지정 즐겨찾기에 대한 링크를 명시적으로 사용합니다.그러기 위해서는 다음 링크를 입력하면 됩니다.
<head>
다음과 같은 방법으로 당신의 HTML 페이지의 섹션을 작성합니다(여기서는 타임리프를 사용했습니다).
<head>
...
<link rel="icon" type="image/ico" th:href="@{../static/favicon.ico}">
...
</head>
나는 내가 내 것을 놓아야 한다는 것을 발견했습니다.favicon.ico
파일 위치:
src/main/resources/public
너의 것을 둬라.favicon.png
아래src/main/resources/public
그리고 이것을 당신의 것에 추가합니다.*.html
페이지를 정확히header
부분
<link rel="shortcut icon" type="image/png" th:href="@{favicon.png}"/>
나는 간단한 .png 다운로드였던 내 favicon을 src/main/resources/static/favicon.ico로 저장했습니다.
다른 브라우저를 사용해 보기 전까지는 표시할 수 없습니다. 브라우저 캐시를 지우거나 다른 브라우저에서 테스트해 보십시오.
좋아요, 이제 작동하는 것 같습니다.물론 저는 그것에 대해 호통을 친 직후에 그것을 작동시킬 수 있었습니다 :).
어쨌든 제가 한 일은.
- 메인 클래스에서 @EnableWebMvc 제거
- URL에 따라 href에 ../를 추가한 경우(예: /index는 괜찮았지만 /edit/something.html은 그렇지 않았습니다.
사람들의 시간을 낭비해서 미안하지만 이것이 나와 같은 다른 신인에게 유용할 수 있기를 바랍니다.
th:href를 href로 바꾸세요.그것은 나에게 효과가 있었다.
<link rel="icon" href="/favicon.ico" type="image/ico">
어떤 이유로 .ico 형식이 작동하지 않았습니다.대신 png 이미지를 넣었더니 봄이 자동으로 favicon을 선택했습니다.
png 이미지를 \src\main\resources\public에 배치했습니다.
봄 부츠 + 백합잎
동일한 문제가 발생하여 @EnableAdminServer 주석을 제거하는 문제를 해결했습니다.
- 스프링 부츠
plugins {
id 'java'
id 'org.springframework.boot' version '3.0.6'
id 'io.spring.dependency-management' version '1.1.0'
}
group = 'com.security.web'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'
Favicon.ico를 생성합니다.
*.vmdk를 편집합니다.
<link rel="shortcut icon" type="image/x-icon" th:href="@{favicon.ico}"/>
src/main/main/static/staticon.ico
춘계 경비
@EnableWebFluxSecurity
@Configuration
public class WebSecurityConfig {
@Bean
public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}
@Bean
public SecurityWebFilterChain securityWebFilterChain(ServerHttpSecurity httpSecurity) {
return httpSecurity
.formLogin().and()
.httpBasic().disable()
.authorizeExchange()
.pathMatchers("/", "/login", "/signup").permitAll()
.pathMatchers(HttpMethod.POST, "/api/users").permitAll()
.pathMatchers("/favicon.ico").permitAll()
.pathMatchers(HttpMethod.GET, "/api/users/**").hasRole("ADMIN")
.anyExchange().authenticated()
.and()
.build();
}
}
언급URL : https://stackoverflow.com/questions/46302090/spring-boot-custom-favicon-ico-not-showing
'programing' 카테고리의 다른 글
SQL Server에서 열에서 문자를 제거하는 방법은 무엇입니까? (0) | 2023.08.09 |
---|---|
값 리스트에 대해 변수 동일성 확인 (0) | 2023.08.09 |
PowerShell을 사용하여 원본 서버의 동일한 디렉터리 구조에 있는 폴더 및 하위 폴더의 복사 항목 파일 (0) | 2023.08.09 |
Oracle의 단순 재귀 쿼리 (0) | 2023.08.09 |
Spring Boot JPA H2 콘솔이 실행되고 있지 않습니다. application.properties 파일이 무시됩니다. (0) | 2023.08.09 |