Skip to main content

02L. μŠ€νƒœν‹± 디렉터리와 μŠ€νƒ€μΌμ‹œνŠΈ

2023λ…„ 12μ›” 27일Less than 1 minuteJavaSpringAWScrashcoursejavajdkjdk8streamspringspringframeworkspringbootawsaws-ec2

02L. μŠ€νƒœν‹± 디렉터리와 μŠ€νƒ€μΌμ‹œνŠΈ κ΄€λ ¨


2-12. μŠ€νƒœν‹± 디렉터리와 μŠ€νƒ€μΌμ‹œνŠΈ

점프 투 μŠ€ν”„λ§λΆ€νŠΈ - WikiDocs

pahkey/sbb3 - 2-12

μ§€κΈˆκΉŒμ§€ 질문 λͺ©λ‘ ν™”λ©΄κ³Ό 질문 상세 화면을 λ§Œλ“€μ—ˆλ‹€. ν•˜μ§€λ§Œ μ’€ 더 κ·ΈλŸ΄μ‹Έν•œ 화면을 λ§Œλ“€κΈ° μœ„ν•΄μ„œλŠ” 화면에 λ””μžμΈμ„ μ μš©ν•΄μ•Ό ν•œλ‹€. λ””μžμΈμ„ μ μš©ν•˜κΈ° μœ„ν•΄μ„œλŠ” μŠ€νƒ€μΌμ‹œνŠΈ(stylesheet, CSS파일)λ₯Ό μ‚¬μš©ν•΄μ•Ό ν•œλ‹€.

이번 μž₯μ—μ„œλŠ” SBB에 μŠ€νƒ€μΌμ‹œνŠΈλ₯Ό μ μš©ν•΄ 보자.


μŠ€νƒœν‹±(static) 디렉터리

μŠ€νƒ€μΌμ‹œνŠΈ νŒŒμΌμ€ μŠ€ν”„λ§λΆ€νŠΈμ˜ μŠ€νƒœν‹± 디렉터리에 μ €μž₯ν•΄μ•Ό ν•œλ‹€. μŠ€ν”„λ§λΆ€νŠΈμ˜ μŠ€νƒœν‹± λ””λ ‰ν„°λ¦¬λŠ” λ‹€μŒκ³Ό κ°™λ‹€.

<FontIcon icon="fas fa-folder-open"/>
/sbb/src/main/resources/static

μŠ€νƒ€μΌμ‹œνŠΈ

μŠ€νƒ€μΌμ‹œνŠΈ νŒŒμΌμ€ μŠ€νƒœν‹± 디렉터리에 μ €μž₯ν•΄μ•Ό ν•œλ‹€. μŠ€νƒ€μΌμ‹œνŠΈ 파일(style.css)을 λ‹€μŒκ³Ό 같이 μž‘μ„±ν•˜μž.

파일λͺ…: /sbb/src/main/resources/static/style.css

textarea {
    width:100%;
}

input[type=submit] {
    margin-top:10px;
}

_ style.css νŒŒμΌμ€ 질문 상세 화면에 μ‚¬μš©ν•˜κΈ° μœ„ν•΄ μž‘μ„±ν–ˆλ‹€. λ‹΅λ³€ λ“±λ‘μ‹œ μ‚¬μš©ν•˜λŠ” ν…μŠ€νŠΈ 창의 넓이λ₯Ό 100%둜 ν•˜κ³  "닡변등둝" λ²„νŠΌ 상단에 10 ν”½μ…€μ˜ λ§ˆμ§„μ„ μ„€μ •ν–ˆλ‹€.


ν…œν”Œλ¦Ώμ— μŠ€νƒ€μΌ 적용

이제 μž‘μ„±ν•œ μŠ€νƒ€μΌμ‹œνŠΈ νŒŒμΌμ„ 질문 상세 ν…œν”Œλ¦Ώμ— μ μš©ν•˜μž.

파일λͺ…: /sbb/src/main/resources/templates/question_detail.html

<link rel="stylesheet" type="text/css" th:href="@{/style.css}">
<h1 th:text="${question.subject}"></h1>
<div th:text="${question.content}"></div>
<h5 th:text="|${#lists.size(question.answerList)}개의 닡변이 μžˆμŠ΅λ‹ˆλ‹€.|"></h5>
<div>
    <ul>
        <li th:each="answer : ${question.answerList}" th:text="${answer.content}"></li>
    </ul>
</div>
<form th:action="@{|/answer/create/${question.id}|}" method="post">
    <textarea name="content" id="content" rows="15"></textarea>
    <input type="submit" value="닡변등둝">
</form>

ν…œν”Œλ¦Ώ 상단에 style.cssλ₯Ό μ‚¬μš©ν• μˆ˜ μžˆλŠ” 링크λ₯Ό μΆ”κ°€ν–ˆλ‹€.

_ static 디렉터리에 style.css 파일이 μœ„μΉ˜ν•˜μ§€λ§Œ /static/style.css λŒ€μ‹  /style.css둜 μ‚¬μš©ν•΄μ•Ό 함에 μ£Όμ˜ν•˜μž. μ™œλƒν•˜λ©΄ static 디렉터리가 μŠ€νƒœν‹± νŒŒμΌλ“€μ˜ 루트 디렉터리이기 λ•Œλ¬Έμ΄λ‹€.

이제 질문 상세 화면이 μ–΄λ–»κ²Œ λ³€κ²½λ˜λŠ”μ§€ 확인해 보자.

λ‹€μŒμ²˜λŸΌ μŠ€νƒ€μΌμ΄ 적용된 화면을 λ³Ό 수 μžˆμ„ 것이닀.
λ‹€μŒμ²˜λŸΌ μŠ€νƒ€μΌμ΄ 적용된 화면을 λ³Ό 수 μžˆμ„ 것이닀.

ν…μŠ€νŠΈ 창의 넓이가 λ„“μ–΄μ§€κ³  "닡변등둝" λ²„νŠΌ μœ„μ— μ—¬μœ κ³΅κ°„μ΄ 생겼닀.

μΆ•ν•˜ν•œλ‹€! μ—¬λŸ¬λΆ„μ€ 이제 μ‘°κΈˆμ€ κ·ΈλŸ΄μ‹Έν•΄μ§„ 화면을 λ§Œλ“€ 수 있게 λ˜μ—ˆλ‹€.