** ๐Servlet ๊ธฐ์ด ์์ ์ ๋ฆฌ**
JSP์ ํจ๊ป ์น์ฌ์ดํธ๋ฅผ ๊ตฌ์ฑํ๋ ํต์ฌ ๋ก์ง ์ฒ๋ฆฌ์
doGet
, doPost
, URL ๋งคํ
, ์ค์ ์์ ์ ๊ธฐ์ ๋ฉด์ ๊น์ง ์ปค๋ฒ!
๐งฉ ๋ชฉ์ฐจ
- Servlet์ด๋ ๋ฌด์์ธ๊ฐ?
- JSP์ Servlet์ ์ฐจ์ด
- Servlet์ ๊ธฐ๋ณธ ๊ตฌ์กฐ
doGet()
vs doPost()
์ฐจ์ด
- Servlet URL ๋งคํ ๋ฐฉ๋ฒ
- ์ค์ ์์ (ํผ ์
๋ ฅ โ Servlet ์ฒ๋ฆฌ)
- ๊ธฐ์ ๋ฉด์ ๋๋น ์์ฝ
- ๋ง๋ฌด๋ฆฌ ์ ๋ฆฌ + Notion ์์ฑ ํ
โ
1. Servlet์ด๋?
ํญ๋ชฉ |
์ค๋ช
|
์ ์ |
Java ์ฝ๋๋ก ์์ฑ๋ ์น ์์ฒญ ์ฒ๋ฆฌ ์ ๋ด ํด๋์ค |
์ญํ |
์ฌ์ฉ์์ ์์ฒญ(Request)์ ๋ฐ์ โ ์ฒ๋ฆฌ โ ์๋ต(Response) ๋ฐํ |
์ฌ์ฉ ์์น |
JSP์ ํจ๊ป ์ฌ์ฉ (JSP๋ View, Servlet์ Controller) |
โ
2. JSP vs Servlet ์ฐจ์ด์
ํญ๋ชฉ |
JSP |
Servlet |
์์น |
View (์ถ๋ ฅ์ฉ) |
Controller (์ฒ๋ฆฌ์ฉ) |
์ฝ๋ |
HTML ์์ Java ์ฝ์
|
Java ์์ HTML ์์ฑ |
์ฌ์ฉ ๋ชฉ์ |
ํ๋ฉด ๊ตฌ์ฑ, ์ถ๋ ฅ ๋ด๋น |
์
๋ ฅ๊ฐ ์ฒ๋ฆฌ, ๋น์ฆ๋์ค ๋ก์ง |
โ
3. Servlet์ ๊ธฐ๋ณธ ๊ตฌ์กฐ
@WebServlet("/hello") // URL ๋งคํ
public class HelloServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("<h1>Hello Servlet!</h1>");
}
}
โ
4. doGet()
vs doPost()
์ฐจ์ด
ํญ๋ชฉ |
doGet() |
doPost() |
์ฌ์ฉ ์์ |
์ฃผ์ ์ง์ ์
๋ ฅ, ๋งํฌ ํด๋ฆญ |
Form ์ ์ก (method=โpostโ) |
๋ณด์์ฑ |
๋ฎ์ (URL์ ๋
ธ์ถ๋จ) |
๋์ (๋ณธ๋ฌธ์ ์จ๊ฒจ์ง) |
์ฉ๋ |
์กฐํ, ๊ฒ์ |
๋ก๊ทธ์ธ, ํ์๊ฐ์
, ๋ฏผ๊ฐ ๋ฐ์ดํฐ |
๐ง Servlet์ get ์์ฒญ โ doGet(), post ์์ฒญ โ doPost() ์๋ ํธ์ถ๋จ
โ
5. URL ๋งคํ ๋ฐฉ๋ฒ (์ด๋
ธํ
์ด์
๊ธฐ๋ฐ)
@WebServlet("/save") // ์ฌ์ฉ์๊ฐ /save ๋ก ์ ๊ทผ ์ ์คํ๋จ
public class SaveServlet extends HttpServlet { ... }
๐งฉ ๋ค์ํ ๋งคํ ์์
๋งคํ ์ฃผ์ |
์๋ฏธ |
/hello |
/hello ๋ก ์์ฒญ ์ ์คํ |
/user/login |
๊ณ์ธตํ URL๋ ์ฌ์ฉ ๊ฐ๋ฅ |
/board/write.do |
ํ์ฅ์ ํฌํจ ๋งคํ๋ ๊ฐ๋ฅ |
โ
6. ์ค์ ์์ ํ๋ฆ ๐ฏ
<form action="save" method="post">
์ด๋ฆ: <input type="text" name="name" /><br />
<input type="submit" value="์ ์ก" />
</form>
๐ SaveServlet.java (ํผ ์ฒ๋ฆฌ Servlet)
@WebServlet("/save")
public class SaveServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
String name = request.getParameter("name");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("<h2>์
๋ ฅํ ์ด๋ฆ: " + name + "</h2>");
}
}
โ
์คํ ํ๋ฆ
- ์ฌ์ฉ์๊ฐ
form.jsp
์์ ์ด๋ฆ ์
๋ ฅ ํ ์ ์ก
/save
์ฃผ์๋ก ์์ฒญ โ SaveServlet
์ doPost()
์คํ
- ์
๋ ฅ๊ฐ ์ฒ๋ฆฌ ํ ๊ฒฐ๊ณผ HTML ์ถ๋ ฅ
โ
7. ๊ธฐ์ ๋ฉด์ ๋๋น ํต์ฌ ์์ฝ
์ง๋ฌธ |
์์ ์์ฝ |
Servlet์ด๋? |
์น ์์ฒญ์ ์ฒ๋ฆฌํ๋ Java ํด๋์ค (Controller ์ญํ ) |
JSP์์ ์ฐจ์ด๋? |
JSP๋ ์ถ๋ ฅ, Servlet์ ๋ก์ง ์ฒ๋ฆฌ |
doGet vs doPost ์ฐจ์ด๋? |
doGet์ URL ๋
ธ์ถ, doPost๋ ๋ณด์์ฑ ๋์ |
URL ๋งคํ์ ์ด๋ป๊ฒ ํ๋์? |
@WebServlet("/์ฃผ์") ์ด๋
ธํ
์ด์
์ฌ์ฉ |
โ
8. ๋ง๋ฌด๋ฆฌ ์์ฝ ๐ง
- โ Servlet = Java ์น ์์ฒญ ์ฒ๋ฆฌ ํด๋์ค
- ๐ GET โ
doGet()
, POST โ doPost()
์๋ ํธ์ถ
- ๐ URL ๋งคํ์
@WebServlet("/๊ฒฝ๋ก")
- โ
JSP์ ํจ๊ป MVC ๊ตฌ์กฐ๋ก ์ฌ์ฉํ๋ฉด ์ ์ง๋ณด์ ๐