๋ฐ์ํ
๐WEB-INF ํด๋
- ํด๋ผ์ด์ธํธ๊ฐ ์ ๊ทผ ๋ถ๊ฐ๋ฅํ๊ฒ ํ๋ ค๋ฉด?
- WEB-INF ํด๋ ๋ด์ ํ์ผ๋ค ์ ์ฅ
- WEB-INF ํด๋์ ์๋ ์์๋ค์ ์น ์์์ ๋ง์ง๋ง, ์๋ฒ์ธก๋ง ์ฌ์ฉํ๊ธฐ ์ํ ์๋ํ๋ ํด๋์
- ์ฆ, ์๋ธ๋ฆฟ๋ง ์ ๊ทผ ๊ฐ๋ฅ (์๋ฒ์ญํ )
- ํด๋ผ์ด์ธํธ๋ ์ ๊ทผ ๋ถ๊ฐ๋ฅํ๋ฏ๋ก ์ง์ ์์ฒญ ๋ชปํจ
- ๋ฐ๋ผ์ ์ด ๊ณณ์ ๋ฆฌ์์ค ํ์ผ(Resource File)์ ๋ฃ์ด๋๋ฉด ์๋จ
- ๋ฆฌ์์ค ํ์ผ์ ์ ์ฅ์์น๋ resources ํ์ผ ๋ฐ์ด ๋ ๊ฒ์ด๊ณ ,
- Spring Bean Configuration File์์ ์์น ์ค์ ๊ฐ๋ฅํจ - servlet-context.xml
๐ resources ํด๋
- ํด๋ผ์ด์ธํธ๊ฐ ์ ๊ทผ ๊ฐ๋ฅํ๊ฒ ํ๋ ค๋ฉด? resources ํด๋ ๋ด์ ํ์ผ๋ค ์ ์ฅ
๐ servlet-context.xml
- Front Controller๊ฐ ์์ฒญ ์ฒ๋ฆฌ ๋ฉ์๋๋ฅผ ํธ์ถํ์ง ์๊ณ ์ง์ ์๋ต๋๋๋ก Spring Bean Configuration File ์ค์
[๐คModel] ResourceController.java
package xyz.itwill10.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class ResourceController {
@RequestMapping("/resource")
public String resource() {
return "resource_display";
}
}
[๐คView] resource_display.jsp - ์ถ๋ ฅํ์ด์ง
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="<http://java.sun.com/jsp/jstl/core>" %>
<%@taglib prefix="spring" uri="<http://www.springframework.org/tags>"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>SPRING</title>
<link href="<c:url value="/css/style.css" />" type="text/css" >
</head>
<body>
<h1 class="text">๋ฆฌ์์ค ํ์ผ</h1>
<hr>
<!-- ๋ฆฌ์์ค ํ์ผ(Resource File) : ํด๋ผ์ด์ธํธ๊ฐ ์น๋ฌธ์(HTML)๋ฅผ ์คํํ๊ธฐ ์ํด ํ์ํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด ์๋ฒ์ ์ ์ฅ๋ ํ์ผ -->
<!-- => CCS ํ์ผ, JavaScript Source ํ์ผ, ๋ฉํฐ๋ฏธ๋์ด ํ์ผ(๊ทธ๋ฆผ, ์ด๋ฏธ์ง, ์๋ฆฌ, ๋์์..) ๋ฑ -->
<!-- => [๋ฆฌ์์ค ํ์ผ]์ [WEB-INF ํด๋์ ์ ์ฅํ ๊ฒฝ์ฐ] ํด๋ผ์ด์ธํธ๋ ๋ฆฌ์์ค ํ์ผ ์์ฒญ ๋ถ๊ฐ๋ฅ -->
<!-- => [WEB-INF ํด๋] : ์น์๋ฒ์์ ์คํ๋๋ ํ๋ก๊ทธ๋จ(์๋ธ๋ฆฟ)์์๋ง ์ ๊ทผ ๊ฐ๋ฅํ ํด๋ - ํด๋ผ์ด์ธํธ์๊ฒ๋ ์๋ํ ์ฒ๋ฆฌ -->
<!-- SpringMvc ํ๋ก๊ทธ๋จ์์๋ ํด๋ผ์ด์ธํธ์ "๋ชจ๋ ์์ฒญ"์ Front Controller๋ฅผ ์ด์ฉํ์ฌ ์ฒ๋ฆฌ -->
<!-- => ๋ฌธ์ ์ ) ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ๋ฆฌ์์ค ํ์ผ์ ์์ฒญํ ๊ฒฝ์ฐ Front Controller๊ฐ ์์ฒญ์ ๋ฐ์ ์์ฒญ URL ์ฃผ์์ ๋งคํ๋ ์์ฒญ ์ฒ๋ฆฌ ๋ฉ์๋๋ฅผ ๊ฒ์ํ์ง๋ง ์กด์ฌํ์ง ์์ผ๋ฏ๋ก 404 ์๋ฌ์ฝ๋ ๋ฐ์ -->
<!-- => Front Controller๋ฅผ ์ค์ ํ ๋ ํน์ ํ์ฅ์(ex. [*.do] [*.itwill])๋ก ํ์ด์ง๋ฅผ ์์ฒญํ๋ ๊ฒฝ์ฐ ์ ์ธ -->
<!-- => ํด๊ฒฐ๋ฒ) ํด๋ผ์ด์ธํธ๊ฐ ๋ฆฌ์์ค ํ์ผ์ ์์ฒญํ ๊ฒฝ์ฐ Front Controller๊ฐ ์์ฒญ ์ฒ๋ฆฌ ๋ฉ์๋๋ฅผ ํธ์ถํ์ง ์๊ณ ์ง์ ์๋ต๋๋๋ก Spring Bean Configuration File ์ค์ - servlet-context.xml -->
<!-- ๋ฌธ์ ์ -->
<!-- <img src="Koala.jpg" width="200"> --><!-- ์๋๊ฒฝ๋ก -->
<!-- <img src="/spring/views/Koala.jpg" width="200"> --><!-- ์ ๋๊ฒฝ๋ก -->
<!-- <img src="/spring/Koala.jpg" width="200"> --> <!-- ์ ๋๊ฒฝ๋ก -->
<!-- ํด๊ฒฐ๋ฒ : Front Controller๊ฐ ๋ทฐ๋ฅผ ์ด์ฉํ์ง ์๊ณ (=์์ฒญ์ฒ๋ฆฌ๋ฉ์๋(Model)๋ฅผ ํตํด ๋งคํ ์์
์ํ๊ณ ) ์ง์ ๋ฆฌ์์ค๋ฅผ ์ฃผ๋ฉฐ ์๋ตํด์ค -->
<!-- ํด๊ฒฐ๋ฒ1. -->
<!-- ์๋๊ฒฝ๋ก : ํ์ฌ ์์ฒญ ํ์ด์ง์ URL ์ฃผ์๊ฐ ๊ธฐ์ค -->
<!-- ๋ฆฌ์์ค ํ์ผ์ ์๋๊ฒฝ๋ก๋ก ํํํ์ฌ ์ฒ๋ฆฌํ ๊ฒฝ์ฐ ํ์ด์ง์ ์์ฒญ URL ์ฃผ์ ๊ฒฝ๋ก์ ๋ฆฌ์์ค
ํ์ผ์ ๊ฒฝ๋ก๊ฐ ๋ค๋ฅธ ๊ฒฝ์ฐ 404 ์๋ฌ์ฝ๋ ๋ฐ์ - ๋ฆฌ์์ค ํ์ผ์ ์ ๋๊ฒฝ๋ก๋ก ํํํ๋ ๊ฒ์ ๊ถ์ฅ -->
<!-- <img src="resources/Koala.jpg" width="200"> -->
<img src="images/Koala.jpg" width="200">
<!-- ํด๊ฒฐ๋ฒ2. -->
<!-- ์ ๋๊ฒฝ๋ก -->
<!-- ์ปจํ
์คํธ ์ด๋ฆ์ด ๋ณ๊ฒฝ๋ ๊ฒฝ์ฐ ์ปจํ
์คํธ ๊ฒฝ๋ก๊ฐ ๋ณ๊ฒฝ๋์ด 404 ์๋ฌ ์ฝ๋ ๋ฐ์ -->
<!-- => ์ปจํ
์คํธ ๊ฒฝ๋ก๋ ์ง์ ์ง์ ํ์ง ์๊ณ ๊ฐ์ฒด๋ก ์ ๊ณต๋ฐ์ ์ฌ์ฉ -->
<img src="/spring/images/Koala.jpg" width="200">
<!-- ์ปจํ
์คํธ ๊ฒฝ๋ก๋ฅผ EL์ pageContext ๋ด์ฅ๊ฐ์ฒด๋ก ์ ๊ณต๋ฐ์ ์ฌ์ฉ -->
<img src="${pageContext.request.contextPath }/images/Koala.jpg" width="200">
<!-- ์ปจํ
์คํธ ๊ฒฝ๋ก๋ฅผ Core ํ๊ทธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ URL ํ๊ทธ๋ก ์ ๊ณต๋ฐ์ ์ฌ์ฉ -->
<img src="<c:url value="/images/Koala.jpg"/>" width="200">
<!-- ์ปจํ
์คํธ ๊ฒฝ๋ก๋ฅผ Spring ํ๊ทธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ URL ํ๊ทธ๋ก ์ ๊ณต๋ฐ์ ์ฌ์ฉ -->
<img src="<spring:url value="/images/Koala.jpg"/>" width="200">
</body>
</html>
resources > css > style.css
@charset "EUC-KR";
.text {
color: red;
}
resources > images > Koala.jpg
๋ฐ์ํ