Skip to content

Latest commit

Β 

History

History
45 lines (24 loc) Β· 2.68 KB

JSP (JAVA Server Page).md

File metadata and controls

45 lines (24 loc) Β· 2.68 KB

JSP (JAVA Server Page)

Assembled by GimunLee (2019-11-07)


Goal

  • JSP에 λŒ€ν•΄ μ„€λͺ…ν•  수 μžˆλ‹€.
  • JSP λ™μž‘ 과정에 λŒ€ν•΄ μ„€λͺ…ν•  수 μžˆλ‹€.

JSPλž€?

JAVA μ½”λ“œκ°€ λ“€μ–΄κ°€μžˆλŠ” HTML μ½”λ“œ μž…λ‹ˆλ‹€. Servlet은 μžλ°” μ†ŒμŠ€μ½”λ“œ 속에 HTMLμ½”λ“œκ°€ λ“€μ–΄κ°€λŠ” ν˜•νƒœμΈλ°, JSPλŠ” 이와 λ°˜λŒ€λ‘œ HTML μ†ŒμŠ€μ½”λ“œ 속에 μžλ°” μ†ŒμŠ€μ½”λ“œκ°€ λ“€μ–΄κ°€λŠ” ꡬ쑰λ₯Ό κ°–λŠ” μ›Ήμ–΄ν”Œλ¦¬μΌ€μ΄μ…˜ ν”„λ‘œκ·Έλž˜λ° κΈ°μˆ μž…λ‹ˆλ‹€.

HTML μ†μ—μ„œ μžλ°”μ½”λ“œλŠ” <% μ†ŒμŠ€μ½”λ“œ %> λ˜λŠ” <%= μ†ŒμŠ€μ½”λ“œ =%> ν˜•νƒœλ‘œ λ“€μ–΄κ°‘λ‹ˆλ‹€. μžλ°” μ†ŒμŠ€μ½”λ“œλ‘œ μž‘μ„±λœ 이 뢀뢄은 μ›Ή λΈŒλΌμš°μ €λ‘œ λ³΄λ‚΄λŠ” κ²ƒμ΄μ•„λ‹ˆλΌ μ›Ή μ„œλ²„μ—μ„œ μ‹€ν–‰λ˜λŠ” λΆ€λΆ„μž…λ‹ˆλ‹€. μ›Ή ν”„λ‘œκ·Έλž˜λ¨Έκ°€ μ†ŒμŠ€μ½”λ“œλ₯Ό μˆ˜μ • ν•  κ²½μš°μ—λ„ λ””μžμΈ 뢀뢄을 μ œμ™Έν•˜κ³  μžλ°” μ†ŒμŠ€μ½”λ“œλ§Œ μˆ˜μ •ν•˜λ©΄ λ˜κΈ°μ— νš¨μœ¨μ„ λ†’μ—¬μ€λ‹ˆλ‹€. λ˜ν•œ 컴파일과 같은 과정을 ν•  ν•„μš”μ—†μ΄ JSP νŽ˜μ΄μ§€λ₯Ό μž‘μ„±ν•˜μ—¬ μ›Ή μ„œλ²„μ˜ 디렉토리에 μΆ”κ°€λ§Œ ν•˜λ©΄ μ‚¬μš©μ΄ κ°€λŠ₯ν•©λ‹ˆλ‹€.

μ„œλΈ”λ¦Ώ κ·œμΉ™μ€ κ½€λ‚˜ λ³΅μ§‘ν•˜κΈ° λ•Œλ¬Έμ— JSPκ°€ λ‚˜μ˜€κ²Œ λ˜μ—ˆλŠ”λ° JSPλŠ” WAS(Web Application Server)에 μ˜ν•˜μ—¬ μ„œλΈ”λ¦Ώ 클래슀둜 λ³€ν™˜ν•˜μ—¬ μ‚¬μš©λ˜μ–΄ μ§‘λ‹ˆλ‹€.


JSP λ™μž‘ κ³Όμ •

  1. μ›Ή μ„œλ²„κ°€ μ‚¬μš©μžλ‘œλΆ€ν„° μ„œλΈ”λ¦Ώμ— λŒ€ν•œ μš”μ²­μ„ λ°›μœΌλ©΄ μ„œλΈ”λ¦Ώ μ»¨ν…Œμ΄λ„ˆμ— κ·Έ μš”μ²­μ„ λ„˜κΉλ‹ˆλ‹€.

  2. μš”μ²­μ„ 받은 μ»¨ν…Œμ΄λ„ˆλŠ” HTTP Request와 HTTP Response 객체λ₯Ό λ§Œλ“€μ–΄, 이λ₯Ό doPost() λ˜λŠ” doGet() 쀑 ν•˜λ‚˜λ₯Ό ν˜ΈμΆœν•©λ‹ˆλ‹€.

    λ§Œμ•½ μ„œλΈ”λ¦Ώλ§Œ μ‚¬μš©ν•˜μ—¬ μ‚¬μš©μžκ°€ μš”μ²­ν•œ μ›Ή νŽ˜μ΄μ§€λ₯Ό 보여주렀면 out 객체의 println λ©”μ†Œλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ HTML λ¬Έμ„œλ₯Ό μž‘μ„±ν•΄μ•Ό ν•˜λŠ”λ° μ΄λŠ” μΆ”κ°€/μˆ˜μ •μ„ μ–΄λ ΅κ²Œ ν•˜κ³ , 가독성도 떨어지기 λ•Œλ¬Έμ— JSPλ₯Ό μ‚¬μš©ν•˜μ—¬ λΉ„μ§€λ‹ˆμŠ€ 둜직과 ν”„λ ˆμ  ν…Œμ΄μ…˜ λ‘œμ§μ„ λΆ„λ¦¬ν•©λ‹ˆλ‹€.

    μ—¬κΈ°μ„œ μ„œλΈ”λ¦Ώμ€ λ°μ΄ν„°μ˜ μž…λ ₯, μˆ˜μ • 등에 λŒ€ν•œ μ œμ–΄λ₯Ό JSPμ—κ²Œ λ„˜κ²¨μ„œ ν”„λ ˆμ  ν…Œμ΄μ…˜ λ‘œμ§μ„ μˆ˜ν–‰ν•œ ν›„ μ»¨ν…Œμ΄λ„ˆμ—κ²Œ Responseλ₯Ό μ „λ‹¬ν•©λ‹ˆλ‹€.

  3. μ΄λ ‡κ²Œ λ§Œλ“€μ–΄μ§„ 결과물은 μ‚¬μš©μžκ°€ ν•΄λ‹Ή νŽ˜μ΄μ§€λ₯Ό μš”μ²­ν•˜λ©΄ 컴파일이 λ˜μ–΄ μžλ°”νŒŒμΌμ„ 톡해 .class 파일이 λ§Œλ“€μ–΄μ§€κ³ , 두 둜직이 κ²°ν•©λ˜μ–΄ ν΄λž˜μŠ€ν™” λ˜λŠ”κ²ƒμ„ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€. 즉, out객체의 println λ©”μ†Œλ“œλ₯Ό μ‚¬μš©ν•΄μ„œ κ΅¬ν˜„ν•΄μ•Όν•˜λŠ” λ²ˆκ±°λ‘œμ›€μ„ JSPκ°€ λŒ€μ‹  μˆ˜ν–‰ν•΄μ€λ‹ˆλ‹€


References & Additional Resources