Servlet
์๋ธ๋ฆฟ์ JSPํ์ค์ด ๋์ค๊ธฐ ์ ๋ง๋ค์ด์ง ํ์ค์ผ๋ก, ์๋ฐ๋ก ์น ์ดํ๋ฆฌ์ผ์ด์ ๋ฅผ ๊ฐ๋ฐํ ์ ์๋๋ก ํ๊ธฐ ์ํด ๋ง๋ค์ด์ก๋ค.
์๋ธ๋ฆฟ์ ์ด์ฉํ๋ฉด ์๋ฐ ํด๋์ค๋ฅผ ์ด์ฉํด ์น ์ดํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๊ฒ ๋๋ค.
<์๋ธ๋ฆฟ ๊ฐ๋ฐ๊ณผ์ >
1. ์๋ธ๋ฆฟ ๊ท์ฝ์ ๋ฐ๋ผ ์๋ฐ ์ฝ๋ ์์ฑ
2. ์๋ฐ ์ฝ๋ ์ปดํ์ผํด ํด๋์ค ํ์ผ ์์ฑ
3. /WEB-INF/classesํด๋์ ํด๋์ค ํ์ผ์ ํจํค์ง์ ์๋ง๊ฒ ์์น์ํจ๋ค.
4. web.xmlํ์ผ์ ์๋ธ๋ฆฟ ํด๋์ค ์ค์
5. ์น ๋ธ๋ผ์ฐ์ ์์ ํ์ธ
์๋ธ๋ฆฟ ๊ฐ๋ฐ๊ณผ์ ์ JSP์ ๋น๊ตํ๋ฉด ๋ช๊ฐ์ง ๊ณผ์ ์ด ์ถ๊ฐ๋์ด ๋ ๋ณต์กํจ, ํ์ง๋ง MVCํจํด์ ์ง์ํ๋ ํ๋ ์์ํฌ๋ฅผ ๋ง๋ค์ด์ผ ํ๋ ๊ฒฝ์ฐ ์๋ธ๋ฆฟ์ผ๋ก ๊ธฐ๋ฐ ์ฝ๋๋ฅผ ๊ฐ๋ฐํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์, ์น ๊ฐ๋ฐ์ ์๋ธ๋ฆฟ ์์ฒด์ ๋ํด ์ดํดํ๋ ๊ฒ์ด ์ข์.
<์๋ธ๋ฆฟ ๊ตฌ์กฐ>
1. ์๋ธ๋ฆฟ ๊ตฌํ
- ์๋ธ๋ฆฟ์ ๊ตฌํํ๊ธฐ ์ํด์ HttpServletํด๋์ค๋ฅผ ์์๋ฐ์ ํด๋์ค๋ฅผ ์์ฑํด์ผ ํ๋ค.
- HttpServletํด๋์ค๋ฅผ ์์๋ฐ์์ผ ์๋ธ๋ฆฟ์ผ๋ก ๋์ํจ.
- Http์์ ๋ฐ์๋ค๋ฉด HTTP๋ฐฉ์ (method)์ ๋ฐ๋ผ ์๋ง์ ๋ฉ์๋ ์ฌ์ ์ํด ๊ตฌํํด์ผํจ.
โถ HTTP ๊ฐ ๋ฐฉ์๋ณ ๊ตฌํ ๋ฉ์๋(Get๋ฐฉ์, Post๋ฐฉ์)
- GET ๋ฐฉ์ - doGet() : GET๋ฐฉ์์ ๋ํ ์ฒ๋ฆฌ, ex) ํผ ์ถ๋ ฅํ๊ธฐ
- POST๋ฐฉ์ - doPost() : POST๋ฐฉ์์ ๋ํ ์ฒ๋ฆฌ ex) ํผ ๋ฐ์ดํฐ ์ฒ๋ฆฌํ๊ธฐ
2. ์๋ธ๋ฆฟ
โถ web.xml์ Mappingํด ์ฌ์ฉํ ์๋ธ๋ฆฟ
<Servlet์ผ๋ก ์ฌ์ฉํ ํด๋์ค ๋ฑ๋ก - Servlet ์ ์>
· <servlet-name> : ํด๋น ์๋ธ๋ฆฌ ์ฐธ์กฐํ ๋ ์ฌ์ฉํ ์ด๋ฆ ์ ๋ ฅ
· <servlet-class> : ์๋ธ๋ฆฟ์ผ๋ก ์ฌ์ฉํ ํด๋์ค์ ์์ ํ ์ด๋ฆ์ ๋ ฅ
<์๋ธ๋ฆฟ์ด ์ด๋ค URL์ ์ฒ๋ฆฌํ ์ง์ ๋ํ ๋งคํ์ ๋ณด ๋ฑ๋ก - servlet๋งคํ>
· <servlet-name> : ๋งคํํ ์๋ธ๋ฆฟ ์ด๋ฆ
· <url-pattern> : ๋งคํํ URL์ ํจํด ์ง์
โถ @WebServlet ์ ๋ ธํ ์ด์ ์ผ๋ก ๋งคํํด ์ฌ์ฉํ ์๋ธ๋ฆฟ
- ์๋ธ๋ฆฟ 3.0๋ฒ์ ๋ถํฐ @WebServlet์ง์
- web.xmlํ์ผ์ ๋ฑ๋กํด์ผ ์๋ธ๋ฆฟ ํด๋์ค๋ฅผ ์ฌ์ฉํ ์ ์์๋๋ฐ, @WebServlet์ ๋ ธํ ์ด์ ์ ์ฌ์ฉํ๋ฉด web.xmlํ์ผ์ ๋ฐ๋ก ๋ฑ๋กํ์ง ์์๋ ์๋ธ๋ฆฟ์ผ๋ก ์ฌ์ฉ๊ฐ๋ฅ.
- ์๋ธ๋ฆฟ 3.0์ ์ง์ํ๋ ์น ์ปจํ ์ด๋๋ @WebServlet์ด ์ ์ฉ๋ ํด๋์ค ๊ฒ์ํด์ ์๋ธ๋ฆฟ์ผ๋ก ์๋์ผ๋ก ๋ฑ๋กํจ.
โถ @WebServlet์ ๋ ธํ ์ด์ ๊ณผ web.xml
@WebServlet์ ๋ ธํ ์ด์ ์ฌ์ฉํ ๊ฒฝ์ฐ ์๋ธ๋ฆฟ์ด ์ฒ๋ฆฌํด์ผ ํ URLํจํด ๋ณ๊ฒฝ๋ ๋๋ง๋ค, ์๋ฐ์์ค์ฝ๋์ urlPatterns์์ฑ๊ฐ ๋ณ๊ฒฝ ํ ๋ค์ ์ปดํ์ผ ํด์ผํจ.
web.xml์ฌ์ฉํ ๊ฒฝ์ฐ URL๊ฒฝ๋ก๊ฐ ๋ฐ๋๊ฒฝ์ฐ web.xmlํ์ผ๋ง ๋ณ๊ฒฝํ๋ฉด๋๋ค.
๋ฐ๋ผ์ ์๋ธ๋ฆฟ ์ฉ๋์ ๋ฐ๋ผ ๋๊ฐ์ง ๋ฐฉ๋ฒ์ค ํ๊ฐ์ง๋ฅผ ์๋ง๊ฒ ๊ณจ๋ผ์ ์ฌ์ฉํด์ผํจ.
'FOR SW ENGINEER๐ฉโ๐ป > JSP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
JSP - ํํฐ(Filter) (0) | 2021.12.15 |
---|---|
JSP - MVC(model- view - controller) (0) | 2021.12.14 |
JSP - ๋ถํธ์คํธ๋ฉ(BootStrap) ์ฌ์ฉ (0) | 2021.12.09 |
JSP - ์ปค์คํ ํ๊ทธ(Custom Tag) (1) | 2021.12.01 |
JSP - JSTL (ํ์ค ํ๊ทธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ) (0) | 2021.11.29 |