[Java / Spring] 13. 정적 파일 서비스하기

2022. 4. 20. 18:22·🍃 Spring, Spring Boot/스프링 프레임워크 기초

jsp 파일이 아닌 이미지 파일(png, jpg, etc.)을 웹으로 띄우기 위해 해당 파일을 실행시켜보면 오류가 발생하는 것을 확인할 수 있다.

 

ProjectExplorer

 

Result

 

 

그 이유는 Dispatcher가 정적인 파일에 대한 요청을 전부 막고 있기 때문이다.

 

dispatcher-servlet.xml

 

 

그렇다면 이미지나 css 등과 같은 정적인 파일을 출력하기 위해서는 어떻게 해야할까?

 

설정을 위해 dispatcher-servlet.xml 파일에 코드를 추가해주어야 한다.

 

우선 mvc를 지원하는 처리기를 추가하기 위해 다음과 같이 코드를 추가한다.

 

dispatcher-servlet.xml

 

 

이로써 태그로 사용할 수 있는 요소가 늘어나게 되었다. 

 

mvc: 요소가 추가되었음

 

 

이제 다음과 같은 코드를 추가해준다.

 

dispatcher-servlet.xml

 

 

위 코드의 의미는 mapping 속성에 지정된 url을 사용자가 요청하게 되면 location 속성에 지정된 경로에서 파일을 찾아 출력하라는 의미이다. 여기서 mapping 속성에 지정된 '/resource/**'은 /resource/images/.., /resource/aa/... 등 모든 하위 폴더를 포함한다는 것을 의미한다.

 

이후 'resource'라는 이름의 파일을 webapp 폴더 안에 생성하고 이미지 파일을 resource 폴더로 옮긴 뒤, 실행해보면 정상적으로 출력되는 것을 확인할 수 있다.

 

Project Explorer

 

Result

 

 

하지만 위처럼 할 경우 jsp 파일에서 이미지를 요청하는 모든 부분에 '/resource/' 구문을 추가로 붙여주는 작업을 수행해야 하기 때문에 상당히 귀찮아진다. 따라서 일반적으로는 다음과 같이 설정한다.

 

dispatcher-servlet.xml

 

 

resource 폴더는 지워주고 기존 html 파일의 이름을 'static'으로 바꾸어 준다.

 

Project Explorer

 

 

이제 우리는 이미지나 css 등과 같은 정적인 파일들은 static 폴더에 따로 보관하여 관리할 수 있으며 동적인 파일의 경우 index 파일처럼 바깥에서 관리하게 될 것이다.

 

결과를 확인하기 위해 index 파일을 실행시키면 모든 정적 파일들이 정상적으로 출력되면서 아래와 같은 페이지가 나타나게 된다.

 

저작자표시 (새창열림)

'🍃 Spring, Spring Boot > 스프링 프레임워크 기초' 카테고리의 다른 글

[Java / Spring] 15. Tiles 설정하기  (0) 2022.04.21
[Java / Spring] 14. 컨트롤러 추가 및 페이지 모듈 분리  (0) 2022.04.21
[Java / Spring] 12. View 페이지를 위한 위치  (0) 2022.04.20
[Java / Spring] 11. Dispatcher Servlet 라이브러리 설정하기  (0) 2022.04.18
[Java / Spring] 10. 메이븐을 이용한 기본 웹 프로젝트 생성하기  (0) 2022.04.17
'🍃 Spring, Spring Boot/스프링 프레임워크 기초' 카테고리의 다른 글
  • [Java / Spring] 15. Tiles 설정하기
  • [Java / Spring] 14. 컨트롤러 추가 및 페이지 모듈 분리
  • [Java / Spring] 12. View 페이지를 위한 위치
  • [Java / Spring] 11. Dispatcher Servlet 라이브러리 설정하기
Baeg-won
Baeg-won
  • Baeg-won
    좋았다면 추억이고 나빴다면 경험이다.
    Baeg-won
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 🍃 Spring, Spring Boot
        • 스프링 프레임워크 기초
        • 스프링 핵심 원리 - 기본편
        • 자바 ORM 표준 JPA 프로그래밍 - 기본편
        • 스프링 MVC
        • 실전! 스프링 부트와 JPA 활용1 - 웹 애플리..
      • 🥑 Web Technoloy
      • 🚗 Backend Toy Project
        • 스프링 부트 게시판
        • Photogram
        • Baeg-won Clothing Gallery
      • 🥇 Problem Solving
        • Breadth-First Search
        • Depth-First Search
        • Backtracking
        • Simulation
        • Two-pointer
        • Binary Search
        • Greedy
        • Dynamic Programming
        • Minimum Spanning Tree
        • Dijkstra
        • Floyd warshall
      • ☕ Java
        • 명품 자바 에센셜
        • Applications
      • 🍦 JavaScript
        • JavaScript 기초
      • 🐧 Linux
        • 이것이 리눅스다(CentOS 8)
      • 📟 Database
        • 혼자 공부하는 SQL
      • 🧬 Data Structure
      • 🎬 HTML
      • 🎤 Tech Interview
      • 📌 etc
        • Unity 2D Raising Jelly Game
        • C++
        • 영어 쉐도잉
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Baeg-won
[Java / Spring] 13. 정적 파일 서비스하기
상단으로

티스토리툴바