SlideShare a Scribd company logo
Servlet Architecture
Container 
A. Servlet : ์ž๋ฐ” ์ฝ”๋“œ 
B. Container : ์ž๋ฐ” ์ฝ”๋“œ 
C. ์„œ๋ธ”๋ฆฟ๊ณผ ์ปจํ…Œ์ด๋„ˆ๋Š” *์ž๋ฐ” ์ฝ”๋“œ*์ด๋‹ค.
Architecture 
์›น ์„œ๋ฒ„๋กœ ์š”์ฒญ 
์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์š”์ฒญ์„ ๋ฐ›์•„์„œ ์„œ๋ธ”๋ฆฟ์œผ๋กœ ๋„˜๊ฒจ์คŒ 
์„œ๋ธ”๋ฆฟ์˜ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ 
ํด๋ผ์ด์–ดํŠธ์—๊ฒŒ ์‘๋‹ต
Request 
โ€ข ์›น์„œ๋ฒ„๋กœ ๋“ค์–ด์˜ค๋Š” ์š”์ฒญ์€ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋ฐ›์•„์„œ ์ฒ˜๋ฆฌ 
ํ•œ๋‹ค. 
โ€ข Why?
Container 
โ€ข ํ†ต์‹  ์ถ”์ƒํ™” : ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ํฌํŠธ๋ฅผ ์—ฐ๊ฒฐํ•  ํ•„์š”๊ฐ€ 
์—†๋‹ค. ์›น์„œ๋ฒ„์™€ ์†Œํ†ต์€ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ˆ˜ํ–‰ํ•œ๋‹ค. 
โ€ข ์ƒ๋ช…์ฃผ๊ธฐ ๊ด€๋ฆฌ : ์„œ๋ธ”๋ฆฟ์˜ ํƒ„์ƒ๊ณผ ์ฃฝ์Œ์„ ๊ด€๋ฆฌํ•œ๋‹ค. 
โ€ข ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ ์ง€์› : ์š”์ฒญ๋งˆ๋‹ค Thread ์ง€์› 
โ€ข ๋ณด์•ˆ ๊ด€๋ฆฌ : ์†Œ์Šค๋ฅผ ์ˆ˜์ •ํ•˜์ง€ ์•Š์•„๋„ ๋ณด์•ˆ ์ด์Šˆ ์ฒ˜๋ฆฌ 
๊ฐ€๋Šฅ 
โ€ข JSP ์ง€์›
Architecture 
์›น ์„œ๋ฒ„๋กœ ์š”์ฒญ 
์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์š”์ฒญ์„ ๋ฐ›์•„์„œ ์„œ๋ธ”๋ฆฟ์œผ๋กœ ๋„˜๊ฒจ์คŒ 
์„œ๋ธ”๋ฆฟ์˜ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ 
ํด๋ผ์ด์–ดํŠธ์—๊ฒŒ ์‘๋‹ต
Container 
A. ์‚ฌ์šฉ์ž๊ฐ€ ์„œ๋ธ”๋ฆฟ์— ๋Œ€ํ•œ ๋งํฌ๋ฅผ ํด๋ฆญํ•œ๋‹ค. 
B. ๋“ค์–ด์˜จ ์š”์ฒญ์ด ์„œ๋ธ”๋ฆฟ์ด๋ผ๋Š” ๊ฑธ ์ฒดํฌ, ๋‘ ๊ฐ์ฒด ์ƒ์„ฑ 
A. HttpServletResponse 
B. HttpServletRequest 
C. ์‚ฌ์šฉ์ž๊ฐ€ ๋‚ ๋ฆฐ URL์„ ๋ถ„์„ํ•˜์—ฌ ์„œ๋ธ”๋ฆฟ ํ˜ธ์ถœ. ์ธ์ž๋กœ 
Response, Request๋ฅผ ๋˜์ง 
D. ์„œ๋ธ”๋ฆฟ service()๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค.
Architecture 
์›น ์„œ๋ฒ„๋กœ ์š”์ฒญ 
์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์š”์ฒญ์„ ๋ฐ›์•„์„œ ์„œ๋ธ”๋ฆฟ์œผ๋กœ ๋„˜๊ฒจ์คŒ 
์„œ๋ธ”๋ฆฟ์˜ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ 
ํด๋ผ์ด์–ดํŠธ์—๊ฒŒ ์‘๋‹ต
Service 
โ€ข HttpServlet์„ ์ƒ์†๋ฐ›์œผ๋ฉด service ๋ฉ”์†Œ๋“œ๋ฅผ ์ƒ์†๋ฐ›๊ฒŒ 
๋œ๋‹ค. ์ƒ์† ํŠธ๋ฆฌ ์•ˆ์— Service ๋ฉ”์†Œ๋“œ๊ฐ€ ์กด์žฌํ•œ๋‹ค.
How to find URL 
๊ทธ๋ ‡๋‹ค๋ฉด ์š”์ฒญ์„ ๋ฐ›์œผ๋ฉด ์–ด๋–ป๊ฒŒ ์„œ๋ธ”๋ฆฟ์€ URL์„ ์ฐพ์•„๋‚ด๋Š”๊ฐ€? 
๋ฐฐํฌ ์„œ์ˆ ์ž(Deployment Descriptor, DD) ์ฐธ์กฐ
Deployment Descriptor, DD 
โ€ข DD๋Š” ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์–ด๋–ค ์ฃผ์†Œ๋กœ ์š”์ฒญ์„ ๋ฐ›์•˜์„ ๋•Œ, ์–ด 
๋–ค ์„œ๋ธ”๋ฆฟ์„ ํ˜ธ์ถœํ•ด์•ผ ํ•˜๋Š”์ง€ ์•Œ๋ ค์ฃผ๋Š” ์„ค์ • ํŒŒ์ผ์ž„. 
โ€ข ์ฆ‰, URL๊ณผ ์‹ค์ œ ์„œ๋ธ”๋ฆฟ์„ ๋งคํ•‘ํ•ด์คŒ
DD 
<servlet> 
<servlet-name>Ch3Beer</servlet-name> 
<servlet-class>com.example.web.BeerSelect</servlet-class> 
</servlet> 
<servlet-mapping> 
<servlet-name>Ch3Beer</servlet-name> 
<url-pattern>/SelectBeer.do</url-pattern> 
</servlet-mapping> 
<servlet> : ๋‚ด๋ถ€์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ด๋ฆ„, ์™„์ „ํ•œ ํด๋ž˜์Šค๋ช…๊ณผ ๋งคํ•‘ 
<servlet-mapping> : ๋‚ด๋ถ€์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ด๋ฆ„๊ณผ URL ๋งคํ•‘ 
์ฆ‰, DD์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ด๋ฆ„์€ ์ด ์„ธ ๊ฐ€์ง€์ž„ 
A. DD์•ˆ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ด๋ฆ„ : <servlet-name> 
B. URL๊ณผ ํ˜ธ์ถœํ•  ์„œ๋ธ”๋ฆฟ์„ ๋งคํ•‘ : <servlet-class> 
C. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์„œ๋ธ”๋ฆฟ ์ด๋ฆ„ : <url-pattern>
Architecture 
์›น ์„œ๋ฒ„๋กœ ์š”์ฒญ 
์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์š”์ฒญ์„ ๋ฐ›์•„์„œ ์„œ๋ธ”๋ฆฟ์œผ๋กœ ๋„˜๊ฒจ์คŒ 
์„œ๋ธ”๋ฆฟ์˜ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ 
ํด๋ผ์ด์–ดํŠธ์—๊ฒŒ ์‘๋‹ต
MVC 
โ€ข Model : ์ •๋ณด๋ฅผ ์ฝ์–ด์˜ค๊ณ , ์ˆ˜์ •ํ•˜๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง 
(java) 
โ€ข View : ํ”„๋ฆฌ์  ํ…Œ์ด์…˜์— ๋Œ€ํ•ด ์ฑ…์ž„์„ ์ง(jsp) 
โ€ข Controller : ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ์ •๋ณด๋ฅผ ์ถ”์ถœ, ๋ชจ๋ธ์—์„œ 
์–ด๋–ค ์ž‘์—…์„ ํ•ด์•ผ ํ•˜๋Š”์ง€ ํŒ๋‹จ(servlet)
MVC 
โ€ข UI ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๋ชจ๋ธ 
โ€ข Model : ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ธฐ๋Šฅ์„ ์ œ๊ณต, ์ƒํƒœ๋ฅผ ์œ ์ง€ 
โ€ข View : ๋ชจ๋ธ์˜ ์ฒ˜๋ฆฌ ๊ฒฐ๊ณผ์™€ ์ •๋ณด๋ฅผ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ 
์คŒ 
โ€ข Controller : ์‚ฌ์šฉ์ž์˜ ๋ช…๋ น์„ ์ ‘์ˆ˜ํ•˜์—ฌ ๋ชจ๋ธ์— ์„œ๋น„์Šค 
์‹คํ–‰์„ ์ค‘๊ณ„, ๊ฒฐ๊ณผ๋ฅผ ๋ทฐ๋กœ ๋ณด์—ฌ์คŒ. 
โ€ข ์ฆ‰, ์„ธ ๊ฐ€์ง€ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์„œ๋กœ ์˜์กด์ ์ด์ง€ ์•Š๊ฒŒ ๋ถ„๋ฆฌํ•˜ 
๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•จ.

