Giter Club home page Giter Club logo

jsp_thory's Introduction

JSP_Thory

๐ŸŽ‡๐ŸŽ†ISSUES -->>

jsp_thory's People

Watchers

 avatar

jsp_thory's Issues

JSP ๊ตฌ์„ฑ์š”์†Œ

JSP ๊ตฌ์„ฑ์š”์†Œ

  1. ์Šคํฌ๋ฆฝํŠธ(Script) ์š”์†Œ
    <% %> : ์Šคํฌ๋ฆฝํŠธ ๋ฆฟ - JSP ํŽ˜์ด์ง€ ๋‚ด๋ถ€์— ์ž๋ฐ” (JAVA) ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์‚ฝ์ž…ํ•œ๋‹ค.
    <%= %> : ํ‘œํ˜„์‹ - ์ถœ๋ ฅ๊ฒฐ๊ณผ (HTML ์š”์†Œ ๋‚ด) ๊ฐ’(value)๋ฅผ ๋„ฃ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค.
    <%! %> : ์„ ์–ธ - JSP ํŽ˜์ด์ง€ ๋‚ด๋ถ€์— ์ž๋ฐ” ๋ฉ”์†Œ๋“œ(JAVA method)๋ฅผ ์„ ์–ธํ•œ๋‹ค.

  2. ์ง€์‹œ์–ด (directive)
    :JSP์— ๋Œ€ํ•œ ์„ค์ • ์ •๋ณด ๋˜๋Š” JSP ํŽ˜์ด์ง€์— ๋‹ค๋ฅธ ๋ฌธ์„œ๋ฅผ ํฌํ•จ ์‹œํ‚ฌ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.
    <%@ page %> : ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด, ์—๋ŸฌํŽ˜์ด์ง€ ์ง€์ •, ๋ฒ„ํผ ์„ค์ • ๋“ฑ์„ ์ •์˜ํ•œ๋‹ค.
    <%@ include %> : ๋ฒˆ์—ญ ๋‹จ๊ณ„์—์„œ ๋‹ค๋ฅธ ๋ฌธ์„œ๋ฅผ ํฌํ•จ์‹œํ‚จ๋‹ค.
    <%@ tablib %> : ํƒœ๊ทธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ ์–ธํ•œ๋‹ค.

  3. ๋‚ด์žฅ๊ฐ์ฒด (Implicit Object)
    : JSP ์ปจํ…Œ์ด๋„ˆ์— ์˜ํ•ด ๊ฐœ๋ฐœ์ž๋“ค์ด ๋ช…์‹œ์ ์œผ๋กœ ์„ ์–ธํ•˜์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ž๋ฐ”๊ฐ์ฒด. ์‚ฌ์ „ ์ •์˜๋œ ๊ฐ์ฒด

  • request : ํด๋ผ์ด์–ธํŠธ์—์„œ ์„œ๋ฒ„๋กœ ๋ณด๋‚ด์ง€๋Š” ์š”์ฒญ๊ณผ ๊ด€๋ จ๋œ ๊ฐ์ฒด
  • response : ์„œ๋ฒ„์—์„œ ํด๋ผ์ด์–ธํŠธ๋กœ ๋ณด๋‚ด์ง€๋Š” ์‘๋‹ต๊ณผ ๊ด€๋ จ๋œ ๊ฐ์ฒด
  • out : ์ถœ๋ ฅ์„ ํด๋ผ์ด์–ธํŠธ๋กœ ๋ณด๋‚ด๋Š” ๊ฐ์ฒด
  • session : ์„œ๋ฒ„ ์ธก ์›น ์ปจํ…Œ์ด๋„ˆ์— ์‚ฌ์šฉ์ž์˜ ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ฐ์ฒด
  • application : ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ „๋ฐ˜์— ๊ฑธ์นœ ์ •๋ณด๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ฐ์ฒด
  • config : ํŽ˜์ด์ง€์™€ ๊ด€๋ จ๋œ ์„œ๋ธ”๋ฆฟ ์„ค์ • ๊ฐ์ฒด
  • pageContext : ํ˜„์žฌ ํŽ˜์ด์ง€์˜ ๋‚ด์šฉ์„ ์ €์žฅํ•˜๊ณ  ์žˆ๋Š” ๊ฐ์ฒด
  • page : ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ์‹ค์ œ ์ธ์Šคํ„ด์Šค(์ž๋ฐ” ํด๋ž˜์Šค)๋ฅผ ์ €์žฅํ•˜๊ณ  ์žˆ๋Š” ๊ฐ์ฒด
  • Exception : ์ด์ „ ํŽ˜์ด์ง€์˜ ์—๋Ÿฌ๋ฅผ ์ €์žฅํ•˜๊ณ  ์žˆ๋Š” ๊ฐ์ฒด
  1. ์•ก์…˜ํƒœ๊ทธ (Action Tag)
  • jsp:include : ํŽ˜์ด์ง€๊ฐ€ ์š”์ฒญ๋  ๋•Œ ํ•ด๋‹น ํƒœ๊ทธ๊ฐ€ ์œ„์น˜ํ•œ ๊ณณ์— ํŒŒ์ผ์„ ํฌํ•จ์‹œํ‚จ๋‹ค.
  • jsp:useBean : javaBean์„ ์ฐพ๊ณ  ์ธ์Šคํ„ด์Šคํ™” ํ•œ๋‹ค.
  • jsp:setProperty : javaBean์˜ ํ”„๋กœํผํ‹ฐ๋ฅผ ์„ค์ •ํ•œ๋‹ค.
  • jsp:getProperty : javaBean์˜ ํ”„๋กœํผํ‹ฐ๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค.
  • jsp:forward : ํ•˜๋‚˜์˜ jspํŽ˜์ด์ง€์—์„œ ๋‹ค๋ฅธ jspํŽ˜์ด์ง€๋กœ ๊ฐ•์ œ์ด๋™์‹œํ‚จ๋‹ค.
  • jsp:plugin : javaBean ๋˜๋Š” Applet์„ ํ˜„์žฌ jspํŽ˜์ด์ง€์— ํฌํ•จ์‹œํ‚ฌ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.
  • jsp:element : XMLํƒœ๊ทธ๋ฅผ ๋™์ ์œผ๋กœ ์ •์˜ํ•œ๋‹ค.
  • jsp:attribute : ๋™์ ์œผ๋กœ ์ •์˜๋œ XML ํƒœ๊ทธ์˜ ์†์„ฑ์„ ์ •์˜ํ•œ๋‹ค.
  • jsp:body : ๋™์ ์œผ๋กœ ์ •์˜๋œ XML ํƒœ๊ทธ์˜ ๋ณธ๋ฌธ์„ ์ •์˜ํ•œ๋‹ค.
  • jsp:text : JSPํŽ˜์ด์ง€์™€ ๋ฌธ์„œ์— ํ…œํ”Œ๋ฆฟ ํ…์ŠคํŠธ๋ฅผ ์“ฐ๋Š”๋ฐ ์‚ฌ์šฉํ•œ๋‹ค.
  1. ํ‘œํ˜„ ์–ธ์–ด(Expression Language)
    :์Šคํฌ๋ฆฝํŠธ ์š”์†Œ์˜ ์‚ฌ์šฉ์—†์ด JSPํŽ˜์ด์ง€์— ๊ฐ’์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ํƒœ๊ทธ ๊ธฐ๋ฐ˜์˜ ์ƒˆ๋กœ์šด ์–ธ์–ด
    ๊ธฐ๋ณธ ๋ฌธ๋ฒ• :${expr}

  2. ์‚ฌ์šฉ์ž ์ •์˜ํƒœ๊ทธ (JSTL)
    : JSP ๊ฐ€ ์ œ๊ณตํ•ด์ฃผ๋Š” ํƒœ๊ทธ ์™ธ์— ์‚ฌ์šฉ์ž๊ฐ€ ๋ณ„๋„๋กœ ์ •์˜ํ•˜์—ฌ ์‚ฌ์šฉํ• ์ˆ˜ ์žˆ๋Š” ํƒœ๊ทธ์ด๋ฉฐ JSTL ๋˜ํ•œ ์‚ฌ์šฉ์ž ์ •์˜ ํƒœ๊ทธ์— ์†ํ•œ๋‹ค.
    JSTL (JSP Standard Tag Libary) ๋Š” ์ž๋ฐ”์–ธ์–ด์˜ ์กฐ๊ฑด๋ฌธ, ๋ฐ˜๋ณต๋ฌธ๊ณผ ๊ฐ™์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์š”์†Œ๋ฅผ ํƒœ๊ทธ๋กœ ๊ตฌํ˜„ํ• ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค.

  • JSTL ์˜ ์ฝ”์–ดํƒœ๊ทธ (Core Tag )

  • <c:out> : <%= .. %> ์™€ ์œ ์‚ฌํ•˜๋ฉฐ ํ‘œํ˜„์‹์— ์‚ฌ์šฉ๋œ๋‹ค.

  • <c:set> : JSP ์— ์‚ฌ์šฉ๋  ๋ณ€์ˆ˜๋ฅผ ์ง€์ •ํ•˜๋ฉฐ ๋ฒ”์œ„๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • <c:remove> : ๋ณ€์ˆ˜๋ฅผ ์ œ๊ฑฐํ•œ๋‹ค. ( ๋ฒ”์œ„๋ฅผ ์„ค์ •ํ•œ ๊ฒฝ์šฐ ํ•ด๋‹น ๋ฒ”์œ„๋‚ด์˜ ๋ณ€์ˆ˜๋ฅผ ์ œ๊ฑฐ )

  • <c:catch> : ์—๋Ÿฌ (Exception) ๋ฅผ ์บ์น˜ํ•˜๊ณ  ์ด๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค.

  • <c:if> : ์กฐ๊ฑด์ด ์ฐธ์ผ ๊ฒฝ์šฐ ๋ณธ๋ฌธ ํฌํ•จ๋œ๋‹ค.

  • <c:choose> : ์กฐ๊ฑดํƒœ๊ทธ ์ด๋ฉฐ ๋ฐฐํƒ€์ ์ธ ์กฐ๊ฑด๋ถ€ ์—ฐ์‚ฐ์— ์‚ฌ์šฉ๋œ๋‹ค.

  • <c:when> : choose ํƒœ๊ทธ๊ฐ€ ์‚ฌ์‹ค์ผ๊ฒฝ์šฐ ๋ณธ๋ฌธ์— ํฌํ•จ๋œ๋‹ค.

  • <c:otherwise> : choose ํƒœ๊ทธ๊ฐ€ ๊ฑฐ์ง“์ผ๊ฒฝ์šฐ ๋ณธ๋ฌธ์— ํฌํ•จ๋œ๋‹ค.

  • <c:import> : ์„ค์ •๋œ url ์˜ ์ž์›์„ ์‚ฝ์ž…ํ•œ๋‹ค.

  • <c:forEach> : ์ปฌ๋ ‰์…˜ ๋˜๋Š” Map ๊ณผ ๊ฐ™์€ ์œ ํ˜•์„ ํ—ˆ์šฉํ•˜๊ณ  ์ด๋ฅผ ๋ฐ˜๋ณต์ฒ˜๋ฆฌํ•œ๋‹ค.

  • <c:forTokens> : ์„ค์ •ํ•œ ๊ตฌ๋ถ„์ž๋กœ ๋ถ„๋ฆฌ๋œ ํ† ํฐ์„ ๋ฐ˜๋ณตํ•œ๋‹ค.

  • <c:param> : import ํƒœ๊ทธ์— ์„ค์ •๋œ url ์— ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.

  • <c:redirect> : ์ƒˆ๋กœ์šด url ๋กœ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ ์‹œํ‚จ๋‹ค.

  • <c:url> : URL ๋ฅผ ์žฌ์ƒ์„ฑํ•œ๋‹ค.

