eajni IT ์ดˆ๋ณด์‚ฌ์ „ ๐Ÿ’ฆ๐Ÿ’ฆ

[JAVA] JSP

2022-11-25
 

์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด

CGI, Common Gateway Interface

  • ์›น ์„œ๋ฒ„์™€ ๋™์  ์ฝ˜ํ…์ธ  ์ƒ์„ฑ์„ ๋งก์€ ํ”„๋กœ๊ทธ๋žจ ์‚ฌ์ด์—์„œ ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ์ธํ„ฐํŽ˜์ด์Šค
  • ์„œ๋ฒ„ ์ž์›์„ ๊ณผ๋„ํ•˜๊ฒŒ ์‚ฌ์šฉ Perl Visual Basic

ASP, Active Server Page

  • ์Šคํฌ๋ฆฝํŠธ ๋ฐฉ์‹์œผ๋กœ ๋™์ ์ธ ์›น ํŽ˜์ด์ง€๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•˜๋Š” ๊ธฐ์ˆ 
  • ํŠน์ • ํ”Œ๋žซํผ๊ณผ ํŠน์ • ์›น ์„œ๋ฒ„์—์„œ๋งŒ ๋™์ž‘ IIS

PHP, Professional Hypertext Processor

  • ์–ด๋–ค ํ”Œ๋žซํผ์—์„œ๋“ ์ง€ ๋™์ž‘ํ•˜๋ฉฐ, C ์–ธ์–ด์˜ ๋ฌธ๋ฒ•๊ณผ ์œ ์‚ฌ
  • ์ปดํฌ๋„ŒํŠธ ์ง€์›๋ฌธ์ œ์™€ ๋ณด์•ˆ ์ทจ์•ฝ์œผ๋กœ ํ•ดํ‚น ๊ณต๊ฒฉ ๋Œ€์ƒ์ด ๋จ

Servlet & JSP

  • ์ž๋ฐ”์–ธ์–ด ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฉ€ํ‹ฐ์“ฐ๋ ˆ๋”ฉ(Multi Thread)์— ์˜ํ•ด ์‚ฌ์šฉ์ž ์š”๊ตฌ๋ฅผ ์ฒ˜๋ฆฌ
  • Servlet - ์ž๋ฐ” ์ฝ”๋“œ์— ์˜์กด์ , JSP - ๋น„๊ต์  ๋œ ์˜์กด์ 

์›น์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์กฐ

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

  • ์›น ๋ธŒ๋ผ์šฐ์ € - ํด๋ผ์ด์–ธํŠธ
  • ์›น ์„œ๋ฒ„ - ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ์š”์ฒญ์„ ๋ฐ›์•„๋“ค์ด๋Š” ๊ณณ
  • ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„(WAS) - ์š”์ฒญ๋œ ํŽ˜์ด์ง€์˜ ๋กœ์ง ๋ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€์˜ ์—ฐ๋™์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ถ€๋ถ„.
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค - ๋ฐ์ดํ„ฐ์˜ ์ €์žฅ์†Œ

์ฒ˜๋ฆฌ ๋ฐฉ์‹

Common Gateway Interface ๋ฐฉ์‹

  • 1๊ฐœ ์š”์ฒญ โ‡’ 1๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค โ‡’ ์ฒ˜๋ฆฌ ํ›„ ์ข…๋ฃŒ
  • ์‹คํ–‰ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ (๋ฏธ๋ฆฌ ์ปดํŒŒ์ผ๋œ ์‹คํ–‰ ํ”„๋กœ๊ทธ๋žจ)

Web Application Server ๋ฐฉ์‹

  • ๋‹ค์ˆ˜ ์š”์ฒญ โ‡’ 1๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค โ‡’ ์“ฐ๋ ˆ๋“œ ๋ฐฉ์‹ ์ฒ˜๋ฆฌ
  • ์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ (์š”์ฒญ์— ๋”ฐ๋ผ ๋ฒˆ์—ญ์ฝ”๋“œ ์‹คํ–‰)

JSP

