[SPRING] 스프링 4 정적 리소스로드
SPRING스프링 4 정적 리소스로드
현재 src / main / java / resources / assets 디렉토리에 배치 된 많은 css 및 js 파일과 함께 봄 MVC 응용 프로그램이 있습니다.
ResourceHandlerRegistry 클래스를 사용하여 템플릿 용 파일을로드하는 방법에 대한 Spring Docs와 튜토리얼을 읽었습니다. 나는이 튜토리얼의 코드 스 니펫이 프로젝트 구조에 완벽하게 맞을 것이라고 생각했다.
하지만 나는 항상 나의 리소스 파일에 404를 얻는다.
다음은 현재 실행중인 Application / Configuration 클래스입니다.
@Configuration
@EnableAutoConfiguration
@ImportResource("/applicationContext.xml") // only used for jpa/hibernate
@EnableWebMvc
@ComponentScan(basePackages = "at.sustain.docutools.viewer.presentation")
public class Application extends WebMvcConfigurerAdapter {
public static void main(String args[]) {
SpringApplication.run(Application.class);
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/assets/**")
.addResourceLocations("classpath:/assets/");
registry.addResourceHandler("/css/**")
.addResourceLocations("/css/");
registry.addResourceHandler("/js/**")
.addResourceLocations("/js/");
}
}
그리고 여기에 HTML 파일 (자원 / 템플릿에 배치)에 HEADER가 사용되었습니다.
<head>
<!-- local Stylesheet -->
<link href="css/style.css" rel="stylesheet" />
<!-- local Javascript files -->
<script src="js/general.js"></script>
<script src="js/xmlhttp.js"></script>
<!-- local Javascript libraries -->
<script src="js/lib/filter.js"></script>
<script src="js/lib/jquery.fs.zoomer.js"></script>
<script src="js/lib/jquery.validate.js"></script>
</head>
html 파일은 내 컨트롤러 클래스를 통해 올바르게로드되지만 예를 들어 보려고 할 때 내 style.css 파일 (http : // localhost : 8080 / css / style.css) 이미 언급 한 404가 있습니다.
Spring 4에서이 주제에 대한 더 많은 정보를 제공 할 수있는 더 이상 자원을 찾을 수없는 것 같습니다. 일부 구성 파일을 놓치고 있습니까? 아니면 내 구조에 맞는 리소스 핸들러 등록이 아닙니까? 귀하의 답변을 기다리고 있습니다.
해결법
-
==============================
1.스타일 시트 및 JavaScript 파일이 "/ assets"아래에 있다고 가정합니다. "/ assets / css"및 "/ assets / js"디렉토리가 있다고 가정합니다. 그런 다음, 다음 자원 핸들러 정의가 제공됩니다.
스타일 시트 및 JavaScript 파일이 "/ assets"아래에 있다고 가정합니다. "/ assets / css"및 "/ assets / js"디렉토리가 있다고 가정합니다. 그런 다음, 다음 자원 핸들러 정의가 제공됩니다.
@Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/assets/**") .addResourceLocations("classpath:/assets/"); }
HTML에서 이러한 리소스를 다음과 같이로드합니다.
<link href="/assets/css/style.css" rel="stylesheet" /> <script src="/assets/js/general.js"></script>
from https://stackoverflow.com/questions/24080025/spring-4-loading-static-resources by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 봄 보안 : intercept-url 패턴 access = "# id == 1 (0) | 2019.01.04 |
---|---|
[SPRING] Java 8을 사용하는 Spring 3.2.x (0) | 2019.01.04 |
[SPRING] 사용자 정의 제약 검사기에서 Autowired Repository가 Null입니다. (0) | 2019.01.04 |
[SPRING] 스프링 부트 조건부 조건부 표현식 다중 특성 점검 (0) | 2019.01.04 |
[SPRING] org.hibernate.PropertyAccessException의 원인 : setter 내부에서 예외가 발생했습니다. (0) | 2019.01.04 |