For Beginners

[JSP] ์›น ๊ตฌ์กฐ์™€ ๋ฐฑ์—”๋“œ ๊ธฐ์ดˆ - 1 ๋ณธ๋ฌธ

2021๋…„ ์ž๋ฃŒ/WEB

[JSP] ์›น ๊ตฌ์กฐ์™€ ๋ฐฑ์—”๋“œ ๊ธฐ์ดˆ - 1

.log 2021. 3. 29. 10:03
728x90

๐Ÿ‘‰ Web Server

Web Server ํด๋ผ์ด์–ธํŠธ์˜ ์ ‘์†์„ ์ฒ˜๋ฆฌํ•ด์ค€๋‹ค.

HTML์ด๋‚˜, CSS, JavaScript๋งŒ์„ ์ธ์‹ํ•œ๋‹ค.

DB ๋“ฑ์€ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†๋‹ค.

 

๐Ÿ‘‰ Application Server

๋กœ์ง์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ค€๋‹ค.

DB์™€์˜ ์—ฐ๊ฒฐ์„ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค.

Presentation : ํ™”๋ฉด์— ๋ณด์ด๋Š” ์—ญํ• 

Business Logic : ์‘๋‹ต์„ ์œ„ํ•ด

 

๐Ÿ‘‰ WAS

์›น ์„œ๋ฒ„์™€ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„๋ฅผ ํ•ฉ์ณ๋†“์€ ์„œ๋ฒ„

 

๐Ÿ‘‰ Application Server์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ž๋ฐ”

Java SE ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ServerSide Program -> Java EE

Servlet -> ์›น์—์„œ ๋Œ์•„๊ฐ€๋Š” ์ž๋ฐ”

 

๐Ÿ‘‰ JSP

Java Server Page : ์„œ๋ธ”๋ฆฟ์˜ ๋ฌธ๋ฒ•์„ ๋”ฐ๋ฅธ๋‹ค.

์ฝ”๋“œ ์ƒ์—์„œ ์•ฝ๊ฐ„์˜ Servlet๊ณผ ๋‹ค๋ฅธ ํŠน์ง•์ด ์กด์žฌํ•œ๋‹ค.

 

๐Ÿ‘‰ Deployment Descriptor

์„œ๋ธ”๋ฆฐ 3.0๋ณด๋‹ค ์ ์€ ๋ฒ„์ „์€ web.xml์„ ์‚ฌ์šฉํ•œ๋‹ค.

์„œ๋ธ”๋ฆฟ 3.0 ์ด์ƒ๋ถ€ํ„ฐ๋Š” Annotation์„ ์ด์šฉํ•œ๋‹ค.

์›น ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ์„ค๋ช…์„œ ๊ฐ™์€ ๊ฒƒ์ด๋‹ค.

ํ•˜๋‚˜์˜ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ฃผ์„(์„ค์ •๊ฐ’)์„ ๋งํ•œ๋‹ค.

 

๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

๐Ÿ‘‰ Destroy

์„œ๋ธ”๋ฆฟ์ด ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๋‚ด๋ ค๊ฐˆ ๋•Œ ์ตœ์ข…์ ์œผ๋กœ ํ˜ธ์ถœ๋˜๋Š” ํ•จ์ˆ˜

 

๐Ÿ‘‰ Init

์„œ๋ธ”๋ฆฟ์ด ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐˆ ๋•Œ ์ƒ์„ฑ์ž๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ฆฌ๋Š” ์ž‘์—…์„ ํ•˜๋ฉด, ๊ฐ์ฒด์˜ ์ดˆ๊ธฐํ™” ์ž‘์—…์„ ์ง„ํ–‰.

 

๐Ÿ‘‰ Service

ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ(request), ์„œ๋ฒ„์˜ ์‘๋‹ต(response)๋ฅผ ๋‹ค๋ฃฌ๋‹ค.

 

๐Ÿ‘‰ Generic Servlet

์„œ๋น„์Šค ๋ฉ”์„œ๋“œ๋งŒ overrideํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ„๋‹จํ•œ ์ธํ„ฐํŽ˜์ด์Šค

Servlet์„ extendํ•˜๊ฒŒ ๋˜๋ฉด ์ƒ์†ํ•˜๊ธฐ ์‹ซ์€ ๋ฉ”์„œ๋“œ๋ฅผ ๋ชจ๋‘ ๊ตฌํ˜„ํ•˜๊ฑฐ๋‚˜ abstract ํด๋ž˜์Šค๋กœ ์„ ์–ธํ•ด์•ผ ํ•œ๋‹ค.

 

