0
작은 webapp를 만들었으며 색인 페이지 하단에 크레딧 메모를 추가하고 싶습니다. WAR 파일의 html 페이지에서 노트를 쉽게 제거 할 수 있습니다. 그래서 나는이 방법으로 자원 'index.html을'을 수정할 수 있다고 생각 :스프링 부트에서 정적 리소스 index.html을 수정하는 방법은 무엇입니까?
public class MainPageTransformer implements ResourceTransformer {
@Override
public Resource transform(HttpServletRequest request, Resource resource, ResourceTransformerChain transformerChain) throws IOException {
String html = IOUtils.toString(resource.getInputStream(), UTF_8);
html = html.replace("</body>", "<div style=\"position: absolute; bottom: 5px;\">Autor</div>\n</body>");
return new ByteArrayResource(html.getBytes());
}
}
을 ... 그리고 다음 MainPageTransformer.transform 방법을 실행
@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/client/index.html")
.addResourceLocations("classpath:/static/client")
.resourceChain(false)
.addTransformer(new MainPageTransformer());
}
}
후에는 발생 예외 :
java.io.FileNotFoundException: Byte array resource [resource loaded from byte array] cannot be resolved to absolute file path
at org.springframework.core.io.AbstractResource.getFile(AbstractResource.java:114)
at org.springframework.core.io.AbstractResource.getFileForLastModifiedCheck(AbstractResource.java:169)
at org.springframework.core.io.AbstractResource.lastModified(AbstractResource.java:153)
at org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:240)
at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:51)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:968)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:859)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:618)
내가 뭘 잘못 했니? 내 목표를 달성하기위한 더 좋은 방법이 있습니까? 고마워요!
하하를 찾는 것이 얼마나 놀랍습니까? 나는 그것이 일반적으로 사용되는 경우가 아니라고 생각한다. 공유 해줘서 고마워! – misaka