Skip to content

Latest commit

ย 

History

History
48 lines (42 loc) ยท 2.05 KB

File metadata and controls

48 lines (42 loc) ยท 2.05 KB

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

์„ค๋ช…

  • Java ์–ธ์–ด๋ฅผ ์ด์šฉํ•ด ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ํ‘œ์ค€ ๊ธฐ์ˆ 
  • ์›น ์„œ๋ฒ„์—์„œ HTTP ์š”์ฒญ์„ ๋ฐ›์•„๋“ค์ด๊ณ  ์ฒ˜๋ฆฌํ•œ ํ›„, HTTP ์‘๋‹ต์„ ์ƒ์„ฑํ•ด ํด๋ผ์ด์–ธํŠธ๋กœ ์ „์†กํ•œ๋‹ค.
  • javax.servlet.Servlet ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉฐ, ๋ณดํ†ต HttpServlet ํด๋ž˜์Šค๋ฅผ ์ƒ์†๋ฐ›์•„ ์‚ฌ์šฉํ•œ๋‹ค.
    • HttpServlet์€ HTTP ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด doGet(), doPost() ๋“ฑ์˜ ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.
  • ์„œ๋ธ”๋ฆฟ์„ ์‚ฌ์šฉํ•˜์—ฌ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ๋–„๋Š” ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
    • ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ๋Š” ์ƒ๋ช…์ฃผ๊ธฐ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ , HTTP ์š”์ฒญ์„ ๋ฐ›์•„ ์„œ๋ธ”๋ฆฟ์—๊ฒŒ ์ „๋‹ฌํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.
    • ๋Œ€ํ‘œ์ ์ธ ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ : Apache Tomcat, Jetty

์ฃผ์š” ๊ธฐ๋Šฅ

  • HTTP ์š”์ฒญ ์ฒ˜๋ฆฌ
  • ๋™์ ์ธ ์ฝ˜ํ…์ธ  ์ƒ์„ฑ
  • HTTP ์‘๋‹ต ์ƒ์„ฑ

์ƒ๋ช…์ฃผ๊ธฐ

  1. ์„œ๋ธ”๋ฆฟ ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ
  2. ์ดˆ๊ธฐํ™” (init())
  3. ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ ์ฒ˜๋ฆฌ (doGet(), doPost(), ...)
  4. ์†Œ๋ฉธ (destroy())

์‚ฌ์šฉ ์˜ˆ์ œ

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class MyServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
    
    public MyServlet() {
        super();
    }
    
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String name = request.getParameter("name");
        response.setContentType("text/html");
        response.getWriter().append("Hello, " + name + "!");
    }
    
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }
}
  • HttpServlet์„ ์ƒ์†ํ•˜์—ฌ doGet() ๋ฉ”์„œ๋“œ๋ฅผ ์˜ค๋ฒ„๋ผ์ด๋“œํ•ด HTTP GET ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•œ๋‹ค.
  • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ „์†กํ•œ ์ด๋ฆ„ ๋ฐ์ดํ„ฐ๋Š” request.getParameter("name") ์œผ๋กœ ๋ฐ›์•„ ์ฒ˜๋ฆฌํ•œ๋‹ค.