๐Ÿ‘‰ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” ๋ฐฉ๋ฒ•

get : url์— ํฌํ•จ๋˜์–ด ๋„˜์–ด๊ฐ„๋‹ค. ๋…ธ์ถœ์˜ ์œ„ํ—˜์ด ๋†’๋‹ค. ๊ธธ์ด์˜ ์ œํ•œ์ด ์žˆ๋‹ค.

post : ๋ฐ”๋””์— ํฌํ•จ๋˜์–ด ๋„˜์–ด๊ฐ„๋‹ค. ๋…ธ์ถœ์˜ ์œ„ํ—˜์ด ๋‚ฎ๋‹ค. ๊ธธ์ด์˜ ์ œํ•œ์ด ์—†๋‹ค.

 

๐Ÿ‘‰ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•

get๊ณผ post์˜ ๋ฐฉ์‹์ด ๋‹ค๋ฅด๋ฏ€๋กœ, HttpRequest๋ฅผ ์‚ฌ์šฉํ•ด์„œ 

doGet์ด๋‚˜ doPost๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๐Ÿ‘‰ ์ดํด๋ฆฝ์Šค์—์„œ ์„œ๋ธ”๋ฆฟ์„ ๋งŒ๋“ค์–ด๋ณด์ž.

๐Ÿ‘‰ ์›น ํŽ˜์ด์ง€๋ฅผ ์ด๋™ํ•˜๋Š” ๋ฐฉ๋ฒ•

1. url์„ ์ง์ ‘ ์ž…๋ ฅํ•˜๋Š” ๋ฐฉ๋ฒ•

2. link๋ฅผ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•

3. form - get์„ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•

-----------get ๋ฐฉ์‹--------------

4. form - post๋ฅผ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•

----------post ๋ฐฉ์‹--------------

 

๐Ÿ‘‰ ์ž๋ฐ” ์ฝ”๋“œ์— html ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ์—๋Ÿฌ๊ฐ€ ๋‚œ๋‹ค.

์„œ๋ธ”๋ฆฟ์€ ์„œ๋ฒ„์—์„œ ๊ตฌ๋™ํ•˜๋Š” ์ฝ”๋“œ์ด๊ธฐ ๋•Œ๋ฌธ์—, ์„œ๋ธ”๋ฆฟ์—์„œ ์ž‘์„ฑํ•˜๋Š” html์€ ์ถœ๋ ฅํ•ด์ฃผ์–ด์•ผ ํ”„๋ก ํŠธ์—์„œ ํ•ด์„ํ•  ์ˆ˜ ์žˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ์˜ ์‘๋‹ต๊ณผ ๊ด€๋ จ์žˆ๋Š” response๋ฅผ ์ด์šฉํ•˜์—ฌ HttpServletResponse์˜ ์ƒ์œ„ ํด๋ž˜์Šค๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”

getWriter()๋ผ๋Š” ๋ฉ”์„œ๋“œ -> printWriter()๋ฅผ ์ด์šฉํ•˜์—ฌ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๐Ÿ‘‰ url Pattern

ssfay : root context

HelloSsafy : ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ์ผ๋ฐ˜์ ์œผ๋กœ ์„ž์œผ๋ฉด ์•ˆ๋˜๋ฏ€๋กœ

์ด๋ ‡๊ฒŒ ๋ฐ”๊พธ์–ด์ค€๋‹ค.

 

๐Ÿ‘‰ ์ฝ”๋“œ์˜ html ๋‚ด์šฉ ์ˆ˜์ • ๊ฒฐ๊ณผ

์ž๋ฐ” ํŒŒ์ผ์€ destroy -> init ๊ณผ์ •์„ ํ†ตํ•ด ์—…๋ฐ์ดํŠธ๊ฐ€ ์ง„ํ–‰๋˜๋ฏ€๋กœ, ๋‹ค์‹œ ๋กœ๋“œํ•˜๋Š” ๊ณผ์ •์„ ๊ฑฐ์ณ์„œ ๋กœ๋”ฉ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ๋‹ค.

์–ธ์ œ ์ฐฝ์ด ๋œฐ ์ง€ ์•Œ ์ˆ˜ ์—†๋‹ค.

Comments