More Related Content

PPT
Servlet3
PDF
์ž๋ฐ” ์„œ๋ธ”๋ฆฟ๊ณผ ์„ธ์…˜ (Java Servlet, Session)
PPTX
HeadFisrt Servlet&JSP Chapter 3
ย 
PPTX
Spring mvc
ย 
PDF
Spring@mvcแ„‹แ…ฐแ†ธแ„’แ…ฉแ„‰แ…ณแ„แ…ตแ†ผ
ย 
PDF
[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…]Spring MVC
PPTX
[์›น๊ธฐ๋ฐ˜์‹œ์Šคํ…œ 3์กฐ] mvc
PDF
HeadFisrt Servlet&JSP Chapter 2
ย 
Servlet3
์ž๋ฐ” ์„œ๋ธ”๋ฆฟ๊ณผ ์„ธ์…˜ (Java Servlet, Session)
HeadFisrt Servlet&JSP Chapter 3
ย 
Spring mvc
ย 
Spring@mvcแ„‹แ…ฐแ†ธแ„’แ…ฉแ„‰แ…ณแ„แ…ตแ†ผ
ย 
[์˜คํ”ˆ์†Œ์Šค์ปจ์„คํŒ…]Spring MVC
[์›น๊ธฐ๋ฐ˜์‹œ์Šคํ…œ 3์กฐ] mvc
HeadFisrt Servlet&JSP Chapter 2
ย 

