🍃 Spring, Spring Boot/스프링 프레임워크 기초

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

    jsp 파일이 아닌 이미지 파일(png, jpg, etc.)을 웹으로 띄우기 위해 해당 파일을 실행시켜보면 오류가 발생하는 것을 확인할 수 있다. 그 이유는 Dispatcher가 정적인 파일에 대한 요청을 전부 막고 있기 때문이다. 그렇다면 이미지나 css 등과 같은 정적인 파일을 출력하기 위해서는 어떻게 해야할까? 설정을 위해 dispatcher-servlet.xml 파일에 코드를 추가해주어야 한다. 우선 mvc를 지원하는 처리기를 추가하기 위해 다음과 같이 코드를 추가한다. 이로써 태그로 사용할 수 있는 요소가 늘어나게 되었다. 이제 다음과 같은 코드를 추가해준다. 위 코드의 의미는 mapping 속성에 지정된 url을 사용자가 요청하게 되면 location 속성에 지정된 경로에서 파일을 찾아 출력하..

    [Java / Spring] 12. View 페이지를 위한 위치

    저번 시간에 web.xml 파일의 매핑 유형을 수정하는 방식으로 문제를 해결했었는데, 이럴 경우 또다른 문제가 발생하게 된다. 컨트롤러와 뷰가 분리되어 있을 경우에는 두 개를 따로 요청할 수 있는 것이 아니라 무조건 컨트롤러만 요청할 수 있도록 해야하는데, 저번 시간처럼 할 경우 사용자가 컨트롤러를 건너뛰고 뷰를 요청해버리는 일이 발생할 수 있다. 따라서 사용자가 위처럼 뷰 페이지를 직접 요청할 수 없도록 해야하는데, 그 방법은 다음과 같다. WEB-INF 폴더는 사용자가 접근할 수 없는 영역이므로 요청 또한 막힐 것이다. 따라서 뷰 페이지를 구현한 jsp 파일을 해당 폴더 안에 집어넣음으로써 사용자의 요청을 제한할 수 있다. 파일을 숨기기 위해 WEB-INF 폴더 안에 또다른 폴더를 하나 생성한 뒤, ..

    [Java / Spring] 11. Dispatcher Servlet 라이브러리 설정하기

    이번 시간에는 Dispatcher Servlet 라이브러리를 설정하기 위한 작업을 수행해보고자 한다. 우선 지난 시간과 마찬가지로 Maven Repository(https://mvnrepository.com/) 페이지에 들어가 검색창에 'springframework'를 검색한다. 검색 결과로 나온 항목들 중 'Spring Web MVC'를 클릭하여 버전을 선택한 뒤, 코드를 복사한다. 이후 pom.xml 파일에 다음과 같이 코드를 붙여넣기 하고 저장한다. 라이브러리를 준비했으니 이제 스프링이 제공하는 프론트 컨트롤러를 이용하기 위한 xml 파일을 준비해야한다. 먼저 Project Explorer에서 아래 사진과 같은 경로를 따라 목록을 펼치면 DispatherServlet.class 파일이 보일텐데, 해..

    [Java / Spring] 10. 메이븐을 이용한 기본 웹 프로젝트 생성하기

    이클립스에서 메이븐 프로젝트를 생성해보자. 먼저 이클립스 우측 상단의 Perspective를 Java에서 JavaEE로 변경해준다. 만약 Java EE가 보이지 않는다면 바로 옆에 있는 Open Perspective 버튼을 통해 변경할 수 있다. 이제 우리는 메이븐 프로젝트를 만들 수 있다. Packaging만 jar -> war로 변경하여 메이븐 프로젝트를 생성한다. 메이븐 프로젝트를 만들고 나면 pom.xml 파일에 오류가 발생한 것을 확인할 수 있다. 현재 web.xml이 없기 때문에 발생하는 오류인데, 이를 해결하기 위해 이전에 설치했던 tomcat 폴더에서 WEB-INF 폴더를 복사하여 우리가 생성한 메이븐 프로젝트의 webapp 폴더 안에 붙여넣기 한다. pom.xml에서 오류가 사라진 것을 ..