๐ ์๋ฐ ์น์ ๋ค๋ฃจ๋ ๊ธฐ์ ์ ์ ๋ฆฌํ ๋ด์ฉ์ ๋๋ค.
Servlet์ด๋?
์ด์ ์ ์ ์ ์ธ ์น์ ๋๋จธ์ ๋์ ์น ํ๋ก๊ทธ๋๋ฐ์ ์ํ ์๋ฐ ํด๋์ค๋ค.
ํด๋ผ์ด์ธํธ ์์ฒญ์ ๋ฐ๋ผ ์๋ฒ์์ ๋์ ์ผ๋ก ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ํด๋์ค
์๋ธ๋ฆฟ์ ์ผ๋ฐ์ ์ธ ์๋ฐ์ ๋ฌ๋ฆฌ ํฐ์บฃ๊ณผ ๊ฐ์ JSP/Servlet ์ปจํ ์ด๋์์ ์คํ๋๋ค.
์๋ธ๋ฆฟ์ ๋์ ๊ณผ์ ์ด๋ค.
ํด๋ผ์ด์ธํธ๊ฐ ์์ฒญํ๋ฉด web server๋ WAS์ ์์ํ๋ค. WAS๋ ๊ฐ ์์ฒญ์ ํด๋นํ๋ ์๋ธ๋ฆฟ์ ์คํํ ๋ค์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ์ฌ ํด๋ผ์ด์ธํธ์๊ฒ ์ ์กํ๋ค.
ํน์ง
-
์๋ฒ ์ชฝ์์ ์คํ๋๋ฉด์ ๊ธฐ๋ฅ ์ํ
-
์ ์ ์น ๋ฌธ์ ๋ฅผ ๋ณด์ํ์ฌ ๋์ ๊ธฐ๋ฅ ์ ๊ณต
-
์ฐ๋ ๋ ๋ฐฉ์์ผ๋ก ์คํ
-
์ปจํ ์ด๋์์ ์คํ
Servlet API ๊ณ์ธต ๊ตฌ์กฐ
๋ ์ธํฐํ์ด์ค Servlet, ServletConfig๋ฅผ ์ถ์ํด๋์ค GenericServlet๊ฐ ๊ตฌํํ๋ค. ๊ทธ๋ฆฌ๊ณ GenericServlet์ ์์ํ๋ HttpServlet์ด ์๋ค.
-
Servlet, ServletConfig
Servlet๊ด๋ จ ์ถ์ ๋ฉ์๋๊ฐ ์ ์ธ ๋์ด ์๋ค. -
GenericServlet ํด๋์ค
์์ ๋ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ์ฌ ์ผ๋ฐ์ ์ธ ์๋ธ๋ฆฟ ๊ธฐ๋ฅ์ ๊ตฌํํ ํด๋์ค.
์ด ํด๋์ค๋ฅผ ๊ตฌํํ๋ค๋ฉด ํ๋กํ ์ฝ์ ๋ฐ๋ผ service() ์ค๋ฒ๋ผ์ด๋ฉ ํ์ -
HttpServlet ํด๋์ค
HTTPํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ ์น๋ธ๋ผ์ฐ์ ์์ ์๋ธ๋ฆฟ ๊ธฐ๋ฅ ์ํ
์น ๋ธ๋ผ์ฐ์ ๊ธฐ๋ฐ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ์๋ธ๋ฆฟ ๋ง๋ค ๋ ์์ ๋ฐ์ ์ฌ์ฉ
์์ฒญ ์ service()๊ฐ ํธ์ถ๋๋ฉด์ ๋ฐฉ์์ ๋ฐ๋ผ doGet() ํน์ doPost()๊ฐ ์ฐจ๋ก๋ก ํธ์ถ ๋จ
HttpServlet์ ๋ฉ์๋
//์ญ์ ์์ฒญ ์ํ
protected doDelete(HttpServletRequest req, HttpServletResponse resp);
//GET ์์ฒญ ์ํ
protected doGet(HttpServletRequest req, HttpServletResponse resp);
//HEAD ์์ฒญ ์ํ
protected doHead(HttpServletRequest req, HttpServletResponse resp);
//POST ์์ฒญ ์ํ
protected doPost(HttpServletRequest req, HttpServletResponse resp);
//ํ์ค HTTP request๋ฅผ public service()์์ ์ ๋ฌ ๋ฐ์ doXXX()ํธ์ถ
protected service(HttpServletRequest req, HttpServletResponse resp);
//ํด๋ผ์ด์ธํธ์ request๋ฅผ protected service()์๊ฒ ์ ๋ฌ
public service (HttpServletRequest req, HttpServletResponse resp)
๊ณผ์ ์ public service() -> protected service() -> doXXX()
์๋ธ๋ฆฟ ์๋ช ์ฃผ๊ธฐServlet Lifecycle
์๋ธ๋ฆฟ๋ ๋ง์ฐฌ๊ฐ์ง๋ก ์ด๊ธฐํ๋ฅผ ๊ฑฐ์ณ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ธ์คํด์ค์ ์ฌ๋ผ๊ฐ๊ณ , ์์
์ ๋ง์น๋ฉด ์๋ฉธํ๋ค.
์ด ๋จ๊ณ๋ฅผ ๊ฑฐ์น ๋๋ง๋ค ์๋ธ๋ฆฟ ํด๋์ค์ ๋ฉ์๋๊ฐ ํธ์ถ๋์ด ์ด๊ธฐํ, DB์ฐ๋, ๋ง๋ฌด๋ฆฌ ์์
์ ์ํํ๋ค. ๊ฐ ๊ณผ์ ์์ ํธ์ถ๋์ด ๊ธฐ๋ฅ์ ์ํํ๋ ๋ฉ์๋๋ค์ด ์๋ธ๋ฆฟ ์๋ช
์ฃผ๊ธฐ ๋ฉ์๋๋ค.
๋งํ์๋ฉด ์คํ ๋จ๊ณ๋ง๋ค ํธ์ถ๋๋ (์ฝ๋ฐฑ)๋ฉ์๋๋ฅผ ๋งํ๋ค.
์๋ช ์ฃผ๊ธฐ ๋จ๊ณ | ํธ์ถ ๋ฉ์๋ | ํน์ง |
---|---|---|
์ด๊ธฐํ | init() | - ์๋ธ๋ฆฟ ์์ฒญ ์ ๋งจ ์ฒ์ ํ ๋ฒ๋ง ํธ์ถ - ์๋ธ๋ฆฟ ์์ฑ ์ ์ด๊ธฐํ ์์ ์ํ |
์์ ์ํ | doGet() doPost() |
- ์๋ธ๋ฆฟ ์์ฒญ ์ ๋งค๋ฒ ํธ์ถ - ์ค์ ๋ก ํด๋ผ์ด์ธํธ๊ฐ ์์ฒญํ๋ ์์ ์ํ |
์ข ๋ฃ | destroy() | - ์๋ธ๋ฆฟ์ด ๊ธฐ๋ฅ์ ์ํํ๊ณ ๋ฉ๋ชจ๋ฆฌ์์ ์๋ฉธ๋ ๋ ํธ์ถ - ์๋ธ๋ฆฟ์ ๋ง๋ฌด๋ฆฌ ์์ ์ํ |
์ํฉ์ ๋ฐ๋ผ destroy()๋ ์๋ตํ ์ ์์ง๋ง, doGet()์ด๋ doPost()๋ ํต์ฌ๊ธฐ๋ฅ์ ์ฒ๋ฆฌํ๋ฏ๋ก ๋ฐ๋์ ๊ตฌํํด์ผ ํ๋ค.
ํ ์คํธ
package com.controller;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/first")
public class FirstServlet extends HttpServlet {
@Override
public void init() throws ServletException {
System.out.println("init.......");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("doGet().............");
}
}
/*
doGet() 4ํ ํธ์ถ
init.......
doGet().............
doGet().............
doGet().............
doGet().............
์ฌ๋ฌ ๋ฒ ํธ์ถํด๋ init()์ ํ ๋ฒ๋ง ์คํ๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
*/
'Servlet-JSP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Connection Pool (0) | 2020.09.10 |
---|---|
ํฌ์๋ (0) | 2020.09.10 |
JDBC (0) | 2020.09.10 |
GET & POST (0) | 2020.09.10 |
Request - Response (0) | 2020.09.10 |