์ถœ์ฒ˜ ใ…ฃ https://javacpro.tistory.com/44?category=104808

MVC

MVC(Model View Controller)
: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์„ธ๊ฐ€์ง€ ์—ญํ• ๋กœ ๊ตฌ๋ถ„ํ•œ ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก (๋””์ž์ธ ํŒจํ„ด ์ค‘ ํ•˜๋‚˜.)
์‚ฌ์šฉ์ž๊ฐ€ Controller๋ฅผ ์กฐ์ž‘ํ•˜๋ฉด Controller์€ Model์„ ํ†ตํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ , ๊ทธ ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์‹œ๊ฐ์ ์ธ ํ‘œํ˜„์„ ๋‹ด๋‹นํ•˜๋Š” View๋ฅผ ์ œ์–ดํ•ด์„œ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ „๋‹ฌํ•˜๊ฒŒ ๋œ๋‹ค.

JSP

  • JSP(Java Server Pages)
    HTML ์ฝ”๋“œ์— JAVA ์ฝ”๋“œ๋ฅผ ๋„ฃ์–ด ๋™์  ์›น ํŽ˜์ด์ง€๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋„๊ตฌ.
    JSP๊ฐ€ ์‹คํ–‰๋˜๋ฉด ์ž๋ฐ” ์„œ๋ธ”๋ฆฟ(Servlet)์œผ๋กœ ๋ณ€ํ™˜๋˜๋ฉฐ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„์—์„œ ๋™์ž‘๋˜๋ฉด์„œ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๊ณ , ์ƒ์„ฑ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์›นํŽ˜์ด์ง€์™€ ํ•จ๊ป˜ ํด๋ผ์ด์–ธํŠธ๋กœ ์‘๋‹ตํ•œ๋‹ค.

  • ์ž๋ฐ” ์„œ๋ธ”๋ฆฟ(Java Servlet)
    ์„œ๋ธ”๋ฆฟ์ด๋ž€ ์›นํŽ˜์ด์ง€๋ฅผ ๋™์ ์œผ๋กœ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์„œ๋ฒ„์ธก ํ”„๋กœ๊ทธ๋žจ.
    ์ž๋ฐ” ์–ธ์–ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค์–ด์ง€๋ฉฐ, ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„(WAS) ์œ„์—์„œ ์ปดํŒŒ์ผ ๋˜๊ณ  ๋™์ž‘ํ•œ๋‹ค.

  • JSP์™€ ์„œ๋ธ”๋ฆฟ์€ ๊ฒฐ๊ณผ์ ์œผ๋กœ ํ•˜๋Š” ์ผ์€ ๋™์ผํ•˜์ง€๋งŒ,
    JSP๋Š” HTML ๋‚ด๋ถ€์— JAVA ์†Œ์Šค ์ฝ”๋“œ๊ฐ€ ๋“ค์–ด๊ฐ์œผ๋กœ ์ธํ•ด, HTML ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ๊ฐ„ํŽธ.
    ์„œ๋ธ”๋ฆฟ์€ ์ž๋ฐ” ์ฝ”๋“œ๋‚ด์— HTML์ฝ”๋“œ๊ฐ€ ์žˆ์–ด์„œ ์ฝ๊ณ  ์“ฐ๊ธฐ๊ฐ€ ๊ต‰์žฅํžˆ ๋ถˆํŽธํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ž‘์—…์˜ ํšจ์œจ์„ฑ์ด ๋–จ์–ด์ง.(ํ”„๋ก ํŠธ ์•ค๋“œ ๊ฐœ๋ฐœ์ž์™€ ์ฝ”๋“œ๊ฐ€ ์„ž์ผ ์ˆ˜ ์žˆ์Œ.)

