๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โž• Web/Spring

3. JSP & Servlet

by Ardor924 2025. 5. 13.

JSP & Servlet

๐Ÿ”ถ๋ณ€ํ™˜ํ๋ฆ„
JSP => Servlet(.java) => Class

Servlet

  • ๋น„์ง€๋‹ˆ์Šค ๋กœ์ง์šฉ (if๋ฌธ,for๋ฌธ)
  • ๋ณต์žกํ•œ ๋กœ์ง ๊ตฌํ˜„์— ์ ํ•ฉํ•˜๋‚˜Java์œ„์ฃผ์˜ ์ž‘์„ฑ๋ฐฉ์‹์ด๊ธฐ ๋•Œ๋ฌธ์— ํ™”๋ฉด๊ตฌํ˜„ ์— ์–ด๋ ค์›€์ด ์กด์žฌJSP
  • ํ™”๋ฉด๊ตฌํ˜„์šฉ
  • ์ž๋ฐ” ๋‚ด์— HTML์ฝ”๋“œ๊ฐ€ ์žˆ์Œ
  • ํ™”๋ฉด๊ตฌ์„ฑ์— ์šฉ์˜ํ•˜๋‚˜ ์†Œ์Šค๊ฐ€ ๊ณต๊ฐœ๋Š” ๋‹จ์ ์ด ์กด์žฌ

๐Ÿ”ถ ๊ตฌ์„ฑ์š”์†Œ
โ—ป 1. ์ง€์‹œ์ž

  • ์ž๋ฐ”๋‚ด์— ํ•„์š”ํ•œ๊ฒƒ์„ ๊ธฐ์ˆ ํ•˜๊ธฐ์œ„ํ•œ ๊ตฌ์„ฑ์š”์†Œ
  1. ํŽ˜์ด์ง€ ์ง€์‹œ์ž :
    • ํ™˜๊ฒฝ์„ค์ • ex) import
    • <%@page errorPage="ex04ErrorPage.jsp"%>
  2. include ์ง€์‹œ์ž :
    • ํ—ค๋” ํ‘ธํ„ฐ ๋“ฑ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ๋•Œ ์‚ฌ์šฉ
    • <%@include file='ex05Footer.jsp' %>
  3. taglib(ํƒœ๊ทธ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ) ์ง€์‹œ์ž :
    • jstl ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
    • <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
      <c:forEach begin="1" end="3" step="1">
        <h1>hello world222!</h1>
      </c:forEach
      โ—ป 2. ์„ ์–ธ๋ฌธ(Declaration)
  • ์ „์—ญ๋ณ€์ˆ˜
  • <%! %>
    โ—ป 3. ์Šคํฌ๋ฆฝํŠธ์‹(Scriptlet)
  • JSP๋‚ด์—์„œ ์ž๋ฐ”์ฝ”๋“œ๋ฅผ ์“ธ์ˆ˜์žˆ๊ฒŒ ํ•˜๋Š” ๊ธฐ๋Šฅ
  • <% %>
  • HTML์ฃผ์„ ๋‚ด์—์„œ ๊ตฌ์„ฑ์š”์†Œ ์ž‘์„ฑํ•˜๋ฉด ์•ˆ๋จ (์ฃผ์„๋‚ด์—์„œ๋„ ์ธ์‹๋จ)
    โ—ป 4. ํ‘œํ˜„์‹(expression)
  • ์„ ์–ธํ•œ๋ณ€์ˆ˜, ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ• ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ๋Šฅ
  • <%= %>
<body>
<div class="wrap" style="margin:auto">
    <!-- ์ „์—ญ์„ค์ • -->
    <%! int num2 = 100;%>

    <%int num = 10; %>
    <!-- if -->
    <%if(num %2 == 0){%>
        <h1>โœŒ ์ง์ˆ˜ ์ž…๋‹ˆ๋‹ค โœŒ</h1>

    <%    }%>
    <!-- if -->

    <%= num%>

    <%= num2 %>

</div>
</body>

EL์‹ (Expression Language)
---> ${์ž๋ฐ”์ฝ”๋“œ}
์˜ˆ์‹œ :

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<body>
    <c:choose>
        <c:when test="${num % 2 == 0}">
            <h1>If you can see this sentence, It might be even number</h1>
        </c:when>
        <c:when test="${num % 2 == 1}">
            <h1>If you can see this sentence, It might be odd number</h1>
        </c:when>
        <c:otherwise>
            <h1>If you can see this sentence, something is wrong with this program</h1>
        </c:otherwise>
    </c:choose>
</body>