1. 정적 파일
프로젝트 루트 경로는 프로젝트명에 따라 '/ch2'까지로 되어있다. 정적파일은 src/main/webapp/resources 경로에 주로 변하지 않는 파일인 html, css, img 등을 저장해야 한다. 그 이유는 servlet-context.xml에 정적파일에 대한 GET mapping 시 정적파일 위치가 기본적으로 이렇게 잡혀있기 때문이다.
하지만 URL에서 해당 파일에 대한 요청을 할 때는 '/resources' 경로는 적지 않고 그 하위 경로부터 적는다. 이렇게 해야 접근이 가능하다. 그런데 다른 블로그에서 정적 파일들을 static 폴더 안에 관리하는 것을 봤는데 이렇게 하면 이 경로의 파일들이 정적 파일이라는 것을 명확히 알 수 있으니까 좋은 것 같다.
[참고: Spring에서 정적 리소스를 다루는 네 가지 방법]
2. 동적 파일
동적 파일들은 변하는 파일들이기 때문에 원격 프로그램을 @Controller로 등록하고 @RequestMapping(@GetMapping, @PostMapping 등)으로 URL을 처리 메서드와 연결해 준다. Spring MVC의 @Controller 애너테이션을 인식시키기 위해 <annotation-driven />이 기본적으로 적혀 있다.
그리고 그 아래를 보면 InternalResourceViewResolver가 뷰 이름(String)을 반환하는 메서드에 앞 뒤로 "WEB-INF/views/"와 ".jsp"를 붙여주는 것을 알 수 있다. 이것은 실제로 jsp 파일이 있는 위치를 명시하는 것으로 이를 다시 DispatcherServlet이 JstlView에게 넘겨 해당 뷰를 보여주는 것이다.
호출할 때는 메서드와 연결해 준 URL을 넘기면 된다.
package com.company.ch2;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HelloController {
@RequestMapping("/hello")
public String main() {
System.out.println("hello");
return "hello";
}
}
'Spring' 카테고리의 다른 글
[Spring] STS 오류 해결 모음 (0) | 2025.02.10 |
---|---|
[Spring] 프로그램 서버 구동 오류 해결 (0) | 2024.11.21 |
[Spring] OAuth 2.0 원리 이해 (2) | 2024.10.06 |
[Spring] 컴파일 과정, 의존성 추가와 플러그인 설치 차이 (0) | 2024.09.30 |
[Spring] Filter, Interceptor, AOP 비교 (0) | 2024.09.08 |