JSP ์ˆ˜ํ–‰ ์ˆœ์„œ

  1. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์–ด๋–ค ๋™์ž‘์„ ํ•จ์œผ๋กœ์จ hello.jsp ๋ฅผ ์š”์ฒญํ•œ๋‹ค.

  2. JSP ์ปจํ…Œ์ด๋„ˆ๊ฐ€ JSP ํŒŒ์ผ์„ ์ฝ๋Š”๋‹ค.

  3. JSP ์ปจํ…Œ์ด๋„ˆ๊ฐ€ Generete (๋ณ€ํ™˜) ์ž‘์—…์„ ํ†ตํ•ด Servlet ( .java ) ํŒŒ์ผ์„ ์ƒ์„ฑํ•œ๋‹ค.

  4. .java ํŒŒ์ผ์€ ๋‹ค์‹œ .class ํŒŒ์ผ๋กœ ์ปดํŒŒ์ผ๋œ๋‹ค.

  5. Execute (์‹คํ–‰) ์„ํ†ตํ•ด HTML ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜์—ฌ JSP ์ปจํ…Œ์ด๋„ˆ ์—๊ฒŒ ์ „๋‹ฌํ•œ๋‹ค.

  6. JSP ๋Š” HTTP ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด HTML ํŽ˜์ด์ง€๋ฅผ ํด๋ผ์ด์–ธํŠธ ์—๊ฒŒ ์ „๋‹ฌํ•œ๋‹ค.