What's hot (20)

PPTX
SpringMVC ์ „์ฒด ํ๋ฆ„ ์•Œ์•„๋ณด๊ธฐ
PPTX
์„ธ๋ฏธ๋‚˜ Spring mybatis
PDF
แ„‹แ…กแ„แ…ตแ„แ…ฆแ†จแ„แ…ณแ„€แ…ก แ„‡แ…กแ„…แ…กแ„‡แ…ฉแ„‚แ…ณแ†ซ Spring framework
PPTX
Presentation1
PDF
07.์‹คํ–‰ํ™˜๊ฒฝ ๊ต์œก๊ต์žฌ(ํ‘œ์ค€ํ”„๋ ˆ์ž„์›Œํฌ ์„ธ๋ถ€ ์ ์šฉ๊ธฐ์ค€)
ย 
PDF
[์ œ14ํšŒ JCO ์ปจํผ๋Ÿฐ์Šค] ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ์„œ๋ฒ„์ด์ค‘ํ™” by JAVACAFE
PPTX
์„œ๋ธ”๋ฆฟ(servlet)
PDF
Spring 3.1์—์„œ ehcache ํ™œ์šฉ ์ „๋žต
PPTX
Apache http component
PDF
๋ง‰ํ•˜๋Š”์Šคํ„ฐ๋”” ๋‘๋ฒˆ์งธ๋งŒ๋‚จ Express(20151025)
PPTX
Rb vs wp ๋กœ๋“œํƒ€์ž„ ์„ฑ๋Šฅ๋น„๊ต
PDF
๋ง‰ํ•˜๋Š” ์Šคํ„ฐ๋”” ์ฒซ ๋ฒˆ์งธ ๋งŒ๋‚จ Node.js
PDF
JSP ํ”„๋กœ๊ทธ๋ž˜๋ฐ #01 ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ
PDF
nodejs websocket & SOCKET.IO
PPTX
Webpack&babel
PDF
WebSocket ๊ธฐ๋ฐ˜ ์Œ๋ฐฉํ–ฅ ๋ฉ”์‹œ์ง•
PDF
JSP ํ”„๋กœ๊ทธ๋ž˜๋ฐ #02 ์„œ๋ธ”๋ฆฟ๊ณผ JSP ์‹œ์ž‘ํ•˜๊ธฐ
PPTX
HOONS๋‹ท๋„ท ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ Part1.
PPTX
Web Socket
ย 
PDF
Node.js intro
SpringMVC ์ „์ฒด ํ๋ฆ„ ์•Œ์•„๋ณด๊ธฐ
์„ธ๋ฏธ๋‚˜ Spring mybatis
แ„‹แ…กแ„แ…ตแ„แ…ฆแ†จแ„แ…ณแ„€แ…ก แ„‡แ…กแ„…แ…กแ„‡แ…ฉแ„‚แ…ณแ†ซ Spring framework
Presentation1
07.์‹คํ–‰ํ™˜๊ฒฝ ๊ต์œก๊ต์žฌ(ํ‘œ์ค€ํ”„๋ ˆ์ž„์›Œํฌ ์„ธ๋ถ€ ์ ์šฉ๊ธฐ์ค€)
ย 
[์ œ14ํšŒ JCO ์ปจํผ๋Ÿฐ์Šค] ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ์„œ๋ฒ„์ด์ค‘ํ™” by JAVACAFE
์„œ๋ธ”๋ฆฟ(servlet)
Spring 3.1์—์„œ ehcache ํ™œ์šฉ ์ „๋žต
Apache http component
๋ง‰ํ•˜๋Š”์Šคํ„ฐ๋”” ๋‘๋ฒˆ์งธ๋งŒ๋‚จ Express(20151025)
Rb vs wp ๋กœ๋“œํƒ€์ž„ ์„ฑ๋Šฅ๋น„๊ต
๋ง‰ํ•˜๋Š” ์Šคํ„ฐ๋”” ์ฒซ ๋ฒˆ์งธ ๋งŒ๋‚จ Node.js
JSP ํ”„๋กœ๊ทธ๋ž˜๋ฐ #01 ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ
nodejs websocket & SOCKET.IO
Webpack&babel
WebSocket ๊ธฐ๋ฐ˜ ์Œ๋ฐฉํ–ฅ ๋ฉ”์‹œ์ง•
JSP ํ”„๋กœ๊ทธ๋ž˜๋ฐ #02 ์„œ๋ธ”๋ฆฟ๊ณผ JSP ์‹œ์ž‘ํ•˜๊ธฐ
HOONS๋‹ท๋„ท ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ Part1.
Web Socket
ย 
Node.js intro
Ad

