ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

KH

230413 (Servlet)

ๅๆœˆ 2023. 4. 13. 10:05

๐Ÿ’ซServlet

→ JDBC์ฒ˜๋Ÿผ ์ •ํ•ด์ง„ ์ˆ˜์ˆœ์ด ์žˆ์–ด ๊ทธ๊ฒƒ์„ ๊ณต๋ถ€ํ•˜๋ฉด ๋˜๊ฒ ๋‹ค

Server-client Model


Webํ†ต์‹  ๊ตฌ์กฐ

Web Server :  ์ •์  ์„œ๋ฒ„ (์ •์ ์ธ ์š”์†Œ๋ฅผ ๋ชจ๋“  ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ฐ™์€ ํ™”๋ฉด)

WAS : Database์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋ฒ„ (๋™์ ์ธ ํŽ˜์ด์ง€๋ฅผ ์‚ฌ์šฉ์ž์—๊ฒŒ)

 

// Web Server๋กœ๋Š” Apache, WAS๋กœ๋Š” tomcat ์‚ฌ์šฉํ•  ๊ฒƒ์ž„


 

 Web Server VS WAS


์„œ๋ธ”๋ฆฟ(Servlet)

Server + Applet์˜ ํ•ฉ์„ฑ์–ด

๏ผJAVA ์–ธ์–ด๋ฅผ ํ† ๋Œ€๋กœ ์‚ฌ์šฉ์ž ์š”์ฒญ์„ ๋ฐ›์•„ ์ฒ˜๋ฆฌํ•œ ํ›„ ๊ฒฐ๊ณผ๋ฅผ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ „์†กํ•˜๋Š” Class ํŒŒ์ผ

๏ผ์ฆ‰, ์›น์—์„œ ๋™์ ์ธ ํŽ˜์ด์ง€๋ฅผ java๋กœ ๊ตฌํ˜„ํ•œ ์„œ๋ฒ„ ์ธก ํ”„๋กœ๊ทธ๋žจ

https://tomcat.apache.org/tomcat-8.5-doc/servletapi/


์„œ๋ธ”๋ฆฟ ์„ค๊ณ„ ๊ทœ์•ฝ

3๋ฒˆ์ด ์ค‘์š”ํ•œ ๋‚ด์šฉ

๏ผโ˜… HttpServlet ํด๋ž˜์Šค๋ฅผ ์ƒ์† ๋ฐ›์•„์•ผ ํ•ด๋‹น ์—ญํ• ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค

โ‰ซ ์ด๋ฆ„๋งŒ Servlet์ด๋ผ๊ณ  ๋‹ค ์„œ๋ธ”๋ฆฟ์ด ์•„๋‹ˆ๋ผ๋Š” ๋ง


์„œ๋ธ”๋ฆฟ ๋™์ž‘ ๊ตฌ์กฐ

๊ฒฐ๊ตญ, ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ๋Š” ์„œ๋ธ”๋ฆฟ์„ ๋ฌถ์Œ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ


์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ์™€ JSP ์ปจํ…Œ์ด๋„ˆ

โ‰ซ ์ƒ๋ช… ์ฃผ๊ธฐ ๊ด€๋ฆฌ : ๊ฐ์ฒด ์ƒ์„ฑ ์†Œ๋ฉธ ์‹คํ–‰ ๋“ฑ ์—ฌ๋Ÿฌ ์ผ์„ ์ˆ˜ํ–‰

์ •์  ๋กœ๋”ฉ ์ฒ˜๋ฆฌ / ๋™์  ๋กœ๋”ฉ ์ฒ˜๋ฆฌ๋Š” JSP๊นŒ์ง€ ๋ฐฐ์›Œ์•ผ ํ•จ.


์„œ๋ธ”๋ฆฟ ๋ผ์ดํ”„ ์‚ฌ์ดํด

โ‰ซ init()์€ ์ฒซ ๋ฒˆ์งธ ์š”์ฒญ์ผ ๋•Œ, ๊ฐ์ฒด ์ƒ์„ฑ ์‹œ ์ž๋™์œผ๋กœ ์‹คํ–‰

โ‰ซ ์–ด๋–ค ์š”์ฒญ์ด ๋“ค์–ด๊ฐ”๋ƒ์— ๋”ฐ๋ผ doGet(), doPost() ํ˜ธ์ถœ

๏ผ destroy() : ๋งŒ๋“  ๊ฐ์ฒด ์†Œ๋ฉธ

์•ˆ์˜ ๋™์ž‘๊นŒ์ง€ ์‹ ๊ฒฝ ์“ธ ํ•„์š” ์—†์Œ → ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ฒ˜๋ฆฌ


์„œ๋ธ”๋ฆฟ ๊ตฌ๋™


์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ ์ „์†ก ๋ฐฉ์‹

๏ผget๊ณผ post๋Š” ๊ฑฐ์˜ ๋ฐ˜๋Œ€ ๊ฐœ๋…


 ์„œ๋ธ”๋ฆฟ ๋ฉ”์†Œ๋“œ

โ‰ซ ๊ฐ์ž ๋งž๋Š” ๋ฐฉ์‹์œผ๋กœ ์š”์ฒญ, ํ˜ธ์ถœํ•ด์•ผ ํ•จ

โ‰ซ ๊ฐ๊ฐ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์žˆ์Œ


๋ฐฐํฌ ์„œ์ˆ ์ž

:: ๊ตฌํ˜„ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•œ ์ „๋ฐ˜์ ์ธ ์„ค์ • ์ •๋ณด๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” ํŒŒ์ผ

 web.xml ํŒŒ์ผ (ํƒœ๊ทธ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Œ)


์„œ๋ธ”๋ฆฟ ๋งคํ•‘

:: ์„œ๋ฒ„๋กœ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒƒ (web.xml์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Œ)

๏ผ์•ž์œผ๋กœ๋Š” ์„ค์ • ํŒŒ์ผ์„ ๋ช…ํ™•ํžˆ ๋ถ„๋ฆฌํ•ด์•ผ ํ•จ (์™ธ์›Œ๋‘๊ธฐ)

โ‰ซ ์„œ๋ธ”๋ง ๋งคํ•‘์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” → web.xml

 

@annotation

:: ํด๋ž˜์Šค๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ ์–˜๋„ ๊ธฐ๋Šฅ์„ ํ•œ๋‹ค.

 

๏ผ‹) โ˜…

์„œ๋ธ”๋ฆฟ ๋งคํ•‘์€ ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์„œ๋ธ”๋ฆฟ์„ ์—ฐ๊ฒฐํ•˜๋Š” ๊ณผ์ •

์‰ฝ๊ฒŒ ๋งํ•ด, ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์–ด๋–ค ์š”์ฒญ์„ ๋ณด๋ƒˆ์„ ๋•Œ ๊ทธ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ์„œ๋ธ”๋ฆฟ์ด ์‹คํ–‰๋ ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ

์„œ๋ธ”๋ฆฟ ๋งคํ•‘์€ web.xml ํŒŒ์ผ์ด๋‚˜ ์• ๋…ธํ…Œ์ด์…˜์„ ์ด์šฉํ•ด ์„ค์ • ๊ฐ€๋Šฅ

web.xml ํŒŒ์ผ์—์„œ๋Š” URL ํŒจํ„ด๊ณผ ํ•ด๋‹น ์„œ๋ธ”๋ฆฟ ํด๋ž˜์Šค๋ฅผ ๋งคํ•‘์‹œ์ผœ์ฃผ๋Š” ์„ค์ •์„ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ,

์• ๋…ธํ…Œ์ด์…˜์—์„œ๋Š” ์„œ๋ธ”๋ฆฟ ํด๋ž˜์Šค์— ์ง์ ‘ URL ํŒจํ„ด์„ ์ง€์ •ํ•ด์ค„ ์ˆ˜ ์žˆ์Œ

์˜ˆ๋ฅผ ๋“ค์–ด, ํด๋ผ์ด์–ธํŠธ๊ฐ€ "/hello" URL๋กœ ์š”์ฒญ์„ ๋ณด๋ƒˆ๋‹ค๋ฉด, 

์„œ๋ธ”๋ฆฟ ๋งคํ•‘ ์„ค์ •์— ๋”ฐ๋ผ "/hello" URL ํŒจํ„ด๊ณผ ๋งค์นญ๋˜๋Š” ์„œ๋ธ”๋ฆฟ์ด ์‹คํ–‰๋˜๋Š”๋ฐ

์ด๋ฅผ ํ†ตํ•ด ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์— ๋”ฐ๋ผ ์ ์ ˆํ•œ ์„œ๋ธ”๋ฆฟ์ด ์‹คํ–‰๋˜๋„๋ก ์„œ๋ธ”๋ฆฟ ๋งคํ•‘์„ ์„ค์ •์ด ๊ฐ€๋Šฅํ•˜๋‹ค


์„œ๋ธ”๋ฆฟ ๋งคํ•‘

web.xml์€ <servlet>๊ณผ <servlet-mapping> ํƒœ๊ทธ๊ฐ€ ํ•จ๊ป˜ ์žˆ๊ณ 

์ „๋ฐ˜์ ์ธ ์„ค์ • ์ •๋ณด๋ฅผ ๊ฐ–๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ฝ”๋“œ์˜ ๊ธธ์ด๊ฐ€ ๊ธธ๋‹ค.

โ‰ซ @annotation์„ ์‚ฌ์šฉํ•˜๋ฉด ์ฝ”๋“œ ๊ธธ์ด๊ฐ€ ์งง์•„์ง


์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ ‘๊ทผ

:: Context Path = root Context

 

ex)

๋„ค์ด๋ฒ„๋ฅผ ํ‚ค๋ฉด ์ฒ˜์Œ ์‹คํ–‰๋˜๋Š” ๋ฉ”์ธ ํŽ˜์ด์ง€ (์‹œ์ž‘์ )

๋งŒ๋“ค์–ด ๋†“์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ์ •๋ณด๋ฅผ ์ผ์ปซ์Œ (๊ฐ€์žฅ ์ตœ์ƒ์œ„ root ํŽ˜์ด์ง€)

 


์„œ๋ธ”๋ฆฟ ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฐ์ฒด

1, 3, 5, 6, 7, 8, 9 ์‚ฌ์šฉ

โ‰ซ ์š”์ฒญ์— ๊ด€๋ จ๋œ ๊ฒƒ


1, 2, 6 ์‚ฌ์šฉ

โ‰ซ ์‘๋‹ต์— ๊ด€๋ จ๋œ ๊ฒƒ


 

'KH' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

230414 (JSP & EL_JSTL)  (0) 2023.04.14
230413 (Servlet_2)  (0) 2023.04.13
230410 (jQuery)  (0) 2023.04.10
230405 (JavaScript_4)  (0) 2023.04.05
230405 (JavaScript_3)  (0) 2023.04.05
๋Œ“๊ธ€
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
ยซ   2025/05   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
๊ธ€ ๋ณด๊ด€ํ•จ