J2EE(Enterprise Edition) ๊ตฌ์„ฑ ๊ธฐ๋Šฅ์— ํ•˜๋‚˜

ํŠน์ง•

  • ๊ฐ์ฒด ์ง€ํ–ฅ์ 
  • ํ”Œ๋žซํผ ๋…๋ฆฝ์ 
  • ๋„คํŠธ์›Œํฌ ์ง€ํ–ฅ์ 
  • ๋›ฐ์–ด๋‚œ ๋ณด์•ˆ์„ฑ
  • ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ๊ธฐ๋Šฅ
  • ์นœ๊ทผํ•œ ์ฝ”๋“œ

๊ตฌ์กฐ

์ •์  ํŽ˜์ด์ง€(HTML) + ๋™์ ํŽ˜์ด์ง€(์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ)

๋””๋ ‰ํ‹ฐ๋ธŒ ํƒœ๊ทธ

ํƒœ๊ทธ ์„ค๋ช… ์†์„ฑ
<%@page %> ํŽ˜์ด์ง€ ์ •๋ณด ์„ค์ •
(์ตœ์ƒ๋‹จ์—์„œ ์„ ์–ธ ๊ถŒ์žฅ)
language
contentType
pageEncoding
session
import
errorPage
isErrorPage
<%@include %> ํŽ˜์ด์ง€ ํŠน์ • ์˜์—ญ์— ์™ธ๋ถ€ ํŒŒ์ผ ๋‚ด์šฉ ํฌํ•จ(html, jsp, txt) file
<%@taglib %> ํ˜„์žฌ ํŽ˜์ด์ง€์˜ ํ‘œํ˜„ ์–ธ์–ด, JSTL, ์‚ฌ์šฉ์ž ์ •์˜ ํƒœ๊ทธ ๋“ฑ ํƒœ๊ทธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์ • uri
prefix

์Šคํฌ๋ฆฝํŠธ ํƒœ๊ทธ

JSP ํŽ˜์ด์ง€๊ฐ€ ์„œ๋ธ”๋ฆฟ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์„œ๋ธ”๋ฆฟ ํด๋ž˜์Šค๋กœ ๋ณ€ํ™˜ํ•  ๋•Œ ์‚ฌ์šฉ

ํƒœ๊ทธ ์„ค๋ช…
<%! โ€ฆ; %> ์ž๋ฐ” ์ „์—ญ ๋ณ€์ˆ˜, ๋ฉ”์†Œ๋“œ ์ •์˜ (์„ ์–ธ๋ฌธ)
<% โ€ฆ; %> ์ž๋ฐ” ๋กœ์ง ์ฝ”๋“œ ์ž‘์„ฑ
์ง€์—ญ ๋ณ€์ˆ˜ ์„ ์–ธ ๊ฐ€๋Šฅ (์Šคํฌ๋ฆฝํ‹€๋ฆฟ)
<%= โ€ฆ %> ๋ณ€์ˆ˜, ๊ณ„์‚ฐ์‹, ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ๊ฒฐ๊ณผ๋ฅผ ๋ฌธ์ž์—ด ํ˜•ํƒœ๋กœ ์ถœ๋ ฅ (ํ‘œํ˜„๋ฌธ)

์•ก์…˜ ํƒœ๊ทธ

์„œ๋ฒ„๋‚˜ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์–ด๋–ค ํ–‰๋™์„ ํ•˜๋„๋ก ๋ช…๋ นํ•˜๋Š” ํƒœ๊ทธ

ํƒœ๊ทธ ์„ค๋ช…
<jsp:foward page=โ€โ€ /> ํŽ˜์ด์ง€ ์ด๋™
<jsp:include page=โ€โ€ /> ํŠน์ • ์˜์—ญ์— ์™ธ๋ถ€ ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ํฌํ•จ (HTML, JSP, ์„œ๋ธ”๋ฆฟ ํŽ˜์ด์ง€)
<jsp:param name=โ€โ€ value=โ€โ€ /> ํ˜„์žฌ JSP ํŽ˜์ด์ง€์—์„œ ๋‹ค๋ฅธ ํŽ˜์ด์ง€์— ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•˜๋Š” ํƒœ๊ทธ
, < jsp:include> ๋‚ด๋ถ€์— ์‚ฌ์šฉ