Viewers also liked (20)

PDF
Servlet design pattern
PDF
์‹ค์šฉ์ฃผ์˜ ๋””์ž์ธํŒจํ„ด 2 ์ธํ„ฐํŽ˜์ด์Šค๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๊ธฐ
PPTX
Design patterns
PDF
๋™์˜์ƒ์ž…๋ฌธ
PDF
HolubOnPatterns/chapter2_2
PPTX
Builder, prototype, singleton pattern
PDF
ํ”„๋ ˆ์ž„์›Œํฌ์™€ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋™์‹œ์— ๊ตฌ์ถ•ํ•˜๊ธฐ
PPT
B Fn As
PDF
Heartbeat
PDF
IoC and DI Pattern
PPTX
๋ฏธ์•ผ์žํ‚คํ•˜์•ผ์˜ค
ย 
PDF
์™ธ๋ฉด๋‚ด๋ฉด
PPTX
์Šคํ”„๋ง ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…
PDF
์„œ์šธ์‚ฌ๋žŒ๋“ค ์ตœ์ข…
PPTX
Roma
ย 
PDF
082303 ์žฅ์ดํ˜„(sencha architecture)
PDF
Design patterns ์Šคํ„ฐ๋”” -strategyํŒจํ„ด
PPTX
213140037-๊น€์ง€์€_์ˆ˜์‹œ๊ณผ์ œ
PPTX
50 70 post vanguardias 2015
PDF
13185301๊ฐ•๋ฏธ์ •
Servlet design pattern
์‹ค์šฉ์ฃผ์˜ ๋””์ž์ธํŒจํ„ด 2 ์ธํ„ฐํŽ˜์ด์Šค๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๊ธฐ
Design patterns
๋™์˜์ƒ์ž…๋ฌธ
HolubOnPatterns/chapter2_2
Builder, prototype, singleton pattern
ํ”„๋ ˆ์ž„์›Œํฌ์™€ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋™์‹œ์— ๊ตฌ์ถ•ํ•˜๊ธฐ
B Fn As
Heartbeat
IoC and DI Pattern
๋ฏธ์•ผ์žํ‚คํ•˜์•ผ์˜ค
ย 
์™ธ๋ฉด๋‚ด๋ฉด
์Šคํ”„๋ง ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…
์„œ์šธ์‚ฌ๋žŒ๋“ค ์ตœ์ข…
Roma
ย 
082303 ์žฅ์ดํ˜„(sencha architecture)
Design patterns ์Šคํ„ฐ๋”” -strategyํŒจํ„ด
213140037-๊น€์ง€์€_์ˆ˜์‹œ๊ณผ์ œ
50 70 post vanguardias 2015
13185301๊ฐ•๋ฏธ์ •
Ad

