1. Servlet ์ด๋ ?
์๋ธ๋ฆฟ์ด๋ ๋์ ์น ํ์ด์ง๋ฅผ ๋ง๋ค ๋ ์ฌ์ฉ๋๋ ์๋ฐ ๊ธฐ๋ฐ์ ์น ์ดํ๋ฆฌ์ผ์ด์ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ ์ด๋ค. ์น์ ๋ง๋ค ๋ Request, Response์๋ ๊ท์น์ด ์กด์ฌํ๋๋ฐ ์ด๋ฌํ ์น ์์ฒญ๊ณผ ์๋ต์ ํ๋ฆ์ ๊ฐ๋จํ ๋ฉ์๋ ํธ์ถ๋ง์ผ๋ก ์ฒด๊ณ์ ์ผ๋ก ๋ค๋ฃฐ ์ ์๊ฒ ํ๋ ๊ธฐ์ ์ด๋ค.
Servlet์ ์ฃผ์ ํน์ง
- ํด๋ผ์ด์ธํธ์ Request์ ๋ํ ๋์ ์ผ๋ก ๋์ํ๋ ์น ์ดํ๋ฆฌ์ผ์ด์ ์ปดํฌ๋ํธ
- HTML์ ์ฌ์ฉํด Response
- Java์ ์ค๋ ๋๋ฅผ ์ด์ฉ
- MVC ํจํด์์ ์ปจํธ๋กค๋ฌ๋ก ์ด์ฉ
- java.servlet.http.HttpServlet ํด๋์ค๋ฅผ ์์
- UDP ๋ณด๋ค ์๋๊ฐ ๋๋ฆฌ๋ค
- HTML ๋ณ๊ฒฝ ์ Servlet์ ์ฌ ์ปดํ์ผ ํด์ผํจ
์๋ธ๋ฆฟ ์ปจํ ์ด๋๋?
์๋ธ๋ฆฟ ์ปจํ ์ด๋๋ ์๋ธ๋ฆฟ์ ๋ด๊ณ ๊ด๋ฆฌํด์ฃผ๋ ์ปจํ ์ด๋์ด๋ค. ํด๋ผ์ด์ธํธ๊ฐ ์์ฒญ์ ํ๋ฉด ์ปจํ ์ด๋๋ HttpServletRequest, HttpServletResponse ๋ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ฉฐ post, get ์ฌ๋ณด์ ๋ฐ๋ผ ๋์ ์ธ ํ์ด์ง๋ฅผ ์์ฑํ์ฌ ์๋ต์ ๋ณด๋ธ๋ค.
HttpServletRequest
httpํ๋กํ ์ฝ์ request์ ๋ณด๋ฅผ ์๋ธ๋ฆฟ์๊ฒ ์ ๋ฌํ๊ธฐ ์ํ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉํ๋ฉฐ ํค๋ ์ ๋ณด, ํ๋ผ๋ฏธํฐ, ์ฟ ํค, URI, URL ๋ฑ์ ์ ๋ณด๋ฅผ ์ฝ์ด ๋ค์ด๋ ๋ฉ์๋์ Body์ Stream์ ์ฝ์ด ๋ค์ด๋ ๋ฉ์๋๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
HttpServletResponse
WAS๋ ์ด๋ค ํด๋ผ์ด์ธํธ๊ฐ ์์ฒญ์ ๋ณด๋๋์ง ์๊ณ ์๊ณ , ํด๋น ํด๋ผ์ด์ธํธ์๊ฒ ์๋ต์ ๋ณด๋ด๊ธฐ ์ํ HttpServleResponse ๊ฐ์ฒด๋ฅผ ์์ฑํ์ฌ ์๋ธ๋ฆฟ์๊ฒ ์ ๋ฌํ๊ณ ์ด ๊ฐ์ฒด๋ฅผ ํ์ฉํ์ฌ content type, ์๋ต ์ฝ๋, ์๋ต ๋ฉ์์ง ๋ฑ์ ์ ์กํ๋ค.
์ปจํ ์ด๋์ ์ฃผ์ ๊ธฐ๋ฅ
1. ์๋ช ์ฃผ๊ธฐ ๊ด๋ฆฌ
์๋ธ๋ฆฟ์ ์๋ช ์ฃผ๊ธฐ๋ฅผ ๊ด๋ฆฌํ๋ค. ์๋ธ๋ฆฟ ์ปจํ ์ด๋๊ฐ ๊ฐ๋๋๋ ์๊ฐ ์๋ธ๋ฆฟ ํด๋์ค๋ฅผ ๋ก๋ฉํด์ ์ธ์คํด์คํ ํ๊ณ , ์ด๊ธฐํ ๋ฉ์๋๋ฅผ ํธ์ถ, ์์ฒญ์ด ๋ค์ด์ค๋ฉด ์ ์ ํ ์๋ธ๋ฆฟ ๋ฉ์๋๋ฅผ ์ฐพ์์ ๋์ํ๋ค. ์๋ธ๋ฆฟ ์๋ช ์ด ๋คํ๋ฉด ๊ฐ๋น๋ฆฌ ์ปฌ๋ ์ ์ ํตํด ๋ฉ๋ชจ๋ฆฌ์์ ์ ๊ฑฐํ๋ค.
2. ํต์ ์ง์
ํด๋ผ์ด์ธํธ์ Request๋ฅผ ๋ฐ์์ฃผ๊ณ Response๋ฅผ ๋ณด๋ผ ์ ์๊ฒ ์น ์๋ฒ์ ์์ผ์ ๋ง๋ค์ด ํต์ ์ ํด์ค๋ค. ์์ผ์ ๋ง๋ค๊ณ listen, accept ๋ฑ์ ๊ธฐ๋ฅ์ API๋ก ์ ๊ณตํ์ฌ ๋ณต์กํ ๊ณผ์ ์ ์๋ตํ ์ ์๊ฒ ํด์ฃผ๊ณ ๊ฐ๋ฐ์๋ ๋น์ฆ๋์ค ๋ก์ง์ ๋์ฑ ์ง์คํ ์ ์๋ค.
3. ๋ฉํฐ์ค๋ ๋ฉ ๊ด๋ฆฌ
4. ์ ์ธ์ ์ธ ๋ณด์๊ด๋ฆฌ
์๋ธ๋ฆฟ ๋์๊ณผ์
1. Servlet Request, Servlet Response ๊ฐ์ฒด๋ฅผ ์์ฑ
2. ์ค์ ํ์ผ์ ์ฐธ๊ณ ํ์ฌ ๋งคํํ Servlet์ ํ์ธ
3. ํด๋น ์๋ธ๋ฆฟ ์ธ์คํด์ค์ ์กด์ฌ ์ ๋ฌด๋ฅผ ํ์ธํ๊ณ ์์ผ๋ฉด init() ๋ฉ์๋๋ฅผ ํธ์ถํ์ฌ ์์ฑ
4. Servlet Container์ ์ค๋ ๋๋ฅผ ์์ฑํ๊ณ Service๋ฅผ ์คํ
5. ์๋ต์ ์ฒ๋ฆฌํ์์ผ๋ฉด destroy() ๋ฉ์๋ ์คํํ์ฌ Servlet Request, Servlet Response ๊ฐ์ฒด ์๋ฉธ
'๐ CS [ComputerScience] > ๐ CS ๋ฉด์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๐ [CS๋ฉด์ ] ์น ๋ฉด์ ์ง๋ฌธ [11] [์๋ฐ ์ปฌ๋ ์ / Collection Framework] (0) | 2024.03.02 |
---|---|
๐ [CS๋ฉด์ ] ์น ๋ฉด์ ์ง๋ฌธ [10] [์๋ฃ๊ตฌ์กฐ] (0) | 2024.03.01 |
๐ [CS๋ฉด์ ] ์น ๋ฉด์ ์ง๋ฌธ [8] [OSI 7 Layer] (0) | 2024.02.28 |
๐ [CS๋ฉด์ ] ์น ๋ฉด์ ์ง๋ฌธ [7] [@Transactional / AOP] (0) | 2024.02.27 |
๐ [CS๋ฉด์ ] ์น ๋ฉด์ ์ง๋ฌธ [6] [Data Base] (0) | 2024.02.04 |