본문 바로가기
Back-end/Spring

[Spring] sts3 초기 설정

by 사장님나빠여 2022. 3. 7.

※ STS UTF-8설정하기

상단 window 탭 - preference 에서

WEB-CSS Files / HTML Files / JSP Files 의 Encoding을

ISO 10646/Unicode(UTF-8)로 바꿔줌

 

※ STS 템플릿 설정하기

상단 window 탭 - preference 에서

Web - JSP Files - Editor - Temlates에서 NEW JSP File(html 5)에

<%@ taglib uri="http://java.sun/com/jsp/jstl/core" prefix="c" %> 추가해줌

 

※ 바깥 자원 가져다 사용하기(정적인 리소스 서비스하기)

Spring은 기본적으로 JSP등 동적인 페이지와는 달리 HTML, CSS, JavaScript등 정적인 리소스에 대한 접근을 막는다.

정적인 리소스를 서비스 해야 한다면 dispatcher-servlet.xml에 <mvc:resources>를 추가함으로써 접근을 허용할 수 있다.

 

쉽게 말하면,

외부파일인 이미지, css, javascript 파일 등을 사용하려고 한다면

webapp안에 resource에 넣어서 사용하지만 webapp 안에 각각 폴더를 만들어서 사용할 수 있다.

단, servlet-context.xml에 등록을 해주어야만 사용할 수 있다.

 

mvc사용을 위해 네임스페이스와 스키마를 추가해주고, <mvc:resource>를 통해 접근을 허용해준다.

여기서 '**'는 하위 폴더 아래의 파일까지 모두 포함한다는 것을 의미한다.

<resource mapping="맵핑할 요소" location="위치주소"/>

위 처럼 하면 HTML파일의 모든 요소의 src 속성에 모두 "/resource/img/logo.jpg와 같이, resource를 명시해주어야 하는 불편함이 있다.

 

그래서 <mvc:resource location="/static/" mapping="/**"/> 이나 <mvc:resource location="/public/" mapping="/**"/>

뒤지는 곳은 static폴더이고(루트) src같이 해당 파일을 이용하는 곳에서는 static을 생략한다.

localhost:8080/static/img/logo.png 와 같이 사용하면 에러가 나고

localhost:8080/img/logo.png 와 같이 사용하면 된다.

 

댓글