Similar to Servlet Architecture (20)

PPTX
HeadFisrt Servlet&JSP Chapter 1
ย 
PPTX
Servlet&jsp 1แ„Œแ…กแ†ผ
PDF
JSP ํ”„๋กœ๊ทธ๋ž˜๋ฐ #03 ์„œ๋ธ”๋ฆฟ
PPTX
์›น(์ž๋ฐ”๊ธฐ์ค€)์˜ ์ „๋ฐ˜์ ์ธ ์ดํ•ด
PDF
แ„Œแ…กแ„‡แ…ก แ„‹แ…ฐแ†ธ แ„€แ…ขแ„‡แ…กแ†ฏ แ„‰แ…ตแ„Œแ…กแ†จแ„’แ…กแ„€แ…ต (2์ฃผ์ฐจ : ์ธํ„ฐ๋„ท๊ณผ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ดํ•ด)
ย 
PDF
HeadFisrt Servlet&JSP Chapter 4
ย 
PDF
WAS์˜ ๋™์ž‘๊ณผ WEB, Servlet, JSP_Wh apm
PDF
แ„Œแ…กแ„‡แ…ก แ„‹แ…ฐแ†ธ แ„€แ…ขแ„‡แ…กแ†ฏ แ„‰แ…ตแ„Œแ…กแ†จแ„’แ…กแ„€แ…ต (3์ฃผ์ฐจ : ์Šคํ”„๋ง ์›น ๊ฐœ๋ฐœ)
ย 
PDF
#22.์Šคํ”„๋งํ”„๋ ˆ์ž„์›Œํฌ & ๋งˆ์ด๋ฐ”ํ‹ฐ์Šค (Spring Framework, MyBatis)_์Šคํ”„๋งํ”„๋ ˆ์ž„์›Œํฌ ๊ฐ•์ขŒ, ์žฌ์ง์žํ™˜๊ธ‰๊ต์œก,์‹ค์—…์ž๊ตญ๋น„์ง€์›...
PDF
(์Šคํ”„๋งํ”„๋ ˆ์ž„์›Œํฌ ๊ฐ•์ขŒ)์Šคํ”„๋ง๋ถ€ํŠธ๊ฐœ์š” ๋ฐ HelloWorld ๋”ฐ๋ผํ•˜๊ธฐ
PPTX
๊ตฌ๊ธ€ ๊ธฐ์ˆ ์„ ์ด์šฉํ•œ ๋ชจ๋ฐ”์ผ ํด๋ผ์šฐ๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ
ย 
PPTX
[KAU UMC ์ปจํผ๋Ÿฐ์Šค] Java ๊ธฐ๋ฐ˜ Web์˜ ์—ญ์‚ฌ - ๊น€์ค€๊ธฐ
PDF
HTTP แ„‹แ…ชแ†ซแ„‡แ…งแ†จแ„€แ…กแ„‹แ…ตแ„ƒแ…ณ - ch5. web server
PDF
์Šคํ”„๋ง 3.0 & RESTful
PDF
HeadFisrt Servlet&JSP Chapter 5
ย 
PDF
์„œ๋ฒ„ํ•™๊ฐœ๋ก (๋ฐฑ์—”๋“œ ์„œ๋ฒ„ ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ)
PPSX
์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ๋ธ”๋กœ๊ทธ ๊ฐœ๋ฐœํ•˜๊ธฐ
PDF
Web server
PPTX
์Šคํ”„๋ง 3.0 RESTful & restTemplate
ย 
PDF
Spring Boot 1
HeadFisrt Servlet&JSP Chapter 1
ย 
Servlet&jsp 1แ„Œแ…กแ†ผ
JSP ํ”„๋กœ๊ทธ๋ž˜๋ฐ #03 ์„œ๋ธ”๋ฆฟ
์›น(์ž๋ฐ”๊ธฐ์ค€)์˜ ์ „๋ฐ˜์ ์ธ ์ดํ•ด
แ„Œแ…กแ„‡แ…ก แ„‹แ…ฐแ†ธ แ„€แ…ขแ„‡แ…กแ†ฏ แ„‰แ…ตแ„Œแ…กแ†จแ„’แ…กแ„€แ…ต (2์ฃผ์ฐจ : ์ธํ„ฐ๋„ท๊ณผ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ดํ•ด)
ย 
HeadFisrt Servlet&JSP Chapter 4
ย 
WAS์˜ ๋™์ž‘๊ณผ WEB, Servlet, JSP_Wh apm
แ„Œแ…กแ„‡แ…ก แ„‹แ…ฐแ†ธ แ„€แ…ขแ„‡แ…กแ†ฏ แ„‰แ…ตแ„Œแ…กแ†จแ„’แ…กแ„€แ…ต (3์ฃผ์ฐจ : ์Šคํ”„๋ง ์›น ๊ฐœ๋ฐœ)
ย 
#22.์Šคํ”„๋งํ”„๋ ˆ์ž„์›Œํฌ & ๋งˆ์ด๋ฐ”ํ‹ฐ์Šค (Spring Framework, MyBatis)_์Šคํ”„๋งํ”„๋ ˆ์ž„์›Œํฌ ๊ฐ•์ขŒ, ์žฌ์ง์žํ™˜๊ธ‰๊ต์œก,์‹ค์—…์ž๊ตญ๋น„์ง€์›...
(์Šคํ”„๋งํ”„๋ ˆ์ž„์›Œํฌ ๊ฐ•์ขŒ)์Šคํ”„๋ง๋ถ€ํŠธ๊ฐœ์š” ๋ฐ HelloWorld ๋”ฐ๋ผํ•˜๊ธฐ
๊ตฌ๊ธ€ ๊ธฐ์ˆ ์„ ์ด์šฉํ•œ ๋ชจ๋ฐ”์ผ ํด๋ผ์šฐ๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ
ย 
[KAU UMC ์ปจํผ๋Ÿฐ์Šค] Java ๊ธฐ๋ฐ˜ Web์˜ ์—ญ์‚ฌ - ๊น€์ค€๊ธฐ
HTTP แ„‹แ…ชแ†ซแ„‡แ…งแ†จแ„€แ…กแ„‹แ…ตแ„ƒแ…ณ - ch5. web server
์Šคํ”„๋ง 3.0 & RESTful
HeadFisrt Servlet&JSP Chapter 5
ย 
์„œ๋ฒ„ํ•™๊ฐœ๋ก (๋ฐฑ์—”๋“œ ์„œ๋ฒ„ ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ)
์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ๋ธ”๋กœ๊ทธ ๊ฐœ๋ฐœํ•˜๊ธฐ
Web server
์Šคํ”„๋ง 3.0 RESTful & restTemplate
ย 
Spring Boot 1