ํผ ํƒœ๊ทธ

ํƒœ๊ทธ ์„ค๋ช…
form ํผ์„ ์ •์˜ํ•˜๋Š” ์ตœ์ƒ์œ„ ํƒœ๊ทธ
input ์‚ฌ์šฉ์ž ์ž…๋ ฅ ํƒœ๊ทธ
select ํ•ญ๋ชฉ ์„ ํƒ ํƒœ๊ทธ
textarea ์—ฌ๋Ÿฌ ์ค„ ์ž…๋ ฅ ํƒœ๊ทธ

๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ

์š”์ฒญ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐ’ ๋ฐ›๊ธฐ

String ๋ณ€์ˆ˜ = request.getParameter(param)

์š”์ฒญ ํŒŒ๋ผ๋ฏธํ„ฐ ์ „์ฒด ๊ฐ’ ๋ฐ›๊ธฐ (์—ด๊ฑฐ ํƒ€์ž…)

getParameterNames()

hasMoreElements()

netxElement()

JSP ๋‚ด์žฅ๊ฐ์ฒด

request

HTTP ์š”์ฒญ ์ •๋ณด ์ €์žฅ

response

HTTP ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต ์ •๋ณด ์ „๋‹ฌ

out

์›น ๋ธŒ๋ผ์šฐ์ €์— ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” ์ถœ๋ ฅ ์ŠคํŠธ๋ฆผ ๊ฐ์ฒด

  • ์Šคํฌ๋ฆฝํ‹€๋ฆฟ- ํ‘œํ˜„๋ฌธ ํƒœ๊ทธ์™€ ๊ฐ™์€ ๊ฒฐ๊ณผ ๋ฐ˜ํ™˜
  • flush() : ํ˜„์žฌ ์ถœ๋ ฅ ๋ฒ„ํผ์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๋‚ด์šฉ์„ ์›น๋ธŒ๋ผ์šฐ์ €์— ์ „์†กํ•˜๊ณ  ๋น„์›€

JSTL, JSP Standard Tag Library

JSP ํŽ˜์ด์ง€์—์„œ ์Šคํฌ๋ฆฝํŠธ ์š”์†Œ๋กœ ์ธํ•œ ์ฝ”๋“œ์˜ ๋ณต์žกํ•จ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์ผ์ข…์˜ ์‚ฌ์šฉ์ž ์ •์˜ ํƒœ๊ทธ์˜ ํ‘œ์ค€

ํƒœ๊ทธ ์„ค๋ช… ์„ ์–ธ
core ํƒœ๊ทธ

<c:> </c:>
๋ณ€์ˆ˜ ์ฒ˜๋ฆฌ, ์ œ์–ด๋ฌธ ํ™œ์šฉ ๊ธฐ๋Šฅ, URL ์ฒ˜๋ฆฌ ๊ธฐ๋Šฅ ์ œ๊ณต <%@ taglib prifix=โ€cโ€ uri=โ€http://java.sun.com/jsp/jstl/coreโ€%>
formatting ํƒœ๊ทธ ์ˆซ์ž, ๋‚ ์งœ, ์‹œ๊ฐ„ ํ˜•์‹ํ™” ๊ธฐ๋Šฅ ๋ฐ ๋‹ค๊ตญ์–ด ์ง€์› ๊ธฐ๋Šฅ ์ œ๊ณต ย 
sql ํƒœ๊ทธ

<sql:></sql:>
DB์™€ ์ƒํ˜ธ์ž‘์šฉ ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ, CRUD <%@ taglib prifix=โ€sqlโ€ uri=โ€http://java.sun.com/jsp/jstl/sqlโ€%>
functions ํƒœ๊ทธ

<fn:></fn:>
๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ ํ•จ์ˆ˜ ์ œ๊ณต <%@ taglib prifix=โ€fnโ€ uri=โ€http://java.sun.com/jsp/jstl/functionsโ€%>

Comments

Content