JSP_bean

์ž๋ฐ”๋นˆ(Java Bean)
: JSP ์—์„œ ์ •๋ณด๋ฅผ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ๋ชฉ์ ์œผ๋กœ ํ•˜๋Š” Java ํด๋ž˜์Šค
MVC์—์„œ M(model)์— ํ•ด๋‹น

  • JSP์™€ ํด๋ž˜์Šค๋“ค๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์‰ฝ๊ฒŒ ์—ฐ๋™.
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๋™์ด๋‚˜ ๋ทฐ ๋ฐ์ดํ„ฐ ๊ตํ™˜์— ์‚ฌ์šฉ
  • ๋””์ž์ด๋„ˆ์™€ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ„์˜ ์ผ์˜ ๋ถ„๋ฆฌ๊ฐ€ ๋ช…ํ™•ํ•ด์ง€๊ฒŒ ํ•˜๊ณ , ๋ณต์žกํ•œ ์ฝ”๋“œ๋ฅผ ์ค„์ด๋ฉฐ ํ”„๋กœ๊ทธ๋žจ์˜ ํšจ์œจ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Œ.

๋””์ž์ด๋„ˆ๊ฐ€ html๋กœ ๋งŒ๋“ค๋ฉด, html๋‚ด์—์„œ form action =์ž๋ฐ”๋นˆ์ฝ”๋“œ.jsp
ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ž๋ฐ”๋นˆ์ฝ”๋“œ.jsp๋‚ด์—์„œ ํ–‰๋™ ๋‹ด๋‹น(DB์—ฐ๋™ ๋“ฑ)ํ›„, ๋‹ค์‹œ jsp์—์„œ ์ถœ๋ ฅ

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.