Servlet Architecture

  • 2. Container A. Servlet : ์ž๋ฐ” ์ฝ”๋“œ B. Container : ์ž๋ฐ” ์ฝ”๋“œ C. ์„œ๋ธ”๋ฆฟ๊ณผ ์ปจํ…Œ์ด๋„ˆ๋Š” *์ž๋ฐ” ์ฝ”๋“œ*์ด๋‹ค.
  • 3. Architecture ์›น ์„œ๋ฒ„๋กœ ์š”์ฒญ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์š”์ฒญ์„ ๋ฐ›์•„์„œ ์„œ๋ธ”๋ฆฟ์œผ๋กœ ๋„˜๊ฒจ์คŒ ์„œ๋ธ”๋ฆฟ์˜ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ํด๋ผ์ด์–ดํŠธ์—๊ฒŒ ์‘๋‹ต
  • 4. Request โ€ข ์›น์„œ๋ฒ„๋กœ ๋“ค์–ด์˜ค๋Š” ์š”์ฒญ์€ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋ฐ›์•„์„œ ์ฒ˜๋ฆฌ ํ•œ๋‹ค. โ€ข Why?
  • 5. Container โ€ข ํ†ต์‹  ์ถ”์ƒํ™” : ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ํฌํŠธ๋ฅผ ์—ฐ๊ฒฐํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค. ์›น์„œ๋ฒ„์™€ ์†Œํ†ต์€ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ˆ˜ํ–‰ํ•œ๋‹ค. โ€ข ์ƒ๋ช…์ฃผ๊ธฐ ๊ด€๋ฆฌ : ์„œ๋ธ”๋ฆฟ์˜ ํƒ„์ƒ๊ณผ ์ฃฝ์Œ์„ ๊ด€๋ฆฌํ•œ๋‹ค. โ€ข ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ ์ง€์› : ์š”์ฒญ๋งˆ๋‹ค Thread ์ง€์› โ€ข ๋ณด์•ˆ ๊ด€๋ฆฌ : ์†Œ์Šค๋ฅผ ์ˆ˜์ •ํ•˜์ง€ ์•Š์•„๋„ ๋ณด์•ˆ ์ด์Šˆ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ โ€ข JSP ์ง€์›
  • 6. Architecture ์›น ์„œ๋ฒ„๋กœ ์š”์ฒญ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์š”์ฒญ์„ ๋ฐ›์•„์„œ ์„œ๋ธ”๋ฆฟ์œผ๋กœ ๋„˜๊ฒจ์คŒ ์„œ๋ธ”๋ฆฟ์˜ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ํด๋ผ์ด์–ดํŠธ์—๊ฒŒ ์‘๋‹ต
  • 7. Container A. ์‚ฌ์šฉ์ž๊ฐ€ ์„œ๋ธ”๋ฆฟ์— ๋Œ€ํ•œ ๋งํฌ๋ฅผ ํด๋ฆญํ•œ๋‹ค. B. ๋“ค์–ด์˜จ ์š”์ฒญ์ด ์„œ๋ธ”๋ฆฟ์ด๋ผ๋Š” ๊ฑธ ์ฒดํฌ, ๋‘ ๊ฐ์ฒด ์ƒ์„ฑ A. HttpServletResponse B. HttpServletRequest C. ์‚ฌ์šฉ์ž๊ฐ€ ๋‚ ๋ฆฐ URL์„ ๋ถ„์„ํ•˜์—ฌ ์„œ๋ธ”๋ฆฟ ํ˜ธ์ถœ. ์ธ์ž๋กœ Response, Request๋ฅผ ๋˜์ง D. ์„œ๋ธ”๋ฆฟ service()๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค.
  • 8. Architecture ์›น ์„œ๋ฒ„๋กœ ์š”์ฒญ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์š”์ฒญ์„ ๋ฐ›์•„์„œ ์„œ๋ธ”๋ฆฟ์œผ๋กœ ๋„˜๊ฒจ์คŒ ์„œ๋ธ”๋ฆฟ์˜ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ํด๋ผ์ด์–ดํŠธ์—๊ฒŒ ์‘๋‹ต
  • 9. Service โ€ข HttpServlet์„ ์ƒ์†๋ฐ›์œผ๋ฉด service ๋ฉ”์†Œ๋“œ๋ฅผ ์ƒ์†๋ฐ›๊ฒŒ ๋œ๋‹ค. ์ƒ์† ํŠธ๋ฆฌ ์•ˆ์— Service ๋ฉ”์†Œ๋“œ๊ฐ€ ์กด์žฌํ•œ๋‹ค.
  • 10. How to find URL ๊ทธ๋ ‡๋‹ค๋ฉด ์š”์ฒญ์„ ๋ฐ›์œผ๋ฉด ์–ด๋–ป๊ฒŒ ์„œ๋ธ”๋ฆฟ์€ URL์„ ์ฐพ์•„๋‚ด๋Š”๊ฐ€? ๋ฐฐํฌ ์„œ์ˆ ์ž(Deployment Descriptor, DD) ์ฐธ์กฐ
  • 11. Deployment Descriptor, DD โ€ข DD๋Š” ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์–ด๋–ค ์ฃผ์†Œ๋กœ ์š”์ฒญ์„ ๋ฐ›์•˜์„ ๋•Œ, ์–ด ๋–ค ์„œ๋ธ”๋ฆฟ์„ ํ˜ธ์ถœํ•ด์•ผ ํ•˜๋Š”์ง€ ์•Œ๋ ค์ฃผ๋Š” ์„ค์ • ํŒŒ์ผ์ž„. โ€ข ์ฆ‰, URL๊ณผ ์‹ค์ œ ์„œ๋ธ”๋ฆฟ์„ ๋งคํ•‘ํ•ด์คŒ
  • 12. DD <servlet> <servlet-name>Ch3Beer</servlet-name> <servlet-class>com.example.web.BeerSelect</servlet-class> </servlet> <servlet-mapping> <servlet-name>Ch3Beer</servlet-name> <url-pattern>/SelectBeer.do</url-pattern> </servlet-mapping> <servlet> : ๋‚ด๋ถ€์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ด๋ฆ„, ์™„์ „ํ•œ ํด๋ž˜์Šค๋ช…๊ณผ ๋งคํ•‘ <servlet-mapping> : ๋‚ด๋ถ€์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ด๋ฆ„๊ณผ URL ๋งคํ•‘ ์ฆ‰, DD์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ด๋ฆ„์€ ์ด ์„ธ ๊ฐ€์ง€์ž„ A. DD์•ˆ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ด๋ฆ„ : <servlet-name> B. URL๊ณผ ํ˜ธ์ถœํ•  ์„œ๋ธ”๋ฆฟ์„ ๋งคํ•‘ : <servlet-class> C. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์„œ๋ธ”๋ฆฟ ์ด๋ฆ„ : <url-pattern>
  • 13. Architecture ์›น ์„œ๋ฒ„๋กœ ์š”์ฒญ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์š”์ฒญ์„ ๋ฐ›์•„์„œ ์„œ๋ธ”๋ฆฟ์œผ๋กœ ๋„˜๊ฒจ์คŒ ์„œ๋ธ”๋ฆฟ์˜ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ํด๋ผ์ด์–ดํŠธ์—๊ฒŒ ์‘๋‹ต
  • 14. MVC โ€ข Model : ์ •๋ณด๋ฅผ ์ฝ์–ด์˜ค๊ณ , ์ˆ˜์ •ํ•˜๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง (java) โ€ข View : ํ”„๋ฆฌ์  ํ…Œ์ด์…˜์— ๋Œ€ํ•ด ์ฑ…์ž„์„ ์ง(jsp) โ€ข Controller : ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ์ •๋ณด๋ฅผ ์ถ”์ถœ, ๋ชจ๋ธ์—์„œ ์–ด๋–ค ์ž‘์—…์„ ํ•ด์•ผ ํ•˜๋Š”์ง€ ํŒ๋‹จ(servlet)
  • 15. MVC โ€ข UI ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๋ชจ๋ธ โ€ข Model : ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ธฐ๋Šฅ์„ ์ œ๊ณต, ์ƒํƒœ๋ฅผ ์œ ์ง€ โ€ข View : ๋ชจ๋ธ์˜ ์ฒ˜๋ฆฌ ๊ฒฐ๊ณผ์™€ ์ •๋ณด๋ฅผ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ ์คŒ โ€ข Controller : ์‚ฌ์šฉ์ž์˜ ๋ช…๋ น์„ ์ ‘์ˆ˜ํ•˜์—ฌ ๋ชจ๋ธ์— ์„œ๋น„์Šค ์‹คํ–‰์„ ์ค‘๊ณ„, ๊ฒฐ๊ณผ๋ฅผ ๋ทฐ๋กœ ๋ณด์—ฌ์คŒ. โ€ข ์ฆ‰, ์„ธ ๊ฐ€์ง€ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์„œ๋กœ ์˜์กด์ ์ด์ง€ ์•Š๊ฒŒ ๋ถ„๋ฆฌํ•˜